The ESP8266 and ESP32 microcontrollers offer built-in Wi-Fi and Bluetooth connectivity at lower cost than Arduino, making them ideal for IoT applications. While they provide superior performance and features, they consume more power, operate at 3.3V logic levels requiring level shifters, and have a steeper learning curve than Arduino.
Espressif's new ESP32-S31 microcontroller features a real MMU with RISC-V paging support, gigabit Ethernet, USB 2.0, SD card slots, and camera interface, making it capable of running Linux natively. With dual 32-bit RISC-V cores at 320 MHz, up to 64MB PSRAM, and 256MB flash, it blurs the line between microcontroller and single-board computer. Espressif has already published a Linux BSP, and the community has successfully ported Linux 6.18 with working drivers.
This article describes testing Over-The-Air (OTA) updates on an ESP32-C6 microcontroller by intentionally interrupting the update process through software reset, hardware reset, and power loss. The tests verify that the device can survive interruptions, recover automatically, and complete the update without becoming bricked, ensuring OTA reliability through mechanisms that prevent applying new firmware until it's fully verified.