Advice needed

Hi, fellow forum users.

I am new to homemade custom electronics and therefore unsure what parts i need.

I do want to compare measurements of many different solar cells. So i thought i need some kind of electric board where i can plug in certain sensors.

In my case sensors to measure and record the voltages of at least 20 different solar panels. Do i need other measurements to compare the performance of different solar cells?

Along with that I'd like to measure and record humidity, temperature and intensity of incoming light. All that data should somehow be collected and then recorded every given time step (let's say 5 mins) together with date and time, so a csv-table can be created.

So the question to the pros here is: which parts do i need and how complicated is the programming for such a device? Do i need a computer (raspberry?) of some sort where data can be stored or is it possible to gather data and store it on flash drive of some sort.


It mostly depends on what you want to measure. Measuring the panel voltage is almost straight forward, but measuring the current or maximum output power is much more complicated.

It looks like you want to collect the voltages from 20 solar cells simultaneously. What is their possible output voltage? The Arduino (the site of which you are asking the question), can only read up to 5V. So you will need to keep the voltage under that. Additionally you need a way to either switch each solar cell into a single analog input or add inputs for each cell.

Based on your list given in the OP I would suggest:
1 Arduino UNO
5 Adafruit ADS1115 (each has four analog inputs thus allowing connection to 20 panels)
1 Adafruit datalogging shield (provides the RTC for timestamping data and the SD card for storing the information)
1 DHT22 or similar variant to record temperature and humidity

As for the light sensor, I don't know of any calibrated light meters but a Cds cell with a resistor and one of the other analog input on the Arduino could be used to store the relative light intensity.

I would also suggest an LCD to be able to display status. If the ADS1115 modules are used, then the I2C bus has been created thus a LCD can be easily added with a minimal number of wires.

All of the above are readily available and with many examples. With the number examples available, it is a matter of just piece them together in order to complete the project as you have listed it.


that was the kind of expert answer i was hoping for. Thank you!

So, it seems to depend only on the fact, that the voltage of the cells should not exceed 5V. Not sure yet, have to look that up, but if i work with cells that fulfill that, it should be possible.

Also, i like the idea of a display. Nice thinking!

I if understand it right, for that device i wouldn't even really need a mini-computer like a raspberry, because data would be stored on SD card.

Programming of the device (which data is collected and in which time increment) would be done via Arduino software. I hope that wouldn't be too complicated, but i guess with a little help from you guys it sounds as that could work for me.

Thank you so far, will keep you updated...(should that be done in this post or better another section?)


The voltage to the Arduino ADC cannot exceed 5V. A simple high resistance voltage divider could knock down (almost) any voltage to stay under the 5V maximum limit (Voltage divider - Wikipedia). With that said you would need one resistor divider for each cell in addition to the ADC.

I know the Adafruit website has an example code and tutorial for each module suggested.

Let me know what you decide on for recording the light levels. I may need to do something similar for a solar hot water heater controller I'm thinking of building.

The small testing panels i want to use may not exceed voltages of 5V, the bigger ones wil though. (The plan is testing it small-scaled first, if my setup works well within the parameters i want to check, i want to test it on usual solar panels for roofs etc.). The bigger ones usually operate with voltages from 15 up to 24 V. As i want to check the performance of different cells, i thought the generated voltage of the solar cell will more or less be a measure of its overall performance.

I am not sure that a voltage divider would help me in that case (as im not sure how it works). As long as the voltage is knocked down linearly i guess i could still compare the performance of the cells to each other?!

As for recording the intensity of incoming light i will keep you updated...

Read through the wiki link on voltage dividers. It is absolutely proportional.

Aye, just did that. Good. :slight_smile:

Allright, how are the connections done for the "main board" (UNO?) to the ADS1115's?

And how many can i connect at max? Seems like there are 14 digital inputs, so the max would be 4x14=56 channels simultaneously, is that right? Or do i need 2-3 connections for temp/humidity, light intensity and the connection to the datalogging shield?


Please check out the Adafruit website to see the datalogging, ADC module, and the DHT22. There is lot of information there. Including answers to all the questions you just asked, and many you haven't asked yet. So I will let you extract the details from the webpages but give some highlights here.

Lately I have gotten to be all about the modular design. My suggestion here no different.

The Arduino UNO is almost overkill, but adds simplicity since it has the onboard programming ability, the serial to PC output (called serial monitor), and the breadboard style point you can connect to easily.

As you will read, the ADS1115 use a communication bus called I2C. Each of the 5 modules would be connected to that bus (power, ground, two comm wires/pins A4 and A5), as well as the I2C enabled LCD display if you chose to add one.

The connector headers provided with datalogging shield will take up all of the pins on the arduino. I suggest using stacking header pins instead (such as 36-pin Stacking header - pack of 5! : ID 3366 : $5.95 : Adafruit Industries, Unique & fun DIY electronics and kits). These pins would retain the breadboard style connections.

As you will also read, the DHT22 requires 5V power, ground, and one pin for communication. It can be any pin.

Less obvious, though it is documented, is the I2C bus uses ADC input 4 and 5. This may impact the light detector. If it requires an analog input, such as a Cds cell with resistor divider it would need to be connected to ADC 0-4.

Please don't connect the Cds between power and ground with a series resistor. You short the power supply and either damage the power supply or the Cds cell. This design is similar to the voltage divider to get the 24V solar cells in to the 5V inputs, expect that one resistor is the Cds cell.