Development and Implementation of an IoT-Based Solar PV Monitoring and Sizing System Using Arduino and ThingSpeak
Abstract
Real-time performance monitoring and appropriate array sizing remain practical barriers to small-scale solar photovoltaic (PV) adoption, particularly for residential users in off-grid and weak-grid settings. Published monitoring platforms are typically either proprietary or priced for utility-scale plants, or research prototypes that report electrical parameters only; sizing, meanwhile, is frequently carried out by rule of thumb at the point of purchase. This paper reports the development and bench testing of a low-cost, microcontroller-based system that combines real-time PV monitoring with an on-device sizing aid. An Arduino Uno acquires PV-array and battery voltage and current, ambient temperature and relative humidity, and illuminance, and drives a character LCD for local display. An ESP-01 Wi-Fi module forwards the readings over HTTP to a ThingSpeak channel, and a lightweight custom web dashboard reads that channel through the ThingSpeak API so that the fields are presented to the user in a single browser view. A matrix keypad accepts a daily energy demand figure, from which the firmware estimates the number of panels required using the peak-sun-hour method with a fixed 150 W panel rating, five peak sun hours and a system efficiency factor of 0.8. Bench testing confirmed that every sensor channel returned readings of the expected form, that the sizing routine produced correct results across a range of demand values, and that data reached the cloud within a few seconds of acquisition. Quantitative accuracy characterisation against calibrated reference instruments was not undertaken, and is identified as the principal limitation of the present work.