Open-Source Energy Profiling Platform for IoT & Edge-ML Devices
Description
This repository contains the hardware design files, firmware, and validation data for a low-cost, real-time energy measurement system designed for Internet of Things (IoT) and Edge Machine Learning (Edge-ML) applications. The platform consists of two integrated subsystems:1. Measurement System (Profiler)Architecture: Based on the ESP32-S3 and INA226 sensors, enhanced with an external 16-bit ADC (ADS1115) and precision voltage reference for superior signal stability.Dual-Range Input:Low-Range: Optimized for sleep currents and logic levels (up to 15 V). Includes a voltage stabilization circuit for the DUT.High-Range: Supports higher power loads (up to 30 V) with current sensing capabilities up to 8 A (peak/burst) and 3 A (continuous).Features: Hardware synchronization triggers, UART metadata logging, and dual NTC temperature monitoring (ambient + device). Data is stored locally on microSD cards.2. Validation Node (formerly Test System)An autonomous, battery-powered IoT testbed designed to generate reproducible dynamic workloads.Features a user interface (OLED + Rotary Encoder) to configure computational intensity.Implements a Linear Regression training task (Red Wine Quality dataset) to validate the profiling system's ability to correlate energy consumption with algorithmic performance ($R^2$, MSE).Repository Contents:Hardware: Schematic diagrams, PCB layouts (Autodesk Fusion 360), and Gerber files.BOM: Complete Bill of Materials with supplier links (focus on low-cost accessibility).Firmware: Source code for both the Measurement System and the Validation Node (Arduino/C++).Data: Raw validation datasets validating the system's linearity and dynamic response. The second system is an IoT test module designed to validate the performance of the measurement and profiling system. This module communicates and synchronizes with the measurement unit, enabling the profiling of energy consumption according to the computational tasks performed. As an example, a linear regression algorithm was implemented to evaluate energy behavior during the execution of processes with varying computational complexity. Both systems can be assembled using low-cost components and are suitable for energy consumption characterization in open hardware-based IoT devices. The accompanying project files include the complete list of required components with supplier links, the schematic diagrams and PCB designs developed in Autodesk Fusion 360, the firmware for both systems, and the data files obtained during a test of the IoT system running the linear regression algorithm, used to validate the measurement platform.
Files
Institutions
- Universidad Nacional de ColombiaBogota
- Universidad Nacional de Colombia Sede MedellinMedellin