cesanta/mongoose-os logo

cesanta/mongoose-os

Free

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.

FreeFree tier
Type
Open Source
Company
Cesanta

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

Over-the-air firmware updates with rollback on failure
Remote device management dashboard
Built-in flash encryption and crypto chip support
ARM mbedTLS optimized for small memory footprint
Supports ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7 microcontrollers
Built-in integration for AWS IoT, Google IoT Core, Microsoft Azure, Adafruit IO, generic MQTT
Code in C or JavaScript with embedded mJS engine
Dual-licensed: Community (Apache 2.0) and Enterprise (Commercial)
Commercial support and licensing available

Pros & Cons

Pros
  • 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
Cons
  • 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

Best For

Developing IoT firmware for connected devicesBuilding cloud-connected embedded systems with OTA capabilityPrototyping and production IoT products with ESP32 or STM32Creating secure IoT devices with encryption and certificate supportRapid application development using JavaScript on microcontrollers

FAQ

What is Mongoose OS?
Mongoose OS is an open-source IoT firmware development framework that supports OTA updates, security, and cloud integration for microcontrollers like ESP32, STM32, and CC32xx.
Which microcontrollers are supported?
Supported microcontrollers include ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, and STM32F7.
What cloud platforms are integrated?
Mongoose OS has built-in integration for Amazon AWS IoT, Google IoT Core, Microsoft Azure, Adafruit IO, and generic MQTT servers.
Is Mongoose OS free?
Yes, the Community Edition is free and licensed under Apache 2.0. An Enterprise Edition with full source code and commercial support is available for a fee.
What programming languages can I use?
You can write firmware in C or JavaScript using the embedded mJS JavaScript engine.