IoT (Internet of Things)-enabled solar irradiance sensors are evolving toward energy harvesting, interoperability, and open-source availability, yet current solutions remain either costly, closed, or limited in robustness. Based on a thorough literature review and identification of future trends, we propose an open-source smart wireless sensor that employs a small photovoltaic module simultaneously as sensing element and energy harvester. The device integrates an ESP32 microcontroller, precision ADC (Analog-to-Digital converter), and programmable load to sweep the PV (photovoltaic) I–V (Current–Voltage) curve and compute irradiance from electrical power and solar-cell temperature via a calibrated third-order polynomial. Supporting Modbus RTU (Remote Terminal Unit)/TCP (Transmission Control Protocol), MQTT (Message Queuing Telemetry Transport), and ZigBee, the sensor operates from batteries or supercapacitors through sleep–wake cycles. Validation against industrial irradiance meters across 0–1200 W/m2 showed average errors below 5%, with deviations correlated to irradiance volatility and sampling cadence. All hardware, firmware, and data-processing tools are released as open source to enable reproducibility and distributed PV monitoring applications.
This study compares active-computation energy and latency for twelve compression, security/integrity and signal-processing workloads on ESP32, RP2040 and STM32F446. Common scalar C kernels process fixed 2048-byte inputs on one application core under two operating profiles: maximum nominal CPU clocks of 240, 200 and 180 MHz, respectively, and a common nominal 160 MHz. A Nordic PPK2 supplies each target domain at 3.3 V and records the current and one execution marker at nominal 100 kS/s. External regulators are removed on ESP32/RP2040; Nucleo retains its LDO with JP6 open. Sixty separate power-on captures provide ten observations per board and profile for arithmetic means and sample standard deviations. Energy integrates the full RUN current without baseline subtraction. At maximum clocks, ESP32 has the lowest observed mean latency for ten workloads, RP2040 for LZ77 and STM32F446 for DCT. At 160 MHz, the counts become six, one and five; minimum mean energy is distributed across six, two and four workloads. Relative to the maximum-clock profiles, ESP32’s mean energy falls by 1.29–3.54%, whereas RP2040’s rises by 3.35–4.00%. STM32’s mean energy is lower in eleven workloads but 15.38% higher for FIR. Equal nominal CPU frequency does not equalize internal supply settings, memory clocks or software execution. These results support the workload-specific comparison of documented operating configurations. The small cross-profile energy changes remain descriptive because capture SD characterizes repeatability, while absolute accuracy and cross-session systematic errors are not fully quantified.