cesanta/mongoose-os
FreeMongoose 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.
About cesanta/mongoose-os
Mongoose OS is an open-source IoT firmware development framework designed for embedded systems. It supports microcontrollers such as ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, and STM32F7. The framework provides over-the-air firmware updates with rollback on failure, built-in security features including flash encryption and crypto chip support, and integrates with major cloud platforms like Amazon AWS IoT, Google IoT Core, Microsoft Azure, Adafruit IO, and generic MQTT servers. Developers can write code in C or JavaScript using the embedded mJS engine. Mongoose OS is dual-licensed under Apache 2.0 (Community Edition) and a commercial license (Enterprise Edition), offering both community support via forums and chat and commercial support from the development team. It is trusted by partners including Amazon, Google, IBM, Microsoft, Texas Instruments, STMicroelectronics, and Espressif Systems.
Key Features
Pros & Cons
- Open source with dual license options for commercial use
- Highly secure with flash encryption and optimized mbedTLS
- Supports multiple popular microcontrollers and cloud platforms
- Allows programming in both C and JavaScript (via mJS engine)
- Reliable OTA updates with rollback mechanism
- Backed by major industry partners like AWS, Google, Microsoft
- Limited to specific MCU families (ESP32, ESP8266, CC32xx, STM32F4/L4/F7)
- Community Edition has limited source code functionality compared to Enterprise Edition
- Requires signing a CLA to contribute to the project
- Learning curve for those unfamiliar with embedded firmware or mJS