// the find
cesanta/mongoose-os
Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.
Mongoose OS is a firmware framework for ESP32/ESP8266/STM32 that gives you OTA updates, cloud connectivity (AWS, Azure, GCP), and optionally JavaScript via its mJS engine. It targets teams who want a batteries-included starting point for production IoT devices rather than building HAL, OTA, and cloud auth from scratch.
OTA with automatic rollback is the real selling point — it's implemented per-platform and not an afterthought. The dual-licensing model (Apache 2.0 community, commercial enterprise) is honest and lets you evaluate freely before committing. The mJS JavaScript engine is a legitimate embedded JS runtime with a tiny footprint, useful for teams that want scripting without the weight of a full VM. Platform HAL abstraction is thorough — per-platform GPIO, UART, timer, and exception handling are all present and reasonably consistent.
ESP8266 support is essentially legacy at this point — the chip is EOL and the SDK it wraps (non-OS / RTOS) is frozen. The 'mos' CLI toolchain is a black box you have to trust; build reproducibility outside of it is painful. The community edition docs don't clearly list what's actually withheld in the enterprise edition, which makes the licensing table in the README feel like a soft upsell rather than useful information. No RP2040/RP2350 support despite those chips dominating new hobby and small-production designs — the 2026 last-push date and stagnant platform list suggest active development has shifted to the commercial Mongoose library instead.