Embedded Web UI Framework for Production Device Dashboards

Mongoose is a two-file C networking library for microcontrollers that combines TCP/IP, HTTP, WebSocket, MQTT, TLS, OTA, and device-dashboard infrastructure. Build production-ready browser UIs without stitching TCP/IP stack, web servers, TLS, frontend code, and firmware glue together.
Mongoose diagram
Siemens logo
Bosch logo
Schneider Electric logo
Samsung logo
Broadcom logo
Pilz logo
Google logo
The Problem
Adding a web server from SDK examples is easy.
Building a production-ready device dashboard is not.
You need HTTP, WebSocket, TLS, OTA updates, file uploads, login, permissions, live data, charts, and device logic to work together without turning firmware into spaghetti.
And then you own it for years - including security scans and fixes.
Mongoose can get up to 100 security reports in a month because it is public and widely used. A private home-grown stack may have similar issues, but your team may never find them without continuous security work. With CRA, security is no longer optional.
The Solution
Stop stitching networking pieces together. Avoid months of integration risk.
Build on a proven, production-ready framework designed for embedded device dashboards.
With Mongoose, you get a security-tested, CRA-compliant solution backed by a team that works on security continuously.
Use Mongoose. Ship fast with confidence.

Supported Platforms

Mongoose is extremely cross-platform - it runs on STM32, ESP32, NXP, RP2040/RP2350, Renesas, Microchip, Embedded Linux, desktop Windows/Linux/MacOS, and many other architecture. See the supported hardware documentation page for an extensive list and feature support matrix.

Get running in minutes

Full Production Dashboard Example

Real-time metrics, live graphing, LED control, settings, file manager, and firmware OTA in one embedded web UI
Inspect the implementation: Source Code » | Integration Guide »
Run it locally: The integration guide above works for any MCU, RTOS, or bare metal target. Pre-built downloads below are provided for a few popular boards only.

A Minimal LED Control

A very simple minimal LED control dashboard. Ideal for learning the concepts and as a starting point to build something completely custom.
Inspect the implementation: Source Code » | Integration Guide »
Run it locally: The integration guide above works for any MCU, RTOS, or bare metal target. Pre-built downloads below are provided for a few popular boards only.

What Mongoose brings out of the box

Online status marker in a device dashboard
Online/offline status
Users can immediately tell whether they are seeing live device state or stale data.
Synchronized dashboard windows screenshot
Synchronised changes
Changes made in one browser window are reflected in the others.
Unsaved form edits in a device dashboard
Unsaved form edits
Edited settings are visibly different from values currently stored on the device.
Real-time dashboard updates and graph data
Real-time updates and graphs
Metrics, logs, and graph data can update without refreshing the page.
Firmware update dashboard screen
Built-in Firmware updates
Users can update firmware from the dashboard using upload or URL-based periodic pulls.
Conditional dashboard display states
Conditional displays
Important device states can change color, visibility, or available actions automatically.
TCP/IP stack integration dashboard code
Keep your TCP/IP stack, or replace it
Use your stack, like lwIP or Zephyr - or switch to Mongoose’s independent built-in stack.
Login and access level dashboard controls
Login and Access levels
Give administrators edit access while keeping other users read-only.
File uploads and device logs dashboard
File uploads and logs
Let users inspect device logs and upload or download files without separate tools.
Simple C dashboard API code
Simple C dashboard API
Build the device side with ordinary C code and a small API, no TCP/IP experience required.
Dashboard HTML connected to a tested device API
AI-assisted dashboard HTML
Build dashboard.html with AI in hours, then attach it to a device through a robust, tested API.
Security and compliance report
CRA compliance support
Our team works on security reports continuously, helping keep your product safe and ready for CRA compliance.

What is Mongoose

Mongoose framework combines a networking library and a visual Web UI builder

Networking library

Networking library contains TCP/IP stack + embedded web server + websocket + mqtt + ota updates in one event-driven library. It is open source, most popular in its category - 12k+ stars on Github.
+

Web UI Wizard

Mongoose Web UI builder allows to build pro device dashboards fast - no frontend skills needed.

Embedded Web UI Examples

Developers use Mongoose to build browser-based user interfaces for embedded devices. These interfaces allow users to configure devices, monitor system status, and control hardware from a standard web browser. Examples include:

Device dashboards

Settings panel, status monitoring and control, real-time graphs display

REST API

Automated health checks, remote device control

Firmware OTA updates

OTA using file upload, or via periodic URL checks, or via cloud MQTT

Embedded Web Server for Microcontrollers

Many embedded web interfaces start from vendor networking examples such as the lwIP httpd example on STM32 or Zephyr's built-in HTTP server. These examples work for simple demos but become difficult to extend when adding TLS, WebSocket communication, device APIs, or real-time dashboards.

Mongoose provides a complete alternative.

It includes an embedded HTTP server, WebSocket support, MQTT, TLS security, and dashboard infrastructure in a single event-driven framework. Mongoose can run on top of lwIP or Zephyr, or it can operate as a stand-alone TCP/IP stack, replacing lwIP while providing a full embedded web server for microcontrollers.

Mongoose architecture

Embedded device web interfaces follow a layered architecture: TCP/IP stack → TLS → application protocols such as HTTP, WebSocket, or MQTT → the device dashboard. Mongoose provides these layers as a single integrated framework, allowing developers to build browser-based dashboards and APIs directly on microcontrollers.
Mongoose architecture diagram

Build Faster with a Mongoose Engineer

Schedule a free, hands-on 45-minute session to troubleshoot or optimize development on your own hardware (e.g., solve issues or optimize WebUI). Please have your device and dev environment ready.

Features

All-in-one
Drivers, TCP/IP, TLS, HTTP, WebSocket, MQTT, JSON, and OTA in two files only.
Mongoose Wizard
Build pro device dashboards fast - no frontend skills needed.
Cross-platform
Runs everywhere - on popular microcontrollers and on desktop and mobile platforms, letting teams reuse infrastructure across products
Fits your firmware
Works with lwIP, Zephyr, NetX, or standalone. On any RTOS or bare metal.
Tiny footprint
Runs on 8-bit MCUs with 6 KB RAM. Built-in TLS enables fast handshakes, using ~50 KB flash and only a few KB RAM per connection.
Security & EU CRA compliance
Get private security fixes before CVEs go public - patch early, stay safe.
Firmware OTA updates
Built-in OTA updates - no need to build your own system.
Support by authors
Support comes from the engineers who built it all. You're never on your own.
Best in class
12k+ Github stars. Runs on ISS by NASA. Licensed by hundreds of companies, big and small. Mongoose is a reliable embedded web server and complete networking framework.

What our Customers say

See case studies for more

Licensing

Mongoose is dual-licensed: GPLv2 and commercial. Use GPLv2 for evaluation and prototyping. Choose a commercial license when shipping production devices.

GPLv2 Open Source

Great for evaluation, prototypes, and learning. Explore the repository and documentation to get started quickly.

Commercial licensing

For shipping proprietary firmware at scale, with developer-led support and a security workflow aligned with production needs.
See licensing details » Request a quote »
We reply the same business day