
After years of building DIY off-grid solar projects, I’ve distilled the whole process of sizing a charge controller down to 4 main steps:
- Calculate Solar Array Wattage
- Calculate Max PV Voltage
- Calculate Max Charging Current
- Check for Compatibility
You can follow these steps to pick the right size PWM or MPPT charge controller for your solar system every time.
Solar Charge Controller Size Calculator
But first, if you’d just like to know what size charge controller you need, use our solar charge controller sizing calculator below.
Or keep reading to find out how to size a charge controller yourself.
Step 1: Calculate Solar Array Wattage
Before we get started, you’ll need to know the following info about your off-grid solar system:
- Battery bank: What battery bank you’ll be using
- Solar panels: Which solar panel you’re using, and how many
- Solar array wiring configuration: How your solar panels are wired together (i.e. the length of your series and parallel strings)
As an example, let’s assume that these are the details for the solar system I’m building:
- Battery bank: 12V 100Ah LiFePO4 battery
- Solar panels: 4 Renogy 100W 12V monocrystalline solar panels
- Solar array wiring configuration: 2s2p (i.e. 2 series strings wired in parallel; each series string has 2 panels)
Alright, with that out of the way, let’s get started.
1. Find your solar panel’s wattage. If you don’t already know its wattage, you can find it on a label on the back of the panel or in its datasheet. It will be listed as Max Power or something similar and abbreviated as Pmax. I already knew my panels were all 100 watt solar panels, but a quick look at the label confirmed that for me.

2. Multiply your panel’s wattage by the number of panels in your array to get your solar array’s wattage. In this example I’m using 4 panels.
Solar array wattage = Solar panel wattage × Number of panels Solar array wattage = 100W × 4 panels Solar array wattage = 400W
It’s that easy.
Note: This calculation assumes all your solar panels are identical. If you’re using different solar panels, I recommend using our solar panel series and parallel calculator to calculate your array’s wattage.
Step 2: Calculate Max PV Voltage
When a charge controller lists its maximum PV voltage — also called maximum PV open circuit voltage, maximum input voltage, or maximum solar voltage — it’s referring to the solar array’s maximum open circuit voltage accounting for temperature.
A solar panel’s voltage increases as temperature decreases, so we first need to calculate the open circuit voltage of our solar array and then adjust this number based on our lowest expected temperature.
Note: Our solar charge controller calculator at the top of this page does these calculations for you under the hood. You can also use our solar panel maximum voltage calculator, which I’d recommend if your solar panels are not all identical.
1. Find your solar panel’s open circuit voltage (Voc). You can find this number on a label on the back of the solar panel or in its datasheet. I looked at my panel’s label and found that its Voc is 22.3V.

2. Multiply the panel’s Voc by the number of panels you have wired in each series string to find the open-circuit voltage of your solar array. Recall that each of my series strings has 2 panels.
Solar array Voc = Solar panel Voc × Number of panels in each series string Solar array Voc = 22.3V × 2 panels Solar array Voc = 44.6V
3. Find your lowest expected temperature. This should be the lowest temperature you expect your solar array to experience in daylight. Often, people will use the lowest recorded temperature at their location. If you can’t find yours, you can use a conservative value of -40°F (-40°C).
For this example, let’s say I live in Kansas City, Missouri. A quick Google search tells me the lowest temperature ever recorded was -23°F (-31°C). So my correction factor would be 1.23.

Tip: If your solar panels are mounted on a vehicle, consider the various locations you plan on visiting in your vehicle when picking your lowest expected temperature.
4. Decide whether you want to calculate your max Voc using a voltage correction factor or the panel’s temperature coefficient of Voc. There are 2 ways to calculate your array’s max Voc. The easy and conservative way is to simply multiply your solar array’s Voc by a voltage correction factor. The hard and more accurate way is to manually calculate it using your panel’s temperature coefficient of Voc.
Note: The voltage correction factors apply to monocrystalline and polycrystalline silicon panels. If your panel isn’t a mono or poly panel, you’ll have to use temperature coefficient of Voc.
Once you’ve decided which way you want to calculate it, click on its link below to jump to that section:
Easy Way: Using Voltage Correction Factors
The National Electrical Code (NEC) provides a table of voltage correction factors for mono and poly silicon solar panels based on ambient temperature. The correction factors make it easy to calculate your maximum solar system voltage yourself.
Here’s the table:
Factor | Ambient Temperature (°F) | Ambient Temperature (°C) |
---|---|---|
1.02 | 76 to 68 | 24 to 20 |
1.04 | 67 to 59 | 19 to 15 |
1.06 | 58 to 50 | 14 to 10 |
1.08 | 49 to 41 | 9 to 5 |
1.10 | 40 to 32 | 4 to 0 |
1.12 | 31 to 23 | -1 to -5 |
1.14 | 22 to 14 | -6 to -10 |
1.16 | 13 to 5 | -11 to -15 |
1.18 | 4 to -4 | -16 to -20 |
1.20 | -5 to -13 | -21 to -25 |
1.21 | -14 to -22 | -26 to -30 |
1.23 | -23 to -31 | -31 to -35 |
1.25 | -32 to -40 | -36 to -40 |
Note: The above table has been adapted from Table 690.7(A) from the 2023 edition of the NEC. Also, now you can see why I recommend using a conservative value of -40°F (-40°C) if you don’t know your lowest expected temperature: It’s the lowest ambient temperature listed in the NEC’s table.
1. Find the right correction factor from the table above using your lowest expected temperature. My location’s lowest temperature ever recorded was -23°F (-31°C), so my correction factor would be 1.23.
2. Multiply your solar array’s Voc by your voltage correction factor to get your solar array’s max Voc. I’ll be using the solar array Voc I calculated above (44.6V) and a voltage correction factor of 1.23.
Solar array max Voc = Solar array Voc × Correction factor Solar array max Voc = 44.6V × 1.23 Solar array max Voc = 54.86V
Done!
For once, the NEC makes life a little easier. 😅
Hard Way: Using Temperature Coefficient of Voc
Get ready to do some math!
1. Find your solar panel’s temperature coefficient of Voc. It should be listed on the panel’s label or in its datasheet. It should be a negative number. Mine is -0.28%/°C.
Note: I’ll just cover how to use this method if your temperature coefficient’s unit is %/°C, which, in my experience, is more common than mV/°C.

2. Calculate the maximum temperature differential by subtracting 25°C from your lowest expected temperature. We use 25°C because that is the industry-standard temperature at which solar panels are rated under Standard Test Conditions (STC). If your lowest expected temperature is in Fahrenheit, first convert it to Celsius. Remember that mine was -23°F (-31°C).
Max. temperature differential = Lowest expected temperature - 25°C Max. temperature differential = -31°C - 25°C Max. temperature differential = -56°C
3. Calculate the maximum voltage increase percentage by multiplying the maximum temperature differential by the panel’s temperature coefficient of Voc. Once again, this is assuming your solar panel’s temperature coefficient of Voc is given in %/°C.
Max. voltage increase % = Max. temperature differential × Temperature coefficient of Voc Max. voltage increase % = -56°C × -0.28%/°C Max. voltage increase % = 15.68%
4. Calculate the maximum voltage increase of your solar array by multiplying its open circuit voltage by the maximum voltage increase percentage.
Max. voltage increase = Solar array Voc × Max. voltage increase % Max. voltage increase = 44.6V × 15.68% Max. voltage increase = 6.99V
5. Calculate the maximum open circuit voltage of your solar array by adding its open circuit voltage and maximum voltage increase.
Max. solar array Voc = Solar array Voc + Max. voltage increase Max. solar array Voc = 44.6V + 6.99V Max. solar array Voc = 51.59V
Done!
Compare the max Voc we got using temperature coefficient of Voc (51.59V) to the max Voc we got using the NEC’s correction factors (54.86V). The correction factors are conservative, so using them will typically result in a higher max Voc estimate.
Step 3: Calculate Max Charging Current
The max charging current refers to the current coming out of the charge controller to charge the battery, rather than the current coming out of the solar array into the charge controller. That’s an important distinction.
Calculating max charging current depends on whether you’re using an MPPT or PWM charge controller.
So I’ll break this step down by charge controller type:
MPPT Charge Controllers
Most MPPT charge controllers have a very useful feature: They can be slightly over-paneled.
This means that if your solar array ever produces a little bit more current than your MPPT charge controller is rated for, the controller can reduce the level of current coming from the solar array to not exceed its current rating.
Assuming you’re considering an MPPT that has this feature (confirm in its datasheet or product manual), here’s how to calculate its max charging current:
1. Pick a charging voltage based on your battery’s nominal voltage. Different people use different voltages for this step. Some people use the nominal voltage. I like to use the most common voltage I’ve seen over the years of poring over charge controller, battery, and battery charger datasheets, which I’ve put in a table below based on battery voltage:
Nominal Battery Voltage | Common Default Charging Voltage |
---|---|
12V | 14.4V |
24V | 28.8V |
36V | 43.2V |
48V | 57.6V |
2. Divide your solar array’s wattage by the charging voltage. Watts divided by volts gives us amps.
MPPT max. charging current = Solar array wattage ÷ Charging voltage MPPT max. charging current = 400W ÷ 14.4V MPPT max. charging current = 27.78A
And that’s it!
PWM Charge Controllers
Note: PWM charge controllers should only be used if the solar array and battery bank nominal voltages are identical.
For this calculation, the important distinction between PWM and MPPT charge controllers is that PWM charge controllers cannot reduce the level of current coming from the solar array. So we need to calculate the PWM’s max charging current based on the solar array’s max output current.
1. Find your solar panel’s short circuit current (Isc). You can find this number on a label on the back of the solar panel or in its datasheet. In this example, my 100W panel’s Isc is 5.86A.

2. Multiply the panel’s Isc by the number of panels or series strings you have wired in parallel to get the short circuit current of your solar array. Recall that my example wiring configuration has 2 series strings wired in parallel.
Solar array Isc = Solar panel Isc × Number of panels or series strings in parallel Solar array Isc = 5.86A × 2 series strings in parallel Solar array Isc = 11.72A
3. Multiply your solar array’s Isc by 1.25. Solar panels can occasionally output more power than they’re rated for (due to conditions such as the cloud-edge effect) so the NEC recommends using a safety factor of 1.25 to account for this.
PWM max. charging current = Solar array Isc × 1.25 PWM max. charging current = 11.72A × 1.25 PWM max. charging current = 14.65A
Done!
Note: This safety factor of 1.25 (i.e. 125%) comes from Section 690.8(A)(1) of the 2023 edition of the NEC.
Step 4: Check for Compatibility
1. Find a charge controller that you’re considering buying. If you need some recommendations, check out my reviews of the best MPPT charge controllers or my reviews of the best PWM charge controllers. Let’s say that, after some research, I like the look of the Renogy Rover 40A MPPT Charge Controller and want to see if it’s a fit for my system.
Now that you have a charge controller in mind, you’ll need to make sure that it’s compatible with your battery bank and solar array. Let’s start by checking battery compatibility first.
2. Check that the charge controller works with your battery voltage. The controller’s compatible battery voltages will be listed on the charge controller’s product page or in its datasheet. This spec may also be called nominal battery voltage, system voltage or similar.
So I look at the Renogy Rover 40A’s product page and see that its “Nominal System Voltage” is 12/24V Auto-Detect. That means it works with 12V and 24V batteries. (“Auto-Detect” means that you don’t have to tell the charge controller what your battery’s voltage is, it will just automatically detect it.)

3. If you’re considering a PWM charge controller, confirm that your battery nominal voltage and solar array nominal voltage are identical. If you have a 12V nominal battery bank, for instance, then you should also have a 12V nominal solar array. (If they aren’t identical, you’ll need to use an MPPT.) I’m considering an MPPT, so I’ll skip this step.
4. Check that the charge controller supports your battery type or has custom charge profiles. You may have to do a little more digging on the product page or in the manual to find this info, since brands are sometimes bad about listing compatible battery types in any clear way.
Recall that I’m using a LiFePO4 battery. For the Rover 40A, I found its compatible battery types clearly listed in one of the product photos. It says “Li”, which, in the context of solar batteries, usually refers to LiFePO4 batteries, so I’m good here as well. A look in the product manual also tells me that the Rover 40A supports custom charging profiles.
Note: A charge controller that has custom or user-defined charging profiles typically lets you adjust all the voltage setpoints (such as absorption voltage, float voltage, etc.). Essentially, this feature make the charge controller compatible with all the main types of solar batteries.

Battery compatibility confirmed! ✅
Now it’s time to check that the controller is compatible with your solar array.
5. Check that the charge controller’s maximum PV input power rating (for your battery voltage) is greater than your solar array’s wattage. On the Rover 40A’s product page, I see that — at my battery voltage of 12V — the maximum PV input power is 520 watts, which is great than my solar array wattage of 400 watts. If I were using a 24V battery, then the max PV input power would be 1040 watts.

6. Check that the charge controller’s maximum PV open circuit voltage rating is greater than your solar array’s maximum voltage. The maximum PV voltage may also be called “maximum PV voltage”, “maximum input voltage”, or similar. The Rover 40A’s max PV voltage is 95V, which is greater than my solar array’s max open circuit voltage of 51.59V.

7. Check that the charge controller’s charge current rating is greater than your maximum charging current. The Rover 40A’s charge current rating is in the name: 40A (i.e. 40 amps). But I also found this info on the product page. That’s greater than my max charging current of 27.78 amps.

Solar array compatibility confirmed! ✅
So…yes! The Renogy Rover 40A is compatible with my solar system. At this point, I can be confident that it’s the right size for my needs.
However, there are a few other things worth considering.
4 Other Things to Consider When Picking Your Charge Controller
Look long enough and you’re bound to find a few charge controllers that are compatible with your solar system. Here are some other things to consider when deciding which one to go with:
- Are there any extra features you’d like? Some charge controllers have Bluetooth which lets you monitor your system from an app on your phone. Some have load terminals that can power DC loads directly. Some have a screen that tells you your system’s status, while others only have LED indicators.
- Will your battery experience extreme temperatures? If it’s a lead acid battery, make sure the charge controller has a feature called temperature compensation. If it’s a LiFePO4 battery, make sure that your battery has low-temperature cutoff or pick a charge controller that can stop charging the battery when temperatures drop below freezing.
- Will your charge controller experience extreme temperatures? If so, consider the charge controller’s operating temperature range.
- Are you considering over-gauging your wire? Some solar DIYers like to over-gauge their wire for reasons such as reducing voltage drop and as an added safety measure. If so, make sure your charge controller’s wire terminals can handle the wire size you’re considering.
These additional factors aren’t as important as getting the charge controller’s size right, but they can help you pick between a few contenders.