The Definitive Guide to Solar Charge Controllers: MPPT and PWM Charge Controllers in Off-Grid Solar Power Systems

This definitive guide to solar charge controllers also-known-as solar battery maintainers or solar charge regulators is going to reveal:

– why solar panel battery maintainers are essential for any battery-based solar power system

– the main types of solar charge regulators, along with their specifics and features compared

– how to select the right type and size of the charge controller for your off-grid residential or mobile solar system

– some commonly made mistakes upon plugging the solar power battery maintainer to the system.

If the solar battery is said to be the heart of a solar electric system, the charge controller is definitely the brain. Read on to see why!

What is a solar charge controller?

A solar charge controller, also known as ‘charge regulator’ or solar battery maintainer, is a device that manages the charging and discharging of the solar battery bank in a solar panel system.

wiring diagram of a solar charge controller with a battery bank and solar panel

Preventing the battery from overcharging is important merely because the voltage generated by even a 12V solar panel is actually higher – between 16 and 20V.

Such voltages are too high for 12 V batteries (which get fully charged at voltages around 14-14.5V), since they can reduce the battery lifespan and even damage the battery.

Thus, in case of a solar array of a higher voltage (by using a 24V panel or by connecting two 12V solar panels in series), the solar charge controller is a must.

Here are listed the main functions of the charge controller in a solar panels system:

– Taking care that the battery bank is not getting overcharged during the day.

– Preventing the electricity stored in the battery to get back to the solar array at night.

– Managing how much power is drained from the battery by the appliances connected to it, and if necessary, disconnecting these loads from the battery, again to prevent it from overdischarging.

To summarize, the charge controller is the manager of the battery power.

Here are other important features of solar charge controllers:

– Regulating the power sent from the solar array to the battery according to the battery state of charge. This extends battery life.

– Low-voltage disconnect (LVD) – disconnecting the load(s) plugged in case of a low battery state of charge and reconnecting the loads when the battery is charged again. The LVD function is ideal for the relatively small loads that are used in RV solar systems.

– Reverse current protection – preventing the battery from being drained by the solar panels at night when the panels cannot charge the battery.

– Control display panel – showing the battery bank voltage and state of charge, as well as the current coming from the solar array.

Also, you can discover how to size the over-current protection between the charge controller and the battery in this ultimate guide.

Which types of solar charge controllers are the most widely used?

There are two main types of charge controllers – PWM (‘Pulse Width Modulation’) and MPPT (‘Maximum Power Point Tracking’) ones.

They are very different from each other since they are based on different principles of operation.

In general, while PWM controllers cost less and are used in small solar panel systems, MPPT charge controllers are used in larger solar power systems, are more advanced, and cost more.

What is a PWM charge controller?

PWM controllers make a direct connection between the solar array and the battery bank.

PWM controllers use Pulse Width Modulation to charge the battery.

A PWM controller does not send a steady output but rather a series of short charging pulses to the battery.

Depending on the battery’s current state of charge, the controller decides how often to send such pulses and how long each one of them should be.

For a nearly fully charged battery, the pulses will be short and rarely sent, while for a discharged battery they will be long and almost constantly sent.

PWM controllers are suitable for small off-grid solar panel systems, of low powers and low voltages – that is, where you have less to use as power and efficiency.
These solar controllers are often used in 12V RV solar power systems as a cost-efficient RV solar battery maintainer as well.

PWM solar charge controllers are less expensive than their more advanced MPPT counterparts but they have a distinctive drawback – they create interference to radio and TV equipment due to the sharp pulses generated for the battery bank charging.

In the daytime, when the battery is being charged by the solar panels, the PWM controller brings down the solar array generated voltage down to the battery voltage, which for most typical off-grid systems is as less as 12V DC.

The solar generated voltage of a 12V DC solar panel should be higher, in order to be able to charge the battery, and it is about 17-18V. 24V DC solar panels, however, generate a voltage of 36V DC.

If you connect 24V DC solar panels to a 12V DC battery, a PWM charge controller is going to bring down the voltage to as low as 12V DC, which means that you lose a part of your solar-generated electricity in the charge controller.

If you need to feed a voltage from 24V DC solar panels to a 12 VDC battery without thereby losing of what has been generated, you need a ‘step-down’ feature offered by the MPPT charge controllers.

Most PWM charge controllers do not offer such a step-down feature.

So, with a PWM controller, if the output voltage of the solar array is 24V (which can be achieved either by a single 24V solar panel of by two 12V solar panels wired in series), the voltage of your battery bank should also be 24V, since:

– If you use a battery bank of a lower voltage (e.g. 12V), you are going to lose a half of the solar-generated electricity;

– If you use a battery bank of a higher voltage, you will use all the potential of the solar array without being clear whether it’ll anyway be able to fully charge the battery in due time.

What is an MPPT charge controller?

The Maximum Power Point Tracking feature enables the input power of an MPPT controller to be equal to its output power.

Therefore, if the output voltage of the solar array (24V, 48V or more) is higher than the battery bank voltage (which is usually 12V), an MPPT controller brings it down to 12V but compensates the ‘drop’ by increasing the current, so that the power remains the same.

Since you don’t lose the solar-generated power, MPPT controllers provide you with the flexibility to connect many solar panels in series thus increasing the total voltage of the array without being afraid of losing a part of the solar-generated power.

The principle of MPPT is squeezing the maximum possible solar-generated power from a solar panel by making it operate at the most efficient combination of voltage and current, also known as ‘maximum power point’.

An MPPT charge controller converts the solar-generated voltage into the optimal voltage so as to provide the maximum charging current to the battery.

The main purpose of the MPPT solar charge controller is not only to prevent your solar power system from losing from the solar-generated power but also to get the maximum power from the solar array.

An MPPT solar charge regulator forces a solar panel to operate at a voltage close to its maximum power point.

Another benefit of an MPPT controller is that it reduces the wire size (gauge) needed for the wires connecting the solar array to the controller.

This is due to the wide input voltage range which allows you to connect many solar panels in series, which increases the voltage but the amps stay the same.

MPPT controllers are more expensive than PWM ones but also more efficient in terms of adding additional losses to the system.

Lots of MPPT controllers available on the market add just 2% to the overall losses of your off-grid system.

What happens when you connect higher voltage panel(s) to a non-MPPT charge controller?

If you connect a 24V solar panel (where maximum voltage can be as high as up to 36V), the non-MPPT (also known as ‘standard’) charge controller brings the solar generated voltage down to the 12V battery charging voltage, which is 13.5-14.5V.

Thus, however, you are going to lose a lot of power, as reducing the solar generated voltage would not result in increasing the solar-generated current.

What does this mean?

For example, if you have a 100Wp solar panel generating nominal voltage 36V and nominal current 2.78 A (36V x 2.78A = 100W), after connecting it to a standard (let’s say a PWM) controller, it brings the voltage down to 14V, while the amps will be the same, as a standard controller cannot do MPPT tracking (as MPPT solar charge regulators can). Therefore, at the output of such a controller, your solar power will be as low as 2.78A x 13.5V = 37.5W, which is a significant loss of almost 64%!

So, to get the full power generated by the solar array, you need an MPPT controller.

What you get as a bonus is that MPPT controllers have a wide enough range of the input voltage – up to 120-150V DC, which enables you to connect a larger number of panels in series.

In off-grid systems, this is usually done for the sake of working with low amps and wires of a smaller gauge for connecting the solar panels. If we consider the above example, an MPPT controller will reduce the voltage to 13.5V but increases the current up to 100W / 13.5V = 7.4 amps.

Here is when MPPT controllers are the most effective:

– In case of long wire runs between the solar panels and the battery.

Long wires always mean higher voltage drop and loss of power, which could make charging a 12V battery from a solar array of just 12V output voltage a challenging task. A way to overcome this is to use a larger cross-section wire (low wire gauge), which is always expensive.

If you, however, connect four solar panels in series, the overall voltage of the solar array would increase (from 12V to 48V), so what comes to the controller as voltage would still be high enough to charge the battery.

– In extreme (i.e. either cold or very hot) weather – low temperatures are better for the solar panels to work at but without an MPPT controller, you cannot take advantage of this.

– Under low irradiance, where the output voltage of the solar array can drop dramatically.

– Upon low battery state of charge – a lower battery voltage means a higher charging current provided by the MPPT controller to the battery so that it can get fully charged within a short time.

Do you always need a solar charge controller?

As mentioned above, the lack of a solar battery maintainer would expose the battery bank to frequent overcharges and overdischarges, which would dramatically reduce its lifespan.

This is especially valid for sealed batteries, where the charge controller is really a must.

Otherwise, such a sealed battery can either get damaged or become a safety hazard.

However, you do not need a solar battery maintainer, if you have a solar panel of very low power – below 10Wp – and a battery of 100 amp-hours of capacity or greater.

It is sure that such a low-power panel is not capable of overcharging such a high capacity battery.

On the other hand, a large battery capacity guarantees that the battery bank is never fully discharged.

This is only valid if the load is always connected to the above mentioned solar configuration – a 10W solar panel and a 100 Ah battery bank.

In practice, if this configuration is installed at a boat or recreational vehicle (RV), it’s very probable that the load might be turned off for weeks, and there is a risk of possible overcharging.

So, if you have a boat or a RV, or for whatever reason you turn off the loads from the solar system with a high capacity bank for a very long time, you should consider using a solar charge regulator.

Which solar charge controller is the best?

Selecting the ‘right’ type of charge controller does not mean to decide which charge controller technology is better – the PWM one or the MPPT one – but rather to estimate which type of these would be more suitable for your solar system.

The idea is not only to avoid building a system that will not perform well but also save money on buying a costly device that you don’t actually need.

Which charge controller is the best?

Compared by PWM charge controllerMPPT charge controller
System sizeSmaller solar panels systems – up to 150Wp installed solar power
Larger solar panels systems – above 150W installed solar power
Solar panel/ array voltageShould match to the voltage of the battery bank
Can be higher than the voltage of the battery bank
Battery state of charge
Performs best when the battery is near the full state of charge
Performs best when the battery is in low state of charge
Weather conditions
Performs best in warm and sunny weather
Performs best in colder and cloudy weather
Less expensive

More expensive
Opportunity for system expansion
Much better

Creates interference to RF- and audio equipment

How to select your solar charge controller?

Upon selecting a solar panel charge controller regulator, you should consider mainly:

  • The system voltage,
  • The solar array current (Isc or Imp),
  • The battery type.

What kind of solar battery maintainer to choose depends on the specific case and is a tradeoff between maximizing the solar generated power and extending the battery life.

PWM controllers are less expensive.

They are very suitable for small wattage solar electric systems.

Furthermore, their efficiency is similar to the MPPT solar panel battery regulator charge controller in hot climates.

An improperly selected charge controller can result in a 50% loss of the solar generated power in a mobile solar panel.

This is a common mistake usually made with charge controllers by owners of caravans, campers, RV and motorhomes.

They get a high voltage solar panel at the lowest cost per Watt and connect this solar panel or these solar panels to a PWM charge controller, and subsequently lose almost 50% percent of the available solar power.

Here is an example of how such a situation can occur.

Let’s consider a 220Wp solar panel with:

  • Maximum power point voltage Vmpp =29.1 V
  • Maximum power point current Impp =7.56 A

Let’s assume such a solar panel connected to a simple mobile solar power system consisting of a solar panel charge controller and a 12V battery bank.

A PWM charge controller is sized in regard to the current delivered by the solar array.

This means that the PWM charge controller delivers a charging current of 7.56A to a 12V battery bank.

If you neglect all the losses of the components of this solar power system, the PWM will only deliver 7.56 x 12V = 90W of power to the battery bank.

Thus you can lose about 130W of the available solar panel’s 220W power!

If you use a Maximum Power Point Tracking (MPPT) charge controller, the current provided to the battery bank increases up to 220W / 12V = 18.3A by such controller.

Such a boost in amps is produced by a current booster, which is an embedded part of every MPPT charge controller.

In this case, the battery bank receives 18.3A x 12V = 220W of power.

In an ideal case with no component losses, all solar panel generated power will be stored in the battery bank.

Therefore, if you want to minimize the power losses with a PWM charge controller, you should always connect a solar panel with maximum power point voltage Vmpp voltage closer to the battery bank’s voltage.

The second option is to consider the usage of an MPPT charge controller.

Although being the most expensive, its high efficiency will pay off in the long run.

Charge controller sizing

The main task of sizing the charge controller is calculating the solar array’s voltage and current, and use the calculated values to select the matching model.

Above all, however, you should determine what type of solar charge regulator would be optimal for your system, so that you neither pay more money than you actually need, neither buy a device that could possibly make your system underperform or even damage any of the other components.

When sizing the charge controller, a safety factor of 1.25 should be used.

By this factor, the maximum input voltage and current of the controller are additionally increased by 25%, so that the controller would be able to meet some sporadic increases in voltage and current due to high temperature, light reflection, etc.

1) Sizing a PWM charge controller

When sizing a PWM power controller, here are some basic principles to follow:

  • If the nominal voltage of a PWM charge controller is not equal to the nominal voltage of the solar array and the battery bank, you are going to lose a part of the solar generated power.
  • The solar charge regulator must sustain the maximum current of the solar array at the maximum ambient temperature.
  • The maximum voltage of the solar array must be lower than the maximum input DC voltage of the controller. Otherwise, the controller might get damaged at the lowest ambient temperature.
  • The DC voltage of the solar array must always be higher than the controller’s minimum DC voltage; this rule will ensure that the PWM controller will always work and track the solar array at the highest ambient temperature.

Mind that if the solar array only consists of solar panels wired in parallel, the solar array voltage is equal to the voltage of a standalone solar panel, while the solar array current will be a sum of the currents of the standalone panel.

Upon sizing the charge controller, here are the essential parameters of a single solar panel that are to be considered:

– Voc – the maximum open-circuit solar panel voltage at the lowest ambient temperature and the minimum open-circuit voltage at the highest ambient temperature.

Isc – the solar panel short-circuit current at the highest ambient temperature.

In our book  ‘Off Grid and Mobile Solar Power For Everyone: Your Smart Solar Guide’ you can find the details on PWM controller sizing, both for a residential and a mobile solar panel system.

You can use our free PWM solar charge controller calculator to select the best PWM charge controller for your system as well.

Please don’t forget to read the help file below the calculator along with accompanying demo examples.

2) Sizing an MPPT charge controller

Most common charge controllers have an output voltage of 12V, 24V or 48V.

The input voltage and current ratings are typically up to 60V and up to 60 A, accordingly.

With MPPT controllers, however, the input voltage range can boost up to 150V, which gives you more freedom to connect many solar panels in series, especially in larger solar panels systems.

Here are some simple steps how to select the MPPT charge controller size for your off-grid system:

– Find out the installed solar power Wp of the solar array.

– Find out the charge current Ic by dividing the Wp by the system voltage. For off-grid solar panels systems, it is often 12V.

– Find out the maximum charge current Icmax by multiplying the Ic by 1.2 (the NEC safety factor mentioned above).

– Find out the nominal voltage of the solar array Vmp_array. What matters here is how many panels are connected in series. You get the Vmp_array by multiplying the voltage of a single panel

Vmp_panel by the number of panels connected in series. For the controller to be able to handle the solar array, the Vmp_array should be within the input voltage range of the controller.

– Check out that the maximum voltage of the solar array Voc_array does not exceed the maximum input voltage of the controller.

Similarly to the above, you get Voc_array by multiplying the open circuit voltage of a solar panel Voc_panel by the number of panels connected in series.

It should be noted that solar manufacturers offer sizing tools for solar charge controllers. These tools can help you select the right size of the charge controller for your off-grid system.

You can find a step-by-step guide on how to size an MPPT charge controller, along with all formulas needed, in our book ‘The Ultimate Solar Power Design Guide: Less Theory More Practice’.

Commonly made mistakes during charge controller installation

Let’s assume you’ve found the right type and size of charge controller for your off-grid residential or mobile solar power system. Your next step is to plug it into the system together with the other components.

As you know, wires and connections are the veins of every solar panel system. Here are some common rules you must keep while plugging your charge controller:

  • Only DC loads should be connected to the charge controller’s output. AC loads should be connected to the inverter’s output.
  • Certain appliances, such as low-voltage refrigerators, must be connected directly to the battery.
  • In a small DC system with a charge controller, you do not need any fuses other than the one embedded in the charge controller. In larger DC systems, you need to provide a fuse on the positive terminal of the battery.
  • The charge controller should always be mounted close to the battery since precise measurement of the battery voltage is an important part of charge controller’s functions. Therefore, even the smallest voltage drops must be avoided.
  • A common charge controller has three terminal connections – for the array, for the battery, and for the DC loads. The charge controller disconnects the battery to prevent it from overcharging and disconnects the DC loads connected to the controller ‘DC load’ terminal to prevent the battery from overdischarging.
  • Every device connected directly to the battery instead of the ‘DC load’ terminal of the charge controller renders the charge controller battery’s overdischarching prevention function useless.
  • The inverter should be directly connected to the charge controller ‘DC load’ terminal.
  • When connecting the inverter to the charge controller ‘DC load’ terminal, check in the charge controller data sheet whether this terminal is powerful enough to provide the input current to the inverter. Otherwise, connect the higher power inverter directly to the battery bank. In such a case, you will render the charge controller’s function that prevents the battery from overdischarging useless.

Cheap charge controllers have a low-current ‘DC load’ terminal.

Therefore, their only function is preventing the battery from overcharging.

You can only connect a low-power 12V lamp or other low-power DC device to this terminal.

This terminal switches off to prevent the battery from overdischarging.

In such a case, you should connect the rest of the DC loads directly to the battery, as there is no way to disconnect them from the battery in case of overdischarging.

There is a strict sequence to follow upon introducing the charge controller to the solar electric system while connecting and while disconnecting the wires between the solar panel, charge controller, and battery bank:

how to connect solar charge controller to solar panel and battery bank

If the battery is not connected to the charge controller first, higher solar panel voltage can damage the load.


  1. Pop MSE, Lacho, Dimi Avram MSE, 2018, Off Grid and Mobile Solar Power For Everyone: Your Smart Solar Guide. Digital Publishing Ltd
  2. Pop MSE, Lacho, Dimi Avram MSE, 2015, The Ultimate Solar Power Design Guide: Less Theory More Practice. Digital Publishing Ltd
  3. Pop MSE, Lacho, Dimi Avram MSE, 2017, The New Simple and Practical Solar Component Guide. Digital Publishing Ltd
  4. Pop MSE, Lacho, Dimi Avram MSE, 2016, Top 40 Costly Mistakes Solar Newbies Make: Your Smart Guide to Solar Powered Home and Business, Digital Publishing Ltd

You also may like:

PWM Charge Controller Calculator

Solar Batteries: The Definitive Guide

Solar Electric Systems: Grid-Tied (On-Grid) Solar Power Systems and Off-Grid Solar Panel Systems Unveiled

The Different Types of Solar Panels Explained

The following two tabs change content below.
Lacho Pop, MSE, holds a Master's Degree in Electronics and Automatics. He has more than 15 years of experience in the design and implementation of various sophisticated electronic, solar power, and telecommunication systems.  He authored and co-authored several practical solar books in the field of solar power and solar photovoltaics. All the books were well-received by the public. You can discover more about his bestselling solar books on Amazon on his profile page here: Lacho Pop, MSE Profile