Developed by Espressif the ESP32 brings a new standard in low-cost WiFi boards. After porting one project to this new board I must say that it’s very similar to the ESP8266 and most code except some updated libraries, should work with minimal effort.
“ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs a TensilicaXtensa LX6 microprocessor in both dual-core and single-core variations and includes in-built antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules.” – Wikipedia description
What is still pending on my side is to compare power consumption and other details as WiFI range (With and without antenna) between ESP8266 and this new ESP32. But overall I’m really excited to build things on the top of this.
Combined with @tablatronix amazing WiFi Manager library it gives creators the possibility to have an independant IoT device with custom configuration, autoconnect and full info of the device.
It’s still pretty much on development so they are many things that are normally worst at the beginning (SPI Flash File System for example, a hell lot slower and at the moment only usable for small configuration files for me) But that’s normal, things are going to be fixed over the time, and hell it’s open source so let’s give these guys a hand and report new findings so they can fix it as soon as possible.
Yesterday I found the time to refactor my digital Camera project to use ESP32 (Makerfocus Heltec board). If you are interested in seeing the code updates please my commits in the board/esp32-oled branch.
So far still on my tests I won’t expand myself too long on this one. Giving some pointers and links for further research below.
SPIFFS (ESP8266 code should be refactored to reflect library update)
The ESP32 directory when installed using Arduino in Ubuntu is:
/home/martin/.arduino15/packages/esp32 -> I find weird that Arduino keeps libraries in 3 different Folders making it very confusing to see library source code.