Modular Embedded Operating System
Core • Web OS • HAL • Dynamic Modules
LoopMax Embedded OS is a modular framework for embedded systems designed to provide a shared core, independent from hardware and framework, on top of which complete devices can be built using dynamically loaded application modules.
LoopMax includes a Web-Based Operating System and all essential system services, allowing developers to focus only on application logic.
Access the flasher tool directly from your browser: https://smartilab.it/tools/
Because enough with:
- scattered projects
- duplicated base code
- reinvented web interfaces
- repeated system services on every device
With LoopMax:
- you develop only your module
- the core is already available
- the Web OS is integrated
- the infrastructure is shared
- the device is immediately operational
👉 One system
👉 One core
👉 Infinite devices
👉 Same professional UI Bootstap.
LoopMax is structured in multiple layers:
- LoopMax Core
- Web-Based OS
- System services
- Module management
- HAL (Hardware Abstraction Layer)
- Multi-framework support (Arduino / ESP-IDF)
- Multi-board support
- Application Modules
-
Zappy2 (included in the project as an example)
-
Extensible over time
-
Each Service Manager extends three interfaces:
-
IService
Used by the core to manage the service lifecycle. -
IHal_XxxxManager
Core manager interface, with a base class that varies depending on the underlying hardware. -
IXxxx
Public interface exposed to external application modules and implemented by the various service managers.
Below is an example of the structure of a single service:
The **LoopMax** project includes the **Zappy 2ch** module, an application module designed to control a **two-channel relay board**.
The application module interfaces directly with the dual-relay hardware, allowing remote control of connected loads through the LoopMax system.
A Bootstrap-based user interface is included and dynamically loaded by the LoopMax core, providing a simple and responsive web interface for controlling the relays without requiring additional frontend configuration.
A new update introduces full scheduling capabilities.
When operating in LAN Mode with an active internet connection, the device automatically synchronizes its internal clock.
Thanks to the new Scheduler class, Zappy 2ch can now manage two types of On/Off programs:
Repeats automatically on selected days of the week.
Executes once at the specified date and time, then automatically expires.
The Zappy 2ch module uses the following GPIO pins:
| GPIO | Function | Description |
|---|---|---|
| GPIO 4 | Reset | At power-on, keep the button pressed for 10 seconds to reset the device and enable web-based setup |
| GPIO 22 | Relay 1 | Controls Relay Channel 1 |
| GPIO 23 | Relay 2 | Controls Relay Channel 2 |
The reset function can be triggered in the following ways:
- At startup by keeping the reset button pressed while powering on the device
- While the board is powered on by holding the reset button for 10 seconds
- From the web interface using the dedicated reset button available in the LoopMax portal
- The web interface is automatically managed by the LoopMax core
- Designed for ESP32-based boards
A custom 3D-printable enclosure is available for the Zappy 2ch module.
The enclosure is designed to properly fit the electronics, provide safe cable routing, and allow easy access to buttons and connectors.
👉 Download the 3D model here:
https://makerworld.com/en/models/2308490-zappy-2-lines
- Optimized for FDM printing
- Recommended material: PLA or PETG
LoopMax was created to eliminate embedded project fragmentation and maximize code reuse.
Every new feature is a module, not a new project from scratch.
| LoopMax OS | |
|---|---|
| Version | 1.0.0 |
| Status | Stable |
| Updates | Continuous |
(continuously updated)
| Framework | Board | Core |
|---|---|---|
| Arduino | ESP32-WROOM | 2 |
| Arduino | ESP32-S3N8 | 2 |
This project is available for personal, non-commercial use only.
See the LICENSE file for full terms.
The project is under active development.
Technical documentation will be expanded progressively.
Access the flasher tool directly from your browser:
- Flash firmware directly from the browser (Web Serial)
- Supports ESP32 and ESP8266
- Baudrate selection
- Built-in Serial Monitor
- Automatic upload of firmware + filesystem (LittleFS)
- No external software required
Go to: https://smartilab.it/tools/
- Select the COM port
- Set the baud rate (e.g. 115200)
- Click Flash
The board will be programmed and will start automatically.
- Browser with Web Serial support (Chrome / Edge)
- ESP32 connected via USB


















