The ESP32 is a dual core 32 bit microcontroller featuring WiFi and Bluetooth, and is able to be programmed with the Arduino IDE through an ESP32 add on. Note that not all libraries or functions that work with the ESP8266 or Arduino are yet functional on this new board.
It utilises the Xtensa® dual-core 32-bit LX6 microprocessor running at 240MHz, which is a step up from the ESP8266, while having similar power consumption.
The ESP32 ESP32 can also interface with other systems to provide Wi-Fi and Bluetooth functionality through its SPI / SDIO or I2C / UART interfaces. The ESP32 module comes preloaded with a ROM image of the AT command set, just like the ESP8266 did. If you want to waste 95% of this chip’s potential by using it as a glorified serial-to-WiFi modem, you are good to go!
If you are interested in IoT, I have released a number of new tutorials on using and programming the ESP-32, over on our sister site Reefwing Robotics.
The ESP32 makes for a great low power IoT sensor hub and is a more capable alternative to the Arduino. The caveat is that there is a bit more mucking around to get it to work. There is also some complexity in getting a dual-core micro controller to play along with a real-time operating system.
In addition to programming the ESP-32 in C, you can also use MicroPython. MicroPython is a complete development environment that runs on the ESP32 processor.
The tutorials available include: