XC3800 ESP32 Main Board with WiFi and Bluetooth
The ESP32 is a powerful dual core microcontroller featuring WiFi and Bluetooth, and thanks to the efforts of the Arduino community, is able to be programmed with the Arduino IDE through the ESP32 addon. It has 512kB of RAM, 4MB of flash memory and heaps of IO pins with features like 12bit ADC, 8-bit DAC, I2S, I2C, touch sensor and SPI. This is the next step up if a standard AVR based Arduino isn’t powerful enough to do what you need. Bluetooth support is still in development, so there aren’t many Bluetooth features available beyond creating beacons.
Arduino
Installing support for the ESP32 IC is not yet available through the Boards Manager, so the instructions on the github page should be used: https://github.com/espressif/arduino-esp32/blob/master/README.md#installation-instructions
The process involves a large download and multiple steps to complete, so it is recommended to read through the instructions before use.
Once installed, you may also need to install the drivers for the USB-serial converter on the board. This is a CP2102 IC, and the drivers are found on the CP2102 IC manufacturer’s website: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
Support for the ESP32 for Arduino is under constant development, but once everything is installed, the sketch writing and upload process is similar to other boards. Select ESP32 Dev Module as the board type, and ensure the correct serial port is selected.
If you are having trouble uploading, try holding the ‘BOOT’ button while pressing and releasing the ‘RST’ button. This should put the board into bootloader mode to allow uploads.
There are a good number of examples sketches (including many WiFi applications), but a good test to see that the whole setup process has been properly is to simply upload the ‘Blink’ sketch.
MicroPython
MicroPython is a complete development environment that actually runs on the ESP32 processor. The install is done by flashing a firmware image to the board, and then accessing the serial terminal running at 115200 Baud to enter commands directly into the interpreter. The image can be downloaded from this page: https://micropython.org/download/#esp32
The esptool.py program will be installed if you have installed the Arduino addon (it’s what does the uploading under Arduino), otherwise, it can be installed from its github page at: https://github.com/espressif/esptool