Esp32 DevKit v1 by Espressif
The DOIT Esp32 DevKit v1 is a very affordable WiFi module with plenty of IO, including three hardware UARTs. Adding the firmware below, the WiFi module will become an EZB that ARC can connect. This firmware works with ARC versions greater or equal to 2019.06.25.00.
*Note: For servo use with EZ-Cam, only pins 2,4,12-19,21-23,25-27,32-33 are recommended.
Firmware & Instructions
- In the Arduino IDE, add this link to File->Preferences->Libraries: https://dl.espressif.com/dl/package_esp32_index.json
- In the Arduino IDE, load the Board Manager, search for "ESP32 by Espressif Systems" and select INSTALL.
- Download the firmware from this page to your computer and extract it into a folder.
- Edit the source code firmware in the Arduino IDE and view the WiFi mode settings. You can choose between AP or Client mode. The appropriate settings for each method may be configured as well. Follow the instructions in the firmware code for configuring the WiFi modes.
- Program the device using Arduino's IDE and the firmware code. If you receive errors in the debug window of the Arduino IDE when programming, hold the BOOT button down on the ESP32 until you see WRITING in the Arduino debug window.
- View the status of the connection in the Arduino Serial Monitor set to 115,200 baud. Depending on your WiFi settings, you will see the WiFi connection status.
- Load ARC and connect to the ESP32 directly via WiFi if it is in AP Mode; otherwise, connect to the same network as Client Mode. The default IP Address for AP Mode will be 192.168.1.1. In Client mode, you must view the Serial Debug Monitor in Arduino IDE or check your router DHCP client list.
Two WiFi modes can be configured in the code. They are AP Mode, which turns the ESP32 into a WiFi server your computer connects directly to. The other mode is Client Mode, in which the ESP32 connects to your network router. Get the IP Address and connection status information by viewing the Serial Monitor set to 115,200 in Arduino IDE.
The pins in ARC are labeled D0 - D23. The ESP32 has GPIO labeled pins, which are not in any ordered sequence. This translation chart below shows the mapping of the ESP GPIO to ARC Dx pins. The ports labeled TX/RX are the hardware UART ports, which correspond to hardware UART #0 in ARC.