Introduction
Mongoose is a full-stack embedded networking library for C/C++: a TCP/IP stack
with drivers, TLS 1.3, an embedded web server (HTTP, WebSocket), MQTT and
firmware OTA updates in two files, mongoose.c and mongoose.h. Mongoose runs on
STM32, NXP and other microcontrollers, on bare metal or with an RTOS, with no
external dependencies. Use it for cloud connectivity, device web dashboards,
secure firmware updates and remote control.
Mongoose has an event-driven, non-blocking architecture that works well on resource-constrained systems. Other targets include RP2350, ESP32, and other Cortex-M and RISC-V microcontrollers. During development, the same code runs on Windows, Linux, and macOS.
You can integrate Mongoose with existing networking stacks such as lwIP, Zephyr, or NetX. Alternatively, use the built-in TCP/IP and TLS stacks and run networking without any external dependencies.
Mongoose is open source and hosted on GitHub, with more than 13k stars - the most popular embedded web server library in its category. Since 2004 it has powered thousands of commercial and open-source products, and it even runs on the International Space Station. If it is good enough for NASA and thousands of companies building connected devices, it will work well for your project too.
Key features
- Embedded HTTP server for device web interfaces and REST APIs
- WebSocket support for real-time dashboards and telemetry streaming
- MQTT client and server for cloud connectivity
- Built-in TLS / HTTPS stack - or integrate with
- Built-in TCP/IP stack - or integrate with lwIP, Zephyr, or NetX
- Runs on any RTOS or directly on bare metal
- Compact two-file C/C++ library - mongoose.c and mongoose.h
- Built-in OTA firmware update support
- Cross-platform - works on Windows, Linux, macOS, and microcontrollers
- Web UI Builder for quickly building device dashboards
- Security-focused design and support for EU CRA compliance
- Commercial support available directly from the authors
See full list of features at Mongoose Features.
Create your first device dashboard
To get started quickly, try Web UI Wizard - a visual Web UI builder that generates a complete device dashboard and networking code without requiring frontend expertise.
Continue with the next section to set up the build environment and run your first web server.