Next Article in Journal
Effects of Epigallocatechin-3-O-Gallate on Bone Health
Previous Article in Journal
A Power Monitor System Cybersecurity Alarm-Tracing Method Based on Knowledge Graph and GCNN
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Low-Cost Arduino-Based I–V Curve Tracer with Automated Load Switching for PV Panel Characterization

by
Pedro Leineker Ochoski Machado
1,
Luis V. Gulineli Fachini
2,
Erich T. Tiuman
1,
Tathiana M. Barchi
3,
Sergio L. Stevan, Jr.
4,
Hugo V. Siqueira
4,
Romeu M. Szmoski
5 and
Thiago Antonini Alves
1,2,*
1
Graduate Program in Mechanical and Materials Engineering, Federal University of Technology-Parana (UTFPR), Curitiba 81280-340, PR, Brazil
2
Graduate Program in Mechanical Engineering, Federal University of Technology-Parana (UTFPR), Ponta Grossa 84017-220, PR, Brazil
3
Graduate Program in Industrial Engineering (PPGEP), Federal University of Technology–Parana, Ponta Grossa 84017-220, PR, Brazil
4
Graduate Program in Electrical Engineering, Federal University of Technology-Parana (UTFPR), Ponta Grossa 84017-220, PR, Brazil
5
Physics Department, Federal University of Technology-Parana (UTFPR), Ponta Grossa 84.017-220, PR, Brazil
*
Author to whom correspondence should be addressed.
Appl. Sci. 2025, 15(15), 8186; https://doi.org/10.3390/app15158186
Submission received: 25 June 2025 / Revised: 15 July 2025 / Accepted: 18 July 2025 / Published: 23 July 2025

Abstract

Accurate photovoltaic (PV) panel characterization is critical for optimizing renewable energy systems, but it is often hindered by the high cost of commercial tracers or the slow, error-prone nature of manual methods. This paper presents a low-cost, Arduino-based I–V curve tracer that overcomes these limitations through fully automated resistive load switching. By integrating a relay-controlled resistor bank managed by a single microcontroller, the system eliminates the need for manual intervention, enabling rapid and repeatable measurements in just 45 s. This rapid acquisition is a key advantage over manual systems, as it minimizes the impact of fluctuating environmental conditions and ensures the resulting I–V curve represents a stable operating point. Compared to commercial alternatives, our open-source solution offers significant benefits in cost, portability, and flexibility, making it ideal for field deployment. The system’s use of fixed, stable resistive loads for each measurement point also ensures high repeatability and straightforward comparison with theoretical models. Experimental validation demonstrated high agreement with a single-diode PV model, achieving a mean absolute percentage error (MAPE) of 4.40% against the manufacturer’s data. Furthermore, re-optimizing the model with field-acquired data reduces the MAPE from 18.23% to 7.06% under variable irradiance. This work provides an accessible, robust, and efficient tool for PV characterization, democratizing access for research, education, and field diagnostics.

1. Introduction

Recent developments in sustainable energy supply can be directly related to the energy transition to renewable sources, since these are not only relatively clean sources, but can also be used in a decentralized manner [1]. In recent years, clean energy technologies have gained ground, causing a decrease in the demand for fossil fuels such as coal, natural gas, and oil. Projections suggest that this trend will continue, with fossil fuel demand declining by an average of 3 exajoules (EJ) per year until 2050. The peak demand is expected to occur around 2030 [2].
For a higher transition from fossil fuels to renewable sources, this process should be affordable. Addressing the initial expenses associated with clean energy technologies will be crucial in promoting their adoption, particularly among households with lower incomes [2].
To optimize the performance of renewable energy generators, such as photovoltaic panels, it is essential to gather detailed information on how they operate under various conditions. This allows real-time data collection over extended periods, with easy storage and accessibility [3,4].
While measuring voltage and current effectively provides information about the power of photovoltaic panels (PV), fully characterizing these devices requires varying the load they are subjected to. By doing so, the characteristic curves of the panel can be obtained. However, due to rapidly changing and unpredictable field conditions, reproducing the characteristics of individual or groups of PV panels becomes challenging. To address this issue, it is necessary to rapidly vary the load (resistance) across the entire range [5].
Manufacturers of photovoltaic panels typically provide current-voltage (I–V) curves measured under laboratory conditions. However, these conditions may not accurately represent real operational environments, where temperature and irradiance variations affect the I–V characteristics and, consequently, the module’s power output. To properly characterize these devices, measurement systems known as I–V curve tracers are used. These systems perform a voltage sweep on the PV module while simultaneously measuring the output current delivered to a connected load [6].
Commercial I–V curve tracers are available on the market, as referenced in [7,8], offering reliable measurements ensured by the manufacturer. However, they also present some disadvantages, such as high cost, limited flexibility for modifications, and control software that is not designed for automated experimental measurement campaigns [6].
To address these limitations, low-cost data acquisition systems (DAQs) present an accessible alternative for obtaining operational data from electric generators without relying on proprietary software [9]. Among these, the ArduinoTM platform, which consists of a series of microcontroller boards, provides a versatile tool for developing DAQs using open-source code. With dedicated libraries and drivers, ArduinoTM allows users to program and interact with each device directly via a standard USB connection, eliminating the need for additional hardware [10,11].
Numerous research papers highlight the utilization of ArduinoTM for equipment control and data acquisition systems. Notable examples include using Arduino to control load cells [12], applications in automobile dynamics [13], nuclear and particle physics [10], fault detection in fused deposition modeling [14], and water flow measurement [15].
When it comes to photovoltaic panels, ArduinoTM has been used as a data acquisition system in several works [16,17,18,19], where it has been used mainly for panel voltage and current readings. When compared with a mathematical model of photovoltaic cells, an ArduinoTM-based DAQ proved to be very close to the values obtained from modeling [17,19].
Table 1 lists several studies in the literature that have developed I–V curve tracers using different measurement and load control approaches. As shown, I–V measurement techniques range from current and voltage sensors coupled to microcontrollers (e.g., Arduino, Raspberry Pi, and PIC) to more sophisticated equipment such as oscilloscopes, National Instruments (NI) data acquisition systems, and digital multimeters. Regarding load control, various methods have been employed, including MOSFETs, charge controllers, capacitive loads, and programmable electronic loads. While Arduino-based systems have been frequently used for I–V measurement, they are typically combined with separate load control mechanisms. As shown, few systems provide full integration of voltage and current measurement with automated resistive load switching using a single microcontroller. For example, in [17], a resistive load is used alongside an Arduino for I–V measurement, but the resistance is manually adjusted.
The novelty of this work lies in the development of a low-cost, standalone Arduino-based DAQ system that integrates measurement, load variation, and data storage. Using a relay-controlled resistor bank and programmed switching logic, the system provides real-time I–V characterization without manual adjustments or external software dependencies. It offers a scalable and reproducible tool suitable for academic, research, and field applications in renewable energy monitoring.
This work presents a low-cost, Arduino-based I–V curve tracer with automated resistive load switching, designed to provide fast, real-time PV panel characterization under field conditions. The proposed system integrates load control and data acquisition in a single platform, eliminating the need for manual adjustments and enabling rapid I–V curve generation. Experimental validation was conducted using a commercial PV module under natural solar conditions, with results compared to a single-diode model for performance evaluation and parameter optimization.
The Arduino-based system, which integrates automated relay-based switching with a bank of fixed resistors, offers a unique balance of automation, speed, low cost, and stability that distinguishes it from other common approaches. Manual methods, which rely on manually switching fixed resistors [17] or adjusting rheostats, are inherently slow. Characterizing PV panels under real-world field conditions requires rapid data acquisition to account for the unpredictability of environmental factors like solar irradiance and temperature. A slow acquisition process increases the likelihood that the panel is exposed to varying conditions during a single test, which compromises the validity of the resulting I–V curve as it no longer represents a stable operating point. The proposed system directly solves this problem by automating both the load variation and the data acquisition.
Compared to commercial electronic loads, they offer high precision and are often prohibitively expensive. Our system stands out primarily due to its low cost, making PV characterization accessible for educational, research, and resource-limited applications. Furthermore, many commercial units are not designed for “rapid field deployment” due to their size, weight, and power requirements. Our system is highly portable and requires no external power beyond a laptop’s USB port, facilitating easy data collection in the field. Lastly, its open-source hardware and software design allows it to be “easily replicated and adapted” to various experimental needs, offering a level of flexibility not available with proprietary commercial systems.
Compared to MOSFETs systems, although MOSFETs can provide a more continuous load variation, they require more complex analog control circuits (e.g., PWM with filtering and current/voltage feedback) to ensure stable operation across the entire range. Calibrating and linearizing this control can be challenging. Additionally, high-power MOSFETs require large heat sinks, often with active cooling, to dissipate power. In contrast, the proposed system provides a known, fixed, and highly repeatable resistive load for each measurement point. This inherent stability and simplicity ensure that the data at each step of the curve is reliable and easily reproducible.
From Table 1, capacitive load systems can perform extremely fast sweeps. However, determining stable operating points and the instantaneous effective resistance can be complex. The sweep’s shape is dependent on the capacitance and the source’s characteristics, which may not be ideal for static characterization or for direct comparison with steady-state models.
Our system provides stable, fixed resistive loads for each point on the I–V curve, allowing for clear steady-state measurements. This is particularly advantageous when comparing experimental data to theoretical models like the single-diode model used in our paper, contributing to the accuracy and repeatability of the results.
In summary, the proposed system is an accessible, robust, and efficient solution that democratizes access to PV panel characterization, overcoming the cost and complexity limitations of commercial alternatives and the speed and automation deficiencies of manual methods, all without sacrificing the necessary accuracy for the proposed application.
The system’s open-source design, low component cost, and modular architecture make it suitable for deployment in educational labs, field diagnostics, and research in developing regions. Furthermore, the platform can be extended with wireless communication (e.g., ESP32) for future integration into smart PV monitoring and Internet-of-Things (IoT) applications.

2. Materials and Methods

This section describes all the materials used and experimental procedures adopted for the construction, calibration, and testing of the data acquisition system.
The proposed data acquisition system (DAQ) enables real-time I–V curve tracing of photovoltaic panels by integrating voltage and current sensing with automated resistive load switching. The system is built around an Arduino Mega 2560 microcontroller, chosen for its high number of I/O pins and compatibility with open-source libraries.
The experimental tests were conducted in the Porous Media and Energy Efficiency Laboratory (LabMPEE), affiliated with the Graduate Program (Master’s) in Mechanical Engineering (PPGEM) of the Academic Department of Mechanical Engineering (DAMEC) at the Federal Technological University of Parana (UTFPR), Brazil, Ponta Grossa Campus.

2.1. DAQ Essential Parts

To obtain voltage, current and power curves for electrical generators, it is necessary to apply different loads to the generator. To this end, to acquire voltage and current values for a photovoltaic panel and, consequently, its characteristic curves and power values, a resistor association and switching system was developed to apply variable resistive loads to the photovoltaic panel. To facilitate connections, the resistor bank was assembled using terminal blocks for banana pin connections, and the resistors were placed on an aluminum plate, using thermal paste on their contacts to increase thermal exchange.
Figure 1 details the connections between the resistors and the relay module channels. Each relay module has three connection pins: common (COM), normally closed (NC), and normally open (NO). Each resistor was connected to the NC pin of the relay module channels, as well as to each other. To establish a parallel association between the resistors, the COM pins of each relay module channel were interconnected. When the channel is activated, the connection between the COM and NC pins is established, while when the channel is deactivated, this connection is broken, and it is the COM-NO connection that becomes energized.
Eight 100 W power resistors with an aluminum shell were utilized, featuring resistances ranging from 100.47  Ω to 1.15  Ω (Res1 = 100.47  Ω ; Res2 = 47.96  Ω ; Res3 = 14.84  Ω ; Res4 = 7.80  Ω ; Res5 = 4.83  Ω ; Res6 = 4.14  Ω ; Res7 = 3.50  Ω ; Res8 = 1.15  Ω ). Therefore, in a scenario where channels 1 and 7 are active, the equivalent resistance provided by the system would be approximately 3.38  Ω . The resistors were connected to the positive terminal of the photovoltaic panel, while the COM pins were linked to the negative terminal.
A 5 V power supply was utilized to energize the relay module, thereby preventing excessive power consumption from the load provided by the ArduinoTM board. A universal USB 5 V cell phone charger was employed to provide power, with the positive terminal connected to the JD-VCC pin and the negative terminal connected to the GND pin.
A voltage divider was used to increase the maximum voltage reading value performed by the ArduinoTM controller, as the controller can only read voltages from 0 V to 5 V, which is done at the analog inputs of the board, with a resolution of 10 bits.
The divider (Figure 2) consists of five resistors with a resistance of 100 k Ω each. They are arranged into two groups: the first group has three resistors connected in parallel, and the second group has two resistors connected in series. These two groups are then connected in series with each other. In this configuration, the voltage measured across the first group (the parallel one) corresponds to one-seventh of the input voltage. Therefore, the measured voltage must be multiplied by seven, allowing the ArduinoTM to read voltages up to seven times higher than its maximum input range (35 V) for the PV panel tested with output voltage < 25 V.
For current measurements, an ACS712 5 A current sensor was used. The sensor was powered by the ArduinoTM controller via the VCC-5 V connection and grounded via the GND-GND connection. The OUT pin, which provides the current reading of the system, was connected to an analog pin of the controller. The sensor was connected in series with the negative pole of the photovoltaic panel and the voltage divider, enabling the measurement of the current supplied by the panel.
The system sketch can be seen in Figure 3a, while the final assembly can be seen in Figure 3b, in which (A) is the resistor bank, (B) is the 5 V, 10 A relay module with 8 channels, (C) is the ArduinoTM Mega 2560 board, (D) the ACS712 5 A current sensor, (E) the voltage divider, and (F) a 5 V power supply (F). A DellTM Latitude D820 computer was used for data storage. All the sketches presented were made using Fritzing 0.9.3b software.

2.2. Logics and Operation of the System

The system’s operating principle involves the switching of resistive loads to which the voltage from the photovoltaic panel is applied, allowing for the acquisition of its characteristic curve. The switching of resistive loads was achieved using an 8-channel relay module and 8 resistors with 100 W power ratings each. Each resistor was individually connected to each channel of the relay module so that when all eight channels were active, all resistors would be associated in parallel. Since the channels can be switched on or off individually, there are two possible states for each resistor, resulting in a total of 28 possible combinations/resistances, which means 256 distinct resistor associations.
Thus, through programming in ArduinoTM, it was possible to vary the equivalent resistance of the resistor association (resistive load) by activating different channels of the relay module at each moment in time, enabling the acquisition of voltage and current values from the photovoltaic panel applied to different resistive loads. To facilitate data acquisition, an LCD shield with a keypad was added to the ArduinoTM module.
Each relay was associated with an index of a binary vector of eight. For each combination among the 256 possibilities, the combination index was converted into binary, consisting of zeros and ones. The binary value was then inserted into the vector, so that when a value equal to 1 is in a certain position of the vector, the relay associated with that position would be active, considering the resistor connected to that relay in obtaining the equivalent resistive load. Table 2 illustrates representative binary input configurations, indicating which resistors are activated and the resulting equivalent resistance connected to the PV panel.
Each reading from the system provides voltage (V), current (A), and power (W) data from the electric generator. A full sweep of all 256 combinations would take over eight minutes (approx. 501 s), making the measurement highly susceptible to errors from fluctuating solar irradiance and temperature. To address this, 23 combinations were strategically selected to cover the panel’s entire operating range, with increased measurement density near the expected maximum power point (MPP). This ensures that the “knee” of the I–V curve is accurately captured, which is critical for determining the panel’s peak performance, while reducing acquisition time to just 45 s, minimizing the effects of environmental variability.
Notably, the first measurement corresponds to the open-circuit condition, where all relays are deactivated and no current flows, allowing direct acquisition of the open-circuit voltage ( V o c ). Additionally, at lower voltage levels, the output current tends to remain constant and approximately equal to the short-circuit current (Isc), making it straightforward to infer this parameter even if it is not directly measured through a zero-resistance configuration [39].
These combinations were defined using an 8-bit binary sequence, where each digit (0 or 1) represents whether a specific resistor is switched off or on, respectively. Figure 4 presents the steps for automatically generating the resistive loads and performing voltage and current measurements, while a pseudocode is presented in Appendix A Algorithm A1.
The experimental setup is powered by distinct sources to ensure stable operation. The Arduino Mega 2560 board and the ACS712 current sensor are powered directly via a standard USB connection to a computer, which also facilitates data logging. To prevent overloading the board’s power output, the 8-channel relay module is energized by a separate, dedicated 5V power supply.
The data sampling protocol for each resistive load is executed to ensure measurement stability. The process consists of 10 main reading cycles. In each cycle, the system performs a single voltage reading, followed by a rapid burst of 100 current readings separated by a 100-µs delay. A final 100-ms delay concludes each of the 10 cycles. The average voltage readings and the peak current value (converted to RMS current) were then used to calculate the electrical power delivered by the photovoltaic source. This averaging and sampling strategy results in a total data acquisition time of approximately 1.1 s for each of the 23 data points on the I–V curve, smoothing out noise and rapid fluctuations.
The total system response time to generate a complete I–V curve is 45 s. This duration is a sum of the operations performed for each of the 23 measurement points, which includes 1.1 s for each of the 23 measurement points, a 500 ms delay immediately after the relays are switched, allowing the electrical circuit to stabilize, and a final 300 ms of delay for system pacing and to ensure the relays are fully reset before the next combination is activated.

2.3. System Calibration

To calibrate the voltage measurements, a MinipaTM ET-2042E digital multimeter was connected in parallel with a commercial photovoltaic panel, which was also connected to the data acquisition system. From the readings of the two devices, the data was regressed to obtain the calibration curve. For the current sensor, the multimeter was connected in series with the photovoltaic panel, which was also connected to the data acquisition system. After one data reading cycle, the current values obtained by the acquisition system were regressed against the current values obtained by the multimeter.

2.4. Experimental Setup

The experimental tests of the data acquisition system were conducted using a commercial ResunTM RSM060P photovoltaic panel (Table 3). The panel was installed on the external metal mezzanine of LabSOLAR’s solar patio, tilted 25° from the horizontal, matching the latitude of Ponta Grossa, PR (25°05′42″ South), and oriented toward geographic north. The panel remained fully exposed to natural environmental conditions, without any modifications or interventions to alter irradiance, wind, or ambient temperature. This ensured that the measurements reflected real operational conditions, with solar irradiance varying naturally throughout the day.
Solar irradiance (G) was measured using a Kipp & ZonenTM CMP3 pyranometer, positioned with the same inclination and orientation as the photovoltaic panel. Additionally, five (T1, T2, T3, T4 and T5) type-K thermocouples (Omega EngineeringTM) were placed on the back of the PV panel and connected to a KeysightTM DAQ970A with a 20-channel multiplexer to perform the temperature readings to monitor its temperature. Figure 5 illustrates the setup, showing the positioning of the photovoltaic panel and the pyranometer.
The output of the PV panel was connected to the developed DAQ and measurements of the I–V curve, solar irradiance, and temperature were taken at different times throughout the day to analyze how the PV panel responds to varying operational conditions, such as solar irradiance and operating temperature (Top), which is the average temperature of the PV panel.

2.5. Experimental Uncertainty

Table 4 shows the uncertainty values considered for each experimental variable described here. For the pyranometer and multimeter, the uncertainty presented in the technical data sheets supplied by the manufacturers was considered. For thermocouples and the resistive load data acquisition system, the uncertainty was considered to be the same as that of the instruments used in their calibration, carried out using the comparative method.

2.6. PV Panel Modeling

Modeling a photovoltaic (PV) panel presents challenges due to its non-linear behavior. Usually, the single and double diode models can be used for this task. Among these, the single diode model strikes an effective balance between complexity and accuracy, with simpler implementation and fewer parameters involved, making it a favorable choice for modeling PV panels in many applications [17,47].
The electrical equivalent circuit of the single diode model is shown in Figure 6. It consists of a diode (D1), which accounts for the non-linearity of the PV panel, a photocurrent source ( I p h ), a series resistance ( R s ) representing internal losses, and a shunt resistance ( R s h ) modeling leakage currents. Under uniform operating conditions, the voltage ( V p v ) and current ( I p v ) of the PV cells follow the relationship described in Equation (1), in which n is the diode ideality factor, K B is Boltzmann’s constant ( 1.381 × 10 23 J/K), N s is the number of cells, I p h and I s are the photocurrent and saturation current of the diode, T is the cell temperature in K, and q is the electron charge ( 1.602 × 10 19 C) [47,48].
I p v = I p h I s e q ( V p v + I p v R s ) n K B T N s 1 V p v + I p v R s R s h .
The terms I p h , R s h , and I s can be modeled mathematically by (2) to (4), respectively, in which G is the solar irradiance (in W/m2), E g is the band-gap energy with E g , r e f = 1.12 eV for silicon, K i is the temperature coefficient of short circuit current, and I p h , r e f and R s h , r e f are the photocurrent and shunt resistance at standard test conditions (1000 W/m2 and 298.15 K) [47].
I p h = I p h , r e f + K i ( T T r e f ) G 1000 ,
R s h = R s h , r e f 1000 G ,
I s = I s , r e f T T r e f 3 exp q E g K B 1 T r e f 1 T .
Examining (1) to (4), five key parameters must be identified to accurately model the I–V curve of the PV panel: I p h , r e f , R s h , r e f , n, I s , r e f , and R s . These parameters were determined using the differential evolution (DE) global optimization algorithm, implemented via the differential_evolution function in the SciPy library (v1.15.3). The algorithm was run with the following settings: population size = 15 × number of parameters, mutation factor = (0.5, 1), crossover probability = 0.7, and stopping tolerance = 0.01. The initialization was performed via Latin hypercube sampling (init = latinhypercube) to ensure a wide search space. The algorithm ran for up to 1000 generations (maxiter = 1000) and used the best1bin strategy for mutation.
Optimization was constrained using physically plausible bounds for each parameter, as presented in Table 5, and defined based on previous results reported in the literature. All other algorithmic parameters were kept at their default values using the differential_evolution function from the SciPy library. These settings proved sufficient for the algorithm to converge to a stable solution with minimal error.
Table 5 also highlights the importance of the individual calibration of model parameters, since different PV panel technologies (e.g., monocrystalline, polycrystalline, and multicrystalline) exhibit significant variation in electrical characteristics. This variability reflects differences in material properties, manufacturing processes, and aging effects, all of which influence the I–V curve shape and, consequently, the values of single-diode model parameters.
While the bounds defined in this study proved adequate to capture the behavior of the tested panel, they may not be universally applicable to all PV technologies or environmental conditions. Therefore, the re-optimization of model parameters is recommended when characterizing different modules or deploying the system under markedly different irradiance and temperature profiles. Fortunately, the use of a robust global optimization algorithm (differential_evolution) allows for efficient re-fitting with minimal user intervention, which supports the practical application of this approach in both laboratory and field scenarios.

3. Results

This section describes the main results of the study, including sensor calibration, model optimization, and PV panel behavior.

3.1. Sensor Calibration

As can be seen from Figure 7a,b, both regressions were linear in nature with an R2 determination coefficient close to 1, which indicates a strong correlation among the data analyzed. Since the calibration was carried out using the comparative method, the uncertainty of the data acquisition system was the same as that of the digital multimeter, which was ± 2 % + 0.00001  A for the current, and ± 0.5 % + 0.01  V for the voltage.
To ensure the sustained accuracy and reliability of the data acquisition system over time, we recommend implementing a schedule for periodic recalibration. As a best practice for field instrumentation, this procedure should be conducted annually, or more frequently if the system is deployed in harsh thermal environments. Recalibration involves repeating the initial validation process, where the DAQ’s measurements are compared against a certified reference multimeter, to compensate for any measurement drift arising from the long-term effects of component aging and thermal cycling.

3.2. PV Modeling

Equations (1) to (4), along with the data from Table 3, were implemented in a Python 3.11.1 environment, where the optimization algorithm was used to fit the parameters to an I–V curve provided by the manufacturer under standard test conditions. The optimized values obtained were I p h , r e f = 3.8330  A, R s h , r e f = 92.7474 Ω , n = 0.99996 , I s , r e f = 8.22073 × 10 11  A, and R s = 0.23147 Ω .
Figure 8 compares the manufacturer’s data at standard conditions with the optimized model, showing agreement between data for the current (I) and output power (P), with a mean average percentage error (MAPE) of 4.40% for the current (I) values.
With the optimization of these five parameters, (1) to (4) can be implemented along with the data from Table 3. The experimental measurements obtained with the proposed data acquisition system (DAQ) can be compared with the results obtained from the single-diode model.

3.3. Main Results

Table 6 illustrates the data obtained from the photovoltaic panel in one complete reading sweep using the resistive load data acquisition system. The first measurement was taken with all relay module channels turned off, meaning the photovoltaic panel was in an open-circuit condition. Subsequent measurements were taken using different resistor combinations from the resistor bank. The entire data acquisition process takes 45 s and successfully automates the switching of the load applied to the PV panel. Readings were taken at 30 min intervals between 9:00 a.m. and 4:00 p.m., totaling 15 measurements. The analysis presented in this paper is based on the data collected during this single day of operation.
The data shown in Table 6 illustrates the importance of using a system to apply loads to electric generators, since the power generated varies according to the load applied, and it is necessary to obtain the device’s maximum power value to determine its efficiency. Another advantage of the system is that the time of each acquisition is recorded, allowing the efficiency of the device to be calculated correctly from the solar irradiance value collected at the same time as the maximum power acquisition.
It is important to note that of the 256 possible associations, only 23 were selected to reduce the measurement time. If all 256 possibilities were carried out, it is estimated that the data collection time would go from 45 s to approximately 501 s. The first measurement (Index 0 from Table 6) corresponds to the open-circuit voltage of the PV panel.
Furthermore, as can be seen in As in Figure 9a, depending on the conditions to which the generator is subjected, in this case, a photovoltaic panel subjected to different solar irradiance values (G) and operational temperatures (Top), the maximum power value can be obtained with different resistive loads. It can also be observed that the range of resistive load values applied to the photovoltaic panel was sufficient to achieve the maximum power value even under varying solar irradiance conditions.
The data acquisition system was also able to observe the characteristic curve of the photovoltaic panel under the incidence of different average levels of solar irradiance, as can be seen in Figure 9b. Even though these results were not obtained under controlled temperature and solar irradiance conditions, the behavior shown is very similar to what is expected for these devices, in which higher solar irradiance values tend to increase the voltage and current values of the photovoltaic panel, with the most significant increase being in the current, which consequently increases its power.
Figure 9b also shows the comparison between the DAQ and model data for the I–V curves and output power for each G and Top condition. It can be seen that, in general, the model was able to predict the same behavior for the I–V and output power curves; however, there were some difference in absolute values compared to the measurements from the DAQ.
Figure 10a,b illustrate the importance of acquiring data quickly. When operating the device under ambient conditions, it is exposed to variations in solar irradiance. Figure 10a shows the panel’s characteristic curve obtained from an acquisition made with constant solar irradiance, while Figure 10b shows the acquisition with variations in solar irradiance. If the acquisition is done slowly, the likelihood of the panel being exposed to different G conditions is greater, making it more difficult to characterize the device.
Figure 11a,b show the MAPE between the DAQ and model data for the I–V and output power curves, reaching values below 20%, but higher than the MAPE obtained during the optimization of the standard conditions parameters.
This may occur because the values of temperature and solar irradiance may not be constant along the whole PV panel, as Table 7 shows. To be able to compare the model with the experimental data, average temperature and irradiance values were used, so this high MAPE between the DAQ and model data may occur due the fact that in the optimization process, the experimental data used as reference was obtained at constant operational temperature and solar irradiance, conditions that are not feasible in a real operation.
The data in Table 7 reveals a significant thermal gradient across the panel’s surface, with a temperature standard deviation reaching up to 2.84 °C. This indicates that different cells on the panel were operating at notably different temperatures. A single-diode model, which relies on a single average operating temperature, cannot fully capture the complex effects of this non-uniformity on the panel’s real-world behavior.
Similarly, the use of a single pyranometer in the experimental setup assumes that solar irradiance is uniform across the entire panel area. In practice, factors such as localized soiling or the passing shadows of clouds can create uneven illumination, causing some cells to generate less current than others. This electrical mismatch also affects the overall I–V curve in a way that a model using a single irradiance value (G) cannot predict.
These simplifications (using an average temperature and a single-point irradiance measurement) are key sources of the observed error between the model and the experimental data. Therefore, to further enhance model performance in future work, deploying multiple pyranometers to better map the irradiance distribution could provide a more accurate input for the model. This highlights the limitations of idealized models and reinforces the necessity of empirical field data to develop more robust and predictive simulations.
This issue resulted in an overestimation of the output power and energy efficiency ( η ) by the model, especially for lower values of G (relative difference of approx. 27% for G = 246.33 W/m2), as Table 8 shows. Using the experimental results obtained with the DAQ to optimize the model parameters can reduce this average difference in the model results.
Using the experimental results for G = 615.45 W/m2, the optimized values obtained were I ph , ref = 3.4694 A, R sh , ref = 244.2973 Ω , n = 0.95688 , I s , ref = 2.92672 × 10 11  A, and R s = 0.5809 Ω .
Figure 12a,b shows the results of using these new optimized parameters. The MAPE of the I–V curves and output power curves reduced from 18.23 and 18.54% to 7.06 and 7.22%, respectively, and the relative difference between the panel efficiency reduced from around 27% to around 15%.
Table 9 presents a comparative analysis of the model’s performance before and after parameter re-optimization using Differential Evolution. Notably, all metrics exhibit substantial improvement following re-optimization, particularly in irradiance levels below 700 W/m2, where initial accuracy was lower. For instance, at 827.59 W/m2, the RMSE for current dropped from 0.2888 A to 0.0495 A, and the R 2 for power increased from 0.8951 to 0.9959. Similarly, for the lowest irradiance level (246.33 W/m²), R 2 improved from 0.5178 to 0.8932 for current, indicating a much better model fit. These improvements reinforce the importance of tailored parameter calibration under varying field conditions to enhance model reliability.
These results show the importance of the development and use of a data acquisition system that can perform a voltage sweep on the PV module to obtain the I–V curves in real conditions of operation. These valuable data can be used both to compare different operational conditions and to obtain real-time data to optimize PV panel models.
The comparison in Table 10 highlights the performance and trade-offs of the proposed Arduino-based I–V tracer relative to three widely used commercial systems. While the commercial instruments deliver higher accuracy, faster acquisition times, and comprehensive automation, their high cost and proprietary architecture limit accessibility, particularly in educational, low-resource, or off-grid contexts.
In contrast, the proposed system offers a low-cost, open-source alternative with sufficient resolution to capture the critical features of a PV panel’s performance curve, including the maximum power point. Its portability, simplicity, and transparency make it an ideal platform for teaching photovoltaic concepts, prototyping control algorithms, or enabling low-cost diagnostics in decentralized energy applications. This underscores the educational and practical value of developing open-hardware tools for renewable energy research and training.

4. Conclusions

This study introduces a low-cost, ArduinoTM-based data acquisition (DAQ) system that overcomes key limitations of existing methods by integrating automated resistive load control and rapid data acquisition in a single setup. Unlike traditional systems that require manual adjustments, this system can automatically vary the resistive load and acquire real-time data, which is crucial for accurate PV panel characterization, especially in field conditions where environmental factors such as solar irradiance and temperature can fluctuate. The data acquisition time of 45 s minimizes the impact of these variables.
The single-diode model provided good results under standard conditions (manufacturer’s data—MAPE of 4.40% for current values). However, discrepancies arose under real operational conditions, particularly at lower solar irradiance levels (with a relative difference of about 27% at G = 246.33W/m2). This highlights the importance of real-time experimental data for optimizing PV models, as standard laboratory conditions may not reflect actual field performance. When experimental data were used to optimize the model, the accuracy improved, reducing the MAPE for I–V curves and output power from 18.23% and 18.54% to 7.06% and 7.22%, respectively.
The proposed system offers a cost-effective and flexible alternative to commercial I–V curve tracers, making it especially valuable for educational institutions, small-scale renewable energy projects, and researchers in developing countries. Its open-source hardware and software design ensures that it can be easily replicated and adapted to meet various experimental needs, further enhancing its accessibility.

Future Work

A promising extension of the proposed system involves its integration with a microcontroller like the ESP32, which provides built-in Wi-Fi and Bluetooth capabilities. The transition would be straightforward, as the ESP32 is compatible with the Arduino IDE, allowing the core logic to be easily ported. This upgrade would enable real-time data transmission to cloud-based IoT platforms capable of executing adaptive algorithms. These algorithms could adjust the model parameters dynamically, in response to changing environmental conditions such as irradiance and temperature. Such an approach would not only improve the accuracy of PV panel modeling but also enable on-the-fly diagnostics and fault detection, enhancing the system’s applicability for long-term monitoring and smart grid integration.
The programmable resistive load can be used as a cost-effective platform to develop and validate Maximum Power Point Tracking (MPPT) algorithms. Instead of a simple sweep, the microcontroller could execute different MPPT strategies (such as perturb and observe, incremental conductance, or particle swarm optimization) by dynamically changing the load to actively track the panel’s maximum power point. This allows for direct, empirical benchmarking of algorithm efficiency under real-world conditions.
Also, by integrating electronic multiplexers or relay-based switching matrices at the input, the system can be extended to sequentially characterize multiple PV panels in an array. The microcontroller would first select a panel, perform the I–V trace, store the data, and then switch to the next panel. This automated process is invaluable for identifying module mismatch, localized faults, or degradation across an entire PV string in both laboratory and educational settings where cost-effective scalability is essential.   

Author Contributions

Conceptualization, P.L.O.M., L.V.G.F., R.M.S. and T.A.A.; methodology, P.L.O.M., L.V.G.F. and R.M.S.; software, P.L.O.M., L.V.G.F., E.T.T. and R.M.S.; validation, P.L.O.M. and E.T.T.; formal analysis, P.L.O.M., E.T.T., T.M.B., S.L.S.J., H.V.S., R.M.S. and T.A.A.; investigation, P.L.O.M. and R.M.S.; resources, R.M.S. and T.A.A.; data curation, P.L.O.M., L.V.G.F., E.T.T., T.M.B. and R.M.S.; writing—original draft preparation, P.L.O.M.; writing—review and editing, P.L.O.M., E.T.T., T.M.B., S.L.S.J., H.V.S., R.M.S. and T.A.A.; visualization, P.L.O.M., T.M.B., S.L.S.J., H.V.S., R.M.S. and T.A.A.; supervision, S.L.S.J., H.V.S., R.M.S. and T.A.A.; project administration, R.M.S. and T.A.A.; funding acquisition, R.M.S. and T.A.A. All authors have read and agreed to the published version of the manuscript.

Funding

This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior—Brasil (CAPES)—Finance Code 001. The authors thank the Brazilian National Council for Scientific and Technological Development (CNPq), process numbers 315298/2020-0, 306448/2021-1, 409631/2021-3 and 312367/2022-8, and Araucária Foundation, process number 51497 and 19.311.894-1, for their financial support.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Acknowledgments

The authors acknowledge the Capes, the CNPq, the PROPPG/UTFPR, the DIRPPG/UTFPR (Campus Ponta Grossa), the PPGEM/UTFPR (Campus Ponta Grossa), the PPGEE/UTFPR (Campus Ponta Grossa), the PPGEP/UTFPR (Campus Ponta Grossa), the DAMEC/UTFPR (Campus Ponta Grossa), the DAELE/UTFPR (Campus Ponta Grossa), and the DAFIS/UTFPR (Campus Ponta Grossa).

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
CAD $Canadian dollars
COMCommon pin (relay)
D1Diode 1
DAQData acquisition
E g Band-gap energy
GSolar irradiance [W/m2]
GNDGround
I p h Photocurrent Source
I s c Short circuit current
I p v PV current
I s Saturation current
INRIndian rupee
IoTInternet-of-Things
K B Boltzmann’s constant
K i Temperature coefficient of short circuit current
MAPEMean absolute percentage error
MPPTMaximum power point tracking
nDiode ideality factor
NCNormally closed (relay contact)
NONormally open (relay contact)
N s Number of cells
PELProgrammable electronic load
PVPhotovoltaic
qElectron charge
R2Coefficient of determination
RefReference
ResResistor
RMSERoot Mean Square Error
R s Series resistance
R s h Shunte resistance
TTemperature
TopOperational temperature
US $United States dollars
V p v PV voltage
Euro

Appendix A

Algorithm A1: Automated I–V curve tracing with relay-controlled resistors.
1:
Initialize LCD and Serial communication
2:
Set relay control pins as OUTPUT and set to LOW
3:
Display column headers on Serial Monitor
4:
j← 0; cont← 1
5:
whilej ≤ 255 do
6:
    Convert j to binary vector Vetor[] (relay configuration)
7:
    Enable relay modules (pins 20 and 21)
8:
    Compute equivalent resistance Req based on active relays
9:
    Wait 500 ms for signal stabilization
10:
    Initialize voltage and current measurement arrays
11:
    for each reading (N samples) do
12:
        Read voltage sensor on A8
13:
        Read and accumulate current sensor values on A9
14:
    end for
15:
    Compute average voltage (calibrated)
16:
    Compute peak and RMS current (calibrated)
17:
    Compute power = voltage × current
18:
    Display and log results
19:
    Deactivate all relay outputs
20:
    jj + cont
21:
    contcont + j / 10        ▹Adaptive increment for 23-selected resistances
22:
end while

References

  1. Hentschel, M.; Ketter, W.; Collins, J. Renewable energy cooperatives: Facilitating the energy transition at the Port of Rotterdam. Energy Policy 2018, 121, 61–69. [Google Scholar] [CrossRef]
  2. OECD. World Energy Outlook 2023; OECD: Paris, France, 2023; p. 353. [Google Scholar] [CrossRef]
  3. Rezk, H.; Tyukhov, I.; Al-Dhaifallah, M.; Tikhonov, A. Performance of data acquisition system for monitoring PV system parameters. Measurement 2017, 104, 204–211. [Google Scholar] [CrossRef]
  4. Reyes-Ramírez, I.; Fonseca-Campos, J.; Mata-Machuca, J.L. Measurement of the current-voltage curve of photovoltaic cells based on a DAQ and Python. Renew. Energy Power Qual. J. 2018, 16, 94–98. [Google Scholar] [CrossRef]
  5. Kuai, Y.; Yuvarajan, S. An electronic load for testing photovoltaic panels. J. Power Sources 2006, 154, 308–313. [Google Scholar] [CrossRef]
  6. González, I.; Portalo, J.M.; Calderón, A.J. Configurable IoT open-source hardware and software IV curve tracer for photovoltaic generators. Sensors 2021, 21, 7650. [Google Scholar] [CrossRef] [PubMed]
  7. Keysight Technologies. B1505A Power Device Analyzer/Curve Tracer, 2025. Available online: https://www.keysight.com/br/pt/products/parameter-device-analyzers-curve-tracer/precision-current-voltage-analyzers/b1505a-power-device-analyzer-curve-tracer.html (accessed on 15 March 2025).
  8. HT Instruments. I–V500w: 1500V 15A I–V Curve Tracer compatible with htanalysis, 2025. Available online: https://www.ht-instruments.com/en/products/photovoltaic-testers/I–V-curve-tracers/I–V500w/ (accessed on 15 March 2025).
  9. Jucá, S.C.; Carvalho, P.C.; Brito, F.T. A low cost concept for data acquisition systems applied to decentralized renewable energy plants. Sensors 2011, 11, 743–756. [Google Scholar] [CrossRef] [PubMed]
  10. Köhli, M.; Weimar, J.; Schmidt, S.; Schmidt, F.P.; Lambertz, A.; Weber, L.; Kaminski, J.; Schmidt, U. Arduino-Based Readout Electronics for Nuclear and Particle Physics. Sensors 2024, 24, 2935. [Google Scholar] [CrossRef] [PubMed]
  11. Stevan, S.L., Jr.; Silva, R.A. Automação e Instrumentação Industrial com Arduino: Teoria e Projetos, 1st ed.; Érica: São Paulo, SP, Brazil, 2015; p. 296. [Google Scholar]
  12. Machado, P.L.O.; Fachini, L.V.G.; Machado, V.O.O.; Szmoski, R.M.; Alves, T.A. Load cells calibration with a low cost data acquisition system. Rev. Bras. Fis. Tecnol. Apl. 2019, 6, 24–40. [Google Scholar] [CrossRef]
  13. González, A.; Olazagoitia, J.L.; Vinolas, J. A low-cost data acquisition system for automobile dynamics applications. Sensors 2018, 18, 366. [Google Scholar] [CrossRef] [PubMed]
  14. Kumar, S.; Kolekar, T.; Patil, S.; Bongale, A.; Kotecha, K.; Zaguia, A.; Prakash, C. A low-cost multi-sensor data acquisition system for fault detection in fused deposition modelling. Sensors 2022, 22, 517. [Google Scholar] [CrossRef] [PubMed]
  15. Maharmi, B.; Widyastomo, B.; Palaha, F. Water Flow Measurement-Based Data Acquisition Using Arduino Microcontroller and PLX-DAQ Software. J. Ilm. Tek. Elektro Komput. Dan Inform. 2022, 8, 107–118. [Google Scholar] [CrossRef]
  16. Sugiartha, N.; Sugina, I.M.; Putra, I.D.G.A.T.; Indraswara, M.A.; Suryani, L.I.D. Development of an arduino-based data acquisition device for monitoring solar PV system parameters. In Proceedings of the International Conference on Science and Technology (ICST 2018), Bali, Indonesia, 18–19 October 2018; Atlantis Press: Dordrecht, The Netherlands; 2018; pp. 995–999. [Google Scholar] [CrossRef]
  17. Pachauri, R.K.; Mahela, O.P.; Khan, B.; Kumar, A.; Agarwal, S.; Alhelou, H.H.; Bai, J. Development of arduino assisted data acquisition system for solar photovoltaic array characterization under partial shading conditions. Comput. Electr. Eng. 2021, 92, 107175. [Google Scholar] [CrossRef]
  18. Mahzan, N.N.; Omar, A.; Rimon, L.; Noor, S.M.; Rosselan, M. Design and development of an arduino based data logger for photovoltaic monitoring system. Int. J. Simul. Syst. Sci. Technol. 2017, 17, 15.1–15.5. [Google Scholar] [CrossRef]
  19. El Hammoumi, A.; Motahhir, S.; Chalh, A.; El Ghzizal, A.; Derouich, A. Low-cost virtual instrumentation of PV panel characteristics using Excel and Arduino in comparison with traditional instrumentation. Renew. Wind. Water, Sol. 2018, 5, 1–16. [Google Scholar] [CrossRef]
  20. Belmili, H.; Cheikh, S.M.A.; Haddadi, M.; Larbes, C. Design and development of a data acquisition system for photovoltaic modules characterization. Renew. Energy 2010, 35, 1484–1492. [Google Scholar] [CrossRef]
  21. Papageorgas, P.; Piromalis, D.; Valavanis, T.; Kambasis, S.; Iliopoulou, T.; Vokas, G. A low-cost and fast PV IV curve tracer based on an open source platform with M2M communication capabilities for preventive monitoring. Energy Procedia 2015, 74, 423–438. [Google Scholar] [CrossRef]
  22. Montes-Romero, J.; Piliougine, M.; Muñoz, J.V.; Fernández, E.F.; De la Casa, J. Photovoltaic device performance evaluation using an open-hardware system and standard calibrated laboratory instruments. Energies 2017, 10, 1869. [Google Scholar] [CrossRef]
  23. Willoughby, A.A.; Osinowo, M.O. Development of an electronic load IV curve tracer to investigate the impact of Harmattan aerosol loading on PV module pern2tkformance in southwest Nigeria. Sol. Energy 2018, 166, 171–180. [Google Scholar] [CrossRef]
  24. Amiry, H.; Benhmida, M.; Bendaoud, R.; Hajjaj, C.; Bounouar, S.; Yadir, S.; Raïs, K.; Sidki, M. Design and implementation of a photovoltaic IV curve tracer: Solar modules characterization under real operating conditions. Energy Convers. Manag. 2018, 169, 206–216. [Google Scholar] [CrossRef]
  25. Chen, Z.; Lin, W.; Wu, L.; Long, C.; Lin, P.; Cheng, S. A capacitor based fast IV characteristics tester for photovoltaic arrays. Energy Procedia 2018, 145, 381–387. [Google Scholar] [CrossRef]
  26. Vega, A.; Valiño, V.; Conde, E.; Ramos, A.; Reina, P. Double sweep tracer for IV curves characterization and continuous monitoring of photovoltaic facilities. Sol. Energy 2019, 190, 622–629. [Google Scholar] [CrossRef]
  27. Ortega, E.; Aranguren, G.; Jimeno, J.C. New monitoring method to characterize individual modules in large photovoltaic systems. Sol. Energy 2019, 193, 906–914. [Google Scholar] [CrossRef]
  28. Mokhtar, M.; Ahmad, S.; Sepeai, S.; Daud, N.M.; Zaid, S.H. Inexpensive current-voltage system with electronically-controlled resistance under xenon arc light for solar cell efficiency measurements. J. Kejuruter. 2019, 31, 335–340. [Google Scholar] [CrossRef]
  29. Chen, Z.; Lin, Y.; Wu, L.; Cheng, S.; Lin, P. Development of a capacitor charging based quick IV curve tracer with automatic parameter extraction for photovoltaic arrays. Energy Convers. Manag. 2020, 226, 113521. [Google Scholar] [CrossRef]
  30. Sarikh, S.; Raoufi, M.; Bennouna, A.; Benlarabi, A.; Ikken, B. Implementation of a plug and play IV curve tracer dedicated to characterization and diagnosis of PV modules under real operating conditions. Energy Convers. Manag. 2020, 209, 112613. [Google Scholar] [CrossRef]
  31. Shapsough, S.; Takrouri, M.; Dhaouadi, R.; Zualkernan, I. An IoT-based remote IV tracing system for analysis of city-wide solar power facilities. Sustain. Cities Soc. 2020, 57, 102041. [Google Scholar] [CrossRef]
  32. Cáceres, M.; Firman, A.; Montes-Romero, J.; González Mayans, A.R.; Vera, L.H.; Fernández, E.F.; de la Casa Higueras, J. Low-cost I–V tracer for PV modules under real operating conditions. Energies 2020, 13, 4320. [Google Scholar] [CrossRef]
  33. Morales-Aragonés, J.I.; Gallardo-Saavedra, S.; Alonso-Gómez, V.; Sánchez-Pacheco, F.J.; González, M.A.; Martínez, O.; Munoz-Garcia, M.A.; Alonso-García, M.d.C.; Hernández-Callejo, L. Low-cost electronics for online iv tracing at photovoltaic module level: Development of two strategies and comparison between them. Electronics 2021, 10, 671. [Google Scholar] [CrossRef]
  34. De Riso, M.; Dhimish, M.; Guerriero, P.; Daliento, S. Design of a Portable Low-Cost IV Curve Tracer for On-Line and In Situ Inspection of PV Modules. Micromachines 2024, 15, 896. [Google Scholar] [CrossRef] [PubMed]
  35. Suresh, A.N.; Naveen, B.; Dusarlapudi, K. Design and Implementation of Cost-Effective PV String IV and PV curve tracer by using IGBT as a Power Electronic Load. In Proceedings of the 2024 6th International Conference on Energy, Power and Environment (ICEPE), Shillong, India, 20–22 June 2024; pp. 1–7. [Google Scholar] [CrossRef]
  36. De Riso, M.; Matacena, I.; Guerriero, P.; Daliento, S. A Wireless Self-Powered IV Curve Tracer for On-Line Characterization of Individual PV Panels. IEEE Trans. Ind. Electron. 2024, 71, 11508–11518. [Google Scholar] [CrossRef]
  37. Čoko, D.; Grubišić-Čabo, F.; Jurčević, M.; Marinić-Kragić, I.; Nižetić, S. Photovoltaic IV Curve Tracer for Hotspot Detection Applications. In Proceedings of the 2024 9th International Conference on Smart and Sustainable Technologies (SpliTech), Bol and Split, Croatia, 25–28 June 2024; pp. 1–4. [Google Scholar]
  38. De Riso, M.; Hassan, S.; Guerriero, P.; Dhimish, M.; Daliento, S. Enhanced Photovoltaic Panel Diagnostics: Advancing a High-Precision and Low-Cost IV Curve Tracer. IEEE Trans. Instrum. Meas. 2024, 73, 9006110. [Google Scholar] [CrossRef]
  39. Rhiat, M.; Hassari, A.; Karrouchi, M.; Atmane, I.; Abdellah, T.; Hirech, K. Educational High Power Photovoltaic Curve Tracer Using an IoT DC to DC Power Converter with Smartphone Integration. In Proceedings of the 2024 IEEE 11th International Conference on E-Learning in Industrial Electronics (ICELIE), Chicago, IL, USA, 3–6 November 2024; pp. 1–6. [Google Scholar]
  40. Ordoñez, A.; Urbano, J.; Mesa, F.; Castañeda, M.; Zapata, S.; Quesada, B.; García, O.; Aristizábal, A. Design and implementation of an autonomous device with an app to monitor the performance of photovoltaic panels. Energy Rep. 2024, 12, 2498–2510. [Google Scholar] [CrossRef]
  41. Borekci, S.; Acar, N. Inductor based IV curve measurement method for photovoltaic panels. Eng. Res. Express 2024, 6, 015066. [Google Scholar] [CrossRef]
  42. Chauhan, Y.; Pahadia, A.K. Design and Development of Low-Cost IV Tracer Using IOT for Photovoltaic System. In Proceedings of the 2024 IEEE 4th International Conference on Sustainable Energy and Future Electric Transportation (SEFET), Hyderabad, India, 31 July–3 August 2024; pp. 1–4. [Google Scholar]
  43. Roy, R.; Hayibo, K.S.; Pearce, J.M. Validation of a Portable Open-Source Diy IV Curve Tracer. 2024. Available online: https://www.researchgate.net/publication/387148854_Validation_of_a_Portable_Open-Source_Diy_I-V_Curve_Tracer (accessed on 4 July 2025).
  44. Rivai, A.; Erixno, O.; Rahim, N.; Elias, M.; Jamaludin, J.; Ramadhani, F. A Multi-String Photovoltaic Current-Voltage (IV) Curve Tracer. J. Phys. Conf. Ser. 2025, 2942, 012001. [Google Scholar] [CrossRef]
  45. Tchouli, A.F.; Ngasop, S.N.; Tchami, J.H.; Fapi, C.B.N.; Tchakounté, H. Design and Improvement of an Automated Tool for Quality Control and Performance Assessment of Photovoltaic Modules. Solar 2025, 5, 14. [Google Scholar] [CrossRef]
  46. Chouay, Y.; Ouassaid, M. An enhanced buck-boost converter for photovoltaic diagnosis application: Accurate MPP tracker and IV tracer. Sci. Afr. 2025, 27, e02561. [Google Scholar] [CrossRef]
  47. Alombah, N.H.; Harrison, A.; Kamel, S.; Fotsin, H.B.; Aurangzeb, M. Development of an efficient and rapid computational solar photovoltaic emulator utilizing an explicit PV model. Sol. Energy 2024, 271, 112426. [Google Scholar] [CrossRef]
  48. Khan, M.A.; Khan, M.A.; Ali, H.; Ashraf, B.; Khan, S.; Baig, D.E.Z.; Wadood, A.; Khurshaid, T. Output power prediction of a photovoltaic module through artificial neural network. IEEE Access 2022, 10, 116160–116166. [Google Scholar] [CrossRef]
  49. Saadaoui, D.; Elyaqouti, M.; Choulli, I.; Ydir, B.; Arjdal, E.; Lidaighbi, S.; Hmamou, D.B.; Elhammoudy, A.; Abazine, I. Advanced Approaches of the JAYA Algorithm for Single Diode Model Parameter Optimization: A Comparative Study. In Proceedings of the 2025 5th International Conference on Innovative Research in Applied Science, Engineering and Technology (IRASET), Fez, Morocco, 15–16 May 2025; pp. 1–6. [Google Scholar]
  50. Choulli, I.; Elyaqouti, M.; Saadaoui, D.; Lidaighbi, S.; Elhammoudy, A.; Abazine, I.; Ydir, B. An Analytical-Iterative Method for Accurate Parameter Estimation of the Single-Diode Model in Photovoltaic Modules: Application to Monocrystalline and Polycrystalline Modules under Various Environmental Conditions. Green Energy Intell. Transp. 2025, 100285. [Google Scholar] [CrossRef]
  51. Garcia-Marrero, L.E.; Pavon-Vargas, C.I.; Bastidas-Rodriguez, J.D.; Monmasson, E.; Petrone, G. Self-adaptive single-diode model parameter identification under small mismatching conditions. Renew. Energy 2025, 245, 122735. [Google Scholar] [CrossRef]
  52. Fluke Corporation. Série PVA-1500—Traçador de Curva I–V, 2025. Available online: https://www.fluke.com/pt-br/produto/teste-eletrico/as-melhores-ferramentas-de-energia-solar-do-setor/serie-pva-1500-tracador-de-curva-iv (accessed on 10 July 2025).
Figure 1. Connectionsbetween power resistors.
Figure 1. Connectionsbetween power resistors.
Applsci 15 08186 g001
Figure 2. Voltage divider.
Figure 2. Voltage divider.
Applsci 15 08186 g002
Figure 3. Data acquisition system: (a) sketch and (b) final assembly.
Figure 3. Data acquisition system: (a) sketch and (b) final assembly.
Applsci 15 08186 g003
Figure 4. Flowchart of operation.
Figure 4. Flowchart of operation.
Applsci 15 08186 g004
Figure 5. Experimental setup.
Figure 5. Experimental setup.
Applsci 15 08186 g005
Figure 6. Equivalent circuit of the single-diode model.
Figure 6. Equivalent circuit of the single-diode model.
Applsci 15 08186 g006
Figure 7. Calibration: (a) voltage and (b) current.
Figure 7. Calibration: (a) voltage and (b) current.
Applsci 15 08186 g007
Figure 8. Standard I–V curve vs. single-diode model.
Figure 8. Standard I–V curve vs. single-diode model.
Applsci 15 08186 g008
Figure 9. Measurements results: (a) output power and (b) I–V curves.
Figure 9. Measurements results: (a) output power and (b) I–V curves.
Applsci 15 08186 g009
Figure 10. Panel characteristic curve: (a) constant solar irradiance, Top = 48.69 °C; (b) variable solar irradiance, Top = 49.66 °C.
Figure 10. Panel characteristic curve: (a) constant solar irradiance, Top = 48.69 °C; (b) variable solar irradiance, Top = 49.66 °C.
Applsci 15 08186 g010
Figure 11. Model results: (a) I–V curves and (b) output power.
Figure 11. Model results: (a) I–V curves and (b) output power.
Applsci 15 08186 g011
Figure 12. Model results with new optimized parameters: (a) I–V curves and (b) MAPE.
Figure 12. Model results with new optimized parameters: (a) I–V curves and (b) MAPE.
Applsci 15 08186 g012
Table 1. Custom I–V tracers in the literature.
Table 1. Custom I–V tracers in the literature.
ReferenceI–V MeasurementLoadCostAcquisition TimeVoltage
Range [V]
Current
Range [A]
[5]OscilloscopeMOSFET----
[20]Current and voltage sensorsMOSFET--0–500–10
[21]ADC and microcontrollerMOSFET-70 ms--
[3]NI USB-6009MPPT charge controller----
[18]Current and voltage sensors + ArduinoTMCharge controller----
[22]Digital multimetersCapacitive loadUS $3000-0–1000–10
[23]ArduinoTMMOSFET-2–5 s0–220–4.95
[16]Current and voltage sensors + ArduinoTMDC load-10 min0–250–30
[24]Current and voltage sensors + ArduinoTMMOSFET-1 ms per point--
[4]NI-6009Resistive load----
[25]Current and voltage sensors + DSPCapacitive load-100–400 ms0–5000–20
[26]PIC18F46K80 microprocessorMOSFET€2501–100 ms0–1200–20
[27]PIC microcontrollerCapacitive loadTens of US $5 ms--
[28]Electronic loadElectronic load----
[29]Current and voltage sensorsCapacitive load-10 ms0–5000–20
[30]Current and voltage sensors + Raspberry PiMOSFET-<1 s0–450–10
[31]Yoctowatt + RPiCapacitive load-33 s--
[32]MicrocontrollerCapacitive load<€200100 ms0–1000–12
[6]Current and voltage sensors + RPiProgrammable electronic load (PEL)€70 without PEL24–320 s--
[17]Current and voltage sensors + ArduinoTMResistive load1615 INR-0–1200–20
[33]Current sensor + microcontrollerMOSFET€4040–100 ms0–500–5
[34]Hall sensor + voltage divider + microcontrollerMOSFET€355<1 s0–400–10
[35]Current and voltage sensors + microcontrollerMOSFET + IGBT-1 s0–15000–20
[36]Current and voltage sensors + microcontrollerActive load€355<1 s0–400–10
[37]ArduinoTM + resistorMOSFET-<2.5 s0–550–9
[38]Current and voltage sensors + microcontrollerActive load€355< 1 s0-400-10
[39]Current and voltage sensors + ESP8266DC/DC boost converter----
[40]Current and voltage sensors + ESP32MOSFETUS $1000–1200-0–500–20
[41]OsciloscopeInductor-90 ms--
[42]Current and voltage sensors + ESP32Capacitive load< INR 20004 s0–300–3
[43]ArduinoTMCapacitive loadCAD $2921 s0–400.5–8
[44]Current and voltage sensors + microcontrollerCapacitive load----
[45]Current sensor + voltage divider + ArduinoTMMOSFET€50--
[46]Current and voltage sensors + microcontrollerTMBuck-Boost converter-1 s--
Current StudyCurrent sensor + voltage divider + ArduinoTMAutomatic relay-switched resistor bank<100 US $45 s0–350–5
Table 2. Truth table of resistor activation and equivalent resistance.
Table 2. Truth table of resistor activation and equivalent resistance.
jBinaryRes1Res2Res3Res4Res5Res6Res7Res8 R eq [ Ω ]
00000000000000000
3000011110000111101.159
4400101100001011001.938
6300111111001111110.556
11201110000011100004.620
21711011001110110010.809
Table 3. Specifications of the Resun RSM060P photovoltaic panel.
Table 3. Specifications of the Resun RSM060P photovoltaic panel.
ParameterValueUnit
Output power 60 ± 3 W
Efficiency12.92%
Maximum Power Voltage18.54V
Maximum Power Current3.36A
Open Circuit Voltage22.68V
Short Circuit Current ( I sc )3.75A
Nominal Operating Cell Temperature 45 ± 2 °C
Temperature Coefficient for Maximum Power−0.39%/°C
Operational Temperature−40 to 85°C
Number of cells36-
Temperature Coefficient for I sc 0.05%/°C
Table 4. Experimental uncertainties.
Table 4. Experimental uncertainties.
ParameterInstrumentUncertainty
CurrentDigital multimeter ± 2 % + 0.00001 A
CurrentData acquisition system ± 2 % + 0.00001 A
Solar IrradiancePyranometer ± 3 % W/m2
VoltageDigital multimeter ± 0.5 % + 0.01 V
VoltageData acquisition system ± 0.5 % + 0.01 V
TemperatureType K thermocouple ± 0.25  °C
Table 5. Comparison of parameter bounds used in this work with values reported in the literature.
Table 5. Comparison of parameter bounds used in this work with values reported in the literature.
Source I ph , ref [A] I s , ref [A]n [-] R s [ Ω ] R sh , ref [ Ω ]Notes
 [49]0.7608 3.23 × 10 7 1.48120.0363853.72Monocrystalline
 [50]4.7103 1.48 × 10 5 1.34100.8020364.51Polycrystalline
 [50]4.7063 8.32 × 10 4 1.31100.1620121.31Monocrystalline
 [47]8.2288 2.32 × 10 10 0.97740.3448150.69Multicrystalline
 [51]5.44 1.41 × 10 4 1.960.00246.66Double single-diode model
 [51]4.31 8.88 × 10 5 1.930.002527.81Double single-diode model
 [51]5.22 1.30 × 10 4 1.920.002516.11Double single-diode model
 [51]4.88 5.84 × 10 5 1.840.00296.53Double single-diode model
This study (bounds)[0, 10] [ 10 12 , 10 8 ] [0.5, 2.0][0.01, 1.0][100, 300]Used for optimization
Table 6. Results from the data acquisition system.
Table 6. Results from the data acquisition system.
TimeIndexResistive Load [ Ω ]Voltage [V]Current [A]Power [W]
14:02:060 *20.60.00.0
14:02:081100.420.50.35.6
14:02:10248.020.40.49.1
14:02:12332.520.00.713.3
14:02:14414.819.71.326.1
14:02:16512.919.41.529.8
14:02:18611.319.31.733.2
14:02:20710.219.21.936.2
14:02:2287.818.52.445.4
14:02:2497.218.32.647.9
14:02:26106.718.22.850.2
14:02:28125.117.13.356.9
14:02:30154.415.83.656.9
14:02:32194.215.13.755.9
14:02:34243.011.13.841.9
14:02:36312.38.93.833.8
14:02:38412.610.23.838.7
14:02:41551.87.23.827.6
14:02:43742.38.73.833.1
14:02:451001.76.43.824.5
14:02:471361.03.83.814.5
14:02:491850.72.83.810.6
14:02:512520.62.43.89.2
* Open circuit voltage with all relays deactivated.
Table 7. Temperature and solar irradiance measurements.
Table 7. Temperature and solar irradiance measurements.
G [W/m2] σ G [W/m2]T1 [°C]T2 [°C]T3 [°C]T4 [°C]T5 [°C] σ T [°C]
914.261.1148.7346.1646.0552.0253.082.84
914.08 49.4147.4846.5252.4053.402.76
914.27 49.4947.6446.8152.5253.352.73
914.68 48.2746.2346.2352.1853.012.55
915.55 47.1445.8745.6651.7552.642.47
914.88 46.9645.6845.5051.6552.572.44
914.26 47.5746.1345.5851.5352.702.43
913.44 47.5646.4145.6450.8252.432.41
912.82 47.4046.0845.4150.4752.302.46
912.20 47.6046.2845.8350.4552.392.40
912.07 47.4746.4945.9850.9152.402.42
Table 8. Maximum output power and efficiency.
Table 8. Maximum output power and efficiency.
G [W/m2]Top [°C]Pmax,DAQ [W]Pmax,model [W] η DAQ η model
913.8648.9151.7053.0513.1913.54
827.5949.0042.7248.5312.0413.67
615.4544.2133.1335.9812.5513.63
488.9042.8026.4529.1812.6213.92
246.3336.6411.0113.9810.4213.23
Table 9. Comparison of validation metrics before and after model re-optimization.
Table 9. Comparison of validation metrics before and after model re-optimization.
G [W/m2] R 2 (Current)RMSE (Current) [A] R 2 (Power)RMSE (Power) [W]
Before After Before After Before After Before After
913.860.96550.96460.21520.21780.93640.96864.03702.8360
827.590.91740.99760.28880.04950.89510.99594.50180.8847
615.450.90670.99950.21210.01570.92590.99932.90930.2860
488.900.87180.99100.18580.04940.92190.98792.31970.9147
246.330.51780.89320.13980.06580.84670.93661.25020.8039
Table 10. Comparison between the proposed Arduino-based I–V tracer and commercial systems.
Table 10. Comparison between the proposed Arduino-based I–V tracer and commercial systems.
FeatureArduino-BasedHT I–V500w [8]Solmetric PVA-1500 [52]
Voltage Range [V]0–3515–100020–1500
Current Range [A]up to 50.1–15up to 30
Voltage Accuracy ± 0.5 % + 0.01 ±0.5% rdg + 2 dgt±0.5% + 0.25
Current Accuracy ± 2 % + 0.00001 ±1.0% rdg + 2 dgt±0.5% + 0.04
Power Accuracy±4%±1.0% rdg + 6 dgt±1.7% + 1.0 W
Full Sweep Time [s]∼4550.05–2
Irradiance/Temp SensorExternalYesYes (SolSensor)
IoT/AutomationManual (expandable to ESP32/Wi-Fi)USB + SWWi-Fi + SW
Estimated Cost [USD]<100 US $2 k–4 k+10 k+
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Machado, P.L.O.; Fachini, L.V.G.; Tiuman, E.T.; Barchi, T.M.; Stevan, S.L., Jr.; Siqueira, H.V.; Szmoski, R.M.; Antonini Alves, T. A Low-Cost Arduino-Based I–V Curve Tracer with Automated Load Switching for PV Panel Characterization. Appl. Sci. 2025, 15, 8186. https://doi.org/10.3390/app15158186

AMA Style

Machado PLO, Fachini LVG, Tiuman ET, Barchi TM, Stevan SL Jr., Siqueira HV, Szmoski RM, Antonini Alves T. A Low-Cost Arduino-Based I–V Curve Tracer with Automated Load Switching for PV Panel Characterization. Applied Sciences. 2025; 15(15):8186. https://doi.org/10.3390/app15158186

Chicago/Turabian Style

Machado, Pedro Leineker Ochoski, Luis V. Gulineli Fachini, Erich T. Tiuman, Tathiana M. Barchi, Sergio L. Stevan, Jr., Hugo V. Siqueira, Romeu M. Szmoski, and Thiago Antonini Alves. 2025. "A Low-Cost Arduino-Based I–V Curve Tracer with Automated Load Switching for PV Panel Characterization" Applied Sciences 15, no. 15: 8186. https://doi.org/10.3390/app15158186

APA Style

Machado, P. L. O., Fachini, L. V. G., Tiuman, E. T., Barchi, T. M., Stevan, S. L., Jr., Siqueira, H. V., Szmoski, R. M., & Antonini Alves, T. (2025). A Low-Cost Arduino-Based I–V Curve Tracer with Automated Load Switching for PV Panel Characterization. Applied Sciences, 15(15), 8186. https://doi.org/10.3390/app15158186

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop