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, Generic MQTT/Restful service
Application and Libraries Arduino
designed mostly for prototyping/DIY
Ready to go applications 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 Micropython
Moving to production (C/C++) or factoring out critical pieces to C/C++ is not trivial
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
Commercial License: 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, the simplest way possible. Firmware logic has two functions, setup() and loop() and is synchronous by design. Mongoose OS is designed for complex products and is asynchronous by design. However, Arduino has a vast number of drivers developed by the community, so Mongoose OS implemented an Arduino compatibility layer that allows anyone to use Arduino drivers as-is.

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.