Mongoose OS


An open source Operating System for the Internet of Things

Supported microcontrollers: ESP32, ESP8266, STM32, TI CC3200

Amazon AWS IoT and Google IoT integrated. Code in C or JavaScript



Better. Cheaper. Faster.

Cloud Integration Cloud Provider SDK
requires integration with the rest of the firmware
Built in support for: AWS IoT, Google IoT Core, Microsoft Azure, Samsung Artik, Adafruit IO, Generic MQTT/Restful
Security Native SDK
frequently compromised for the speed of implementation. Sometimes neglected
Built in: flash encryption, crypto chip support, ARM mbedTLS optimized for small memory footprint
Applications and Libraries Arduino
designed mostly for prototyping/DIY
Ready to go apps and libraries by Mongoose OS Developers & Community
Unified cross-platform API ARM mbed
works only on ARM-based platforms
Same look & feel on all supported hardware architectures (ARM, Tensilica)
Remote device management & Over-the-Air updates Particle
requires vendor hardware
Full remote control capabilities: VFS, OTA, hardware, etc - on all supported platforms
Prototyping and Scripting Engine No
Native SDK does not provide mechanisms for fast prototyping and scripting
mJS - JavaScript engine for prototyping and C/C++ for production
Customisation No
Full Product development & support entirely on your side
Mongoose OS team can provide firmware customisation and support
Pricing Varies, depends on many factors
Requires ongoing investments, hiring developers or integrators
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.