Mongoose OS

An Operating System for commercial connected products

Security. OTA Updates. Remote Management.


Over-The-Air updates and remote management OTA firmware updates with rollback on failures.
RPC infrastructure for the full remote control
Security Built in: flash encryption, crypto chip support ARM mbedTLS optimized for small memory footprint
Device management dashboard service A device management dashboard for tracking your device fleet. In-prem option is available.
Supported hardware architectures Microcontrollers: CC3220, CC3200, ESP32, ESP8266, STM32F4
Recommended dev kits: ESP32-DevKitC for AWS IoT
IoT cloud integration Built in support for: AWS IoT, Google IoT Core, Microsoft Azure, Samsung Artik, Adafruit IO, Generic MQTT/Restful
Turn key solutions Ready to go enterprise solutions, apps and libraries
Professional service: firmware customisation and support
Prototyping and scripting engine Prototyping: mJS JavaScript engine
Production: C/C++
Pricing GPLv2 license (requires to open end product’s source code): Free
Commercial License (removes GPLv2 restrictions): Contact Us

Mongoose OS vs native SDK - what's the difference?

Building firmware is like building a house. You can buy bricks, concrete, wood, gravel, then build a house yourself. Using native SDK is just like that - fully custom-built, but time-consuming and expensive. Alternatively, you can buy an already built house and make minor adjustments. This is way faster and less expensive. That's Mongoose OS. See feature list to get an idea what Mongoose OS provides above native SDK.


Mongoose OS vs Arduino - what's the difference?

Arduino framework is built for makers to provide the simplest way to build hardware projects. Its architecture was not designed for commercial products. Generally, firmware built on Arduino framework is not reliable to run in production environment.

Mongoose OS is designed for commercial products where reliability is critical.

That said, Arduino has a vast number of drivers developed by the community, so Mongoose OS implemented an Arduino compatibility layer that allows using existing Arduino drivers for prototyping.

Is it C/C++ or JavaScript?

It is both. C/C++ is for production, JavaScript is for fast prototyping on the target hardware. JS API calls C API, therefore it is easy to move prototype to production. The JavaScript on Mongoose OS is a stripped-down JavaScript, designed for minimal footprint - see mJS project page.

Any paying customers?

Yes. We are proud to have an active open source community, as well as paying customers. We have dozens for Mongoose OS, and hundreds for Mongoose Networking Library, ranging from freelancers to big names like NASA, Google, Intel, Samsung - see About Us page.
Also see Mongoose OS Case Studies.