Hi All,
I have been trying to rig up a 2 microprocessor rover robot. A Teensy 4.0,( or another ESP32) would handle motor control (the engine room). An ESP32 WROOM would handle sensors,navigation,and wifi.
One reason I am going to a 2 mcu system is to cut down on the jumper wire rat's nest on each level of the rover.I want to stay on a 3.3 volt system to avoid the hassle of different batteries and level shifters. I need the power of the Teensy/ESP32 setup because I will have to be doing autonomous slam eventually.
Sooo, I can use 2 ESP32s and talk to each other via UDP/MQTT/WebSockets, but I cannot do that with a Teensy (no wifi).
I do not want to use Bluetooth/BLE/ESPNow because I need to wifi (a verb) out to other computers for monitoring and development.
HOWEVER.... From what I am able to understand, neither the Teensy nor the ESP32 can be a 'slave' in an I2C setup.
Any ideas ?
Best regards,
Phil
Have you looked into SPI? I am working on a multi-processor robot, utilizing a Raspberry Pi and three Arduino Nanos. I just got SPI comms running last week and it seems fine. The Nano is running as slave.
--
Dale
Thank you for your response.
It seems I erred a bit. There does not seem to be ESP32 slave code in the Arduino IDE. I guess I will have to man up and take a look at the Espressif IDF.
Hmmm.
I found some SPI libraries on my Arduino IDE. Go into your Library Manager and search for ESP32DMASPI and for TsyDMASPI.
Now I may see them because I've added them some time in the past. If you can't find them try adding a URL to the Arduino IDE preferences (File -> Preferences). There is a section, near the bottom of the Preferences window marked as "Additional Boards Manager URLs. Just add a new line as below). You may need to re-load the IDE for it to acknowledge the new boards.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
--
Dale