Guide · Updated 1 Nov 2026

MicroPython OTA updates on ESP32: your options

Open-source libraries and managed services for over-the-air updates, each described from its own pages, linked and dated, and where otalite (coming soon) fits.
The basics

Two kinds of OTA update.

An OTA update on an ESP32 running MicroPython replaces either your Python files or the MicroPython firmware itself. The choice decides how big each download is, and how the device recovers when an update goes wrong.

App files

Your .py or .mpy files, typically tens of kilobytes: small, quick to install, and the everyday update.

Firmware image

The whole MicroPython build, a megabyte or more, written to the spare OTA partition, with a way back if it never confirms.
Either way, three questions decide how safe and how cheap updates are: is each update signed and checked on the device; can a bad update roll itself back; and on a battery device, when does it look for updates without waking the radio more than it has to?
Do it yourself

Open-source MicroPython libraries.

The right choice for one or two boards you look after yourself: free, in your own code, and yours to run.

micropython-ota-updater

Updates your code on the device from GitHub releases (app files).
Runtime
MicroPython; its README says it can't run on ESP8266
Signing
Not mentioned on their page
Rollback
Not mentioned on their page
Activity
Last push 9 Mar 2022

micropython-esp32-ota

Updates the MicroPython firmware image itself, in the ESP32's OTA partitions.
Integrity
SHA-256 check of the written data
Rollback
A rollback module
Licence
MIT
Activity
Last push 3 Apr 2025
Managed services and tools

Services that update ESP32s.

Hosted services and tools for OTA updates, each in its own words. None of the managed services we checked mentions MicroPython on its pages.

SimpleOTA

Managed ESP32 fleet OTA, from the Espressif component registry.
Runtimes
ESP-IDF 5.1+ and an Arduino library
Chips
ESP32, S2, S3, C3, C6 and H2
Updates
Ed25519 verified during download, canary rollouts, automatic rollback
MicroPython
Not mentioned on their page
Source checked 1 Nov 2026

ESP RainMaker

Espressif's cloud with an ESP-IDF device agent, and OTA jobs.
OTA jobs
Force Push or User Approval, validity windows, job priority
Built on
ESP-IDF
MicroPython
Not mentioned on their page

ElegantOTA

OTA updates for the Arduino core; Pro adds devices that fetch their own firmware.
Runtime
Arduino core only (Arduino IDE or PlatformIO)
Integrity
Verifies MD5; Pro channels can pin a root CA
Price
Pro: $49 one-time on sale (from $249), unlimited devices
MicroPython
Not mentioned on their page
Source checked 1 Nov 2026

Arduino Cloud

Arduino's IoT cloud, with OTA updates.
Boards
ESP32 and ESP8266 boards from any manufacturer, per its FAQ
Plan
OTA needs the Entry plan or above
MicroPython
Not mentioned on their page
Source checked 1 Nov 2026

Memfault (now part of Nordic / nRF Cloud)

Observability and OTA for MCU (RTOS and bare-metal), Linux and Android devices.
OTA
Cohorts, staged rollouts, delta updates, AI-enhanced release reports
Price
Developer free for 10 devices; Growth $3,495/month; Scale $6,695/month
MicroPython
Not mentioned on their page
Source checked 1 Nov 2026

Golioth

IoT infrastructure: connect, manage and update custom hardware.
Docs list
Zephyr, nRF Connect SDK, ESP-IDF and ModusToolbox
Price
$0.25 per active device per month; OTA bandwidth $0.0095/MB
MicroPython
Not mentioned on their page
Source checked 1 Nov 2026
Other platforms

Cloud and Linux platforms.

For other chips, operating systems or clouds; listed for completeness.
AWS IoT / FreeRTOS OTA
Update jobs for FreeRTOS over-the-air updates, with code signing.
Source ›
Azure Device Update
Over-the-air updates for IoT devices; MCU support through Eclipse ThreadX.
Source ›
Mender
OTA updates for embedded Linux, and RTOS devices.
Source ›
balena
Fleets of Linux devices, updated with containers.
Source ›
Sources checked 1 Nov 2026.
otalite

Where otalite fits.

Of the 17 OTA products whose pages we checked, none of the managed services mentions MicroPython, and battery or low power comes up on only 2. That is the gap otalite is being built for: MicroPython OTA for battery-powered ESP32. It isn't available yet.
MicroPython on the ESP32 family, with a native client installed with mip
In development
Ed25519-signed releases, verified on the device, with rollback
In development
Staged rollouts with an automatic pause
In development
Battery-aware update windows and install conditions
In development
Battery-life targets checked before rollout
Planned
Crash reports from MicroPython devices
Planned
Names are trademarks of their owners; otalite isn't affiliated with them.