Aura Mon is an RP2350-based energy data logger built around the tiny SPM01 Modbus meter. It samples power data over RS485, stores it on an SD card, and serves a local HTTP API and web UI over Ethernet.
- RP2350 microcontroller
- Modbus RTU over RS485 (SPM01)
- Ethernet for reliable network connectivity
- SD card logging and static web UI hosting
- RTC for timestamped data
- HTTP API with OTA updates and metrics
The goal of this project is to create a reliable and easy-to-use energy data logger that can be used to monitor energy consumption in a home or small business. The SPM01 is a very affordable energy meter that can measure voltage, current, power, energy, and power factor while fitting in tight electrical panels.
- Assemble the board and connect the SPM01 to the RS485 terminals.
- Insert an SD card (required for logging).
- Power the board with a regulated 5V supply on the screw terminals (or via USB-C with the jumper fitted for testing).
- Connect Ethernet and find the device IP via your router's DHCP lease table.
- Open
http://<device-ip>to view the UI and use the API.
The firmware lives in firmware/ and is written in C++ using the Arduino framework.
- Build/flash instructions:
firmware/FIRMWARE.md - HTTP API reference:
firmware/API.md
GET /statusfor live readings and runtime stats.GET /energyfor CSV data export.GET /logsfor log streaming.GET/POST /configfor device configuration.POST /otafor firmware updates.GET /metricsfor Prometheus-style metrics.
The board can be powered using an external 5V power supply connected to the screw terminals. For testing purposes, it can also be powered via USB-C after connecting the onboard jumper.
Warning
This project interfaces with mains-connected equipment. Only install it if you are qualified and follow local electrical safety requirements.
The firmware and hardware are still in development and are only tested on the author's hardware. Expect rough edges and please report issues or improvements.
- Initial schematic and board
- Initial firmware with basic functionality to read from the SPM01 and store data on the SD card
