blox w-102 is based on esp32** which (Esp32) can be used as a standalone chip for projects. Here I want to know how w-102 and samd21g18a are communicating with each other. If they are communicating then what is the need of doing so?
The Arduino boards with the NINA module: MKR 1010 WiFi, MKR 4000 vidor, Uno WiFi and Nano 33 IoT use the NINA module for WiFi networking with the WiFiNINA library and for BLE with the ArdunioBLE library. Additionally the flash memory of the NINA module will be available as storage.
The NINA module runs a firmware made by Arduino with ESP32 IDF framework.
I wired MKR ZERO with an ESP32 dev board for the WiFiNINA firmware and library according to MKR 1010 WiFi schematics, which is very similar to Nano 33 IoT. The MCUs are connected on SPI pins and UART for communication. The firmware uses one additional pin to signal to SPI master as 'ready' pin. Also io 0 and enable pin of NINA module are wired to put the ESP32 into flashing mode for firmware upgrade over UART.
On MKR 1010 and Nano33 IoT I2C is connected too. Boot MCU have access to on-board I2C sensors and could in theory communicate over I2C. This is currently not used.
The WiFiNINA library uses SPI communication. SAMD is master, NINA is slave.
The ArduinoBLE library communicates over UART. 'Ready' pin is used to switch to BLE mode in firmware at NINA reset.
The firmware uses io 0 as 'heartbeat' signal for the library.
- the orange wire from MKR pin 5 is connected as reset to EN (with a wire under the ESP32 board)
- io 0 of ESP32 is the yellow wire to MKR pin 4
- VSPI pins 5, 18, 19, 23 (I changed 12 to 19 in firmware). white wire on MKR pin 7 and ESP32 pin 19 is CS
- I used 22 as readyPin (originally 33). white wire on MKR pin 6
- I didn't wire I2C and Serial here