Skip to content
Engineerly

Sizing an Off-Grid Solar and Battery System: A Worked Example

A complete worked example of an off-grid PV system: load audit, daily energy, battery bank, array size, charge controller, inverter and cable checks, with each number derived.

Last reviewed

Work backwards from the loads: daily energy in Wh sets the battery (with depth of discharge and days of autonomy) and the array (with peak sun hours and losses). By day the array charges the battery and feeds the loads; at night the battery carries them.

An off-grid solar system has no grid to fall back on. Every watt-hour the loads use has to be harvested by the panels, stored in the battery and delivered by the inverter, with losses at every stage. This guide sizes a complete system for a small house, step by step. Every number is derived from the one before it, so you can repeat the process with your own loads. The loads, site data and equipment ratings below are example values chosen for illustration. Replace them with your own figures and your manufacturers' datasheets.

Step 1: the load audit

Sizing starts with energy, not power. List each appliance, its power in watts and the hours it runs per day. Multiply the two to get watt-hours per day. For appliances that cycle, such as a refrigerator, use the equivalent running hours or, better, a measured kWh figure.

Example loadPower (W)Hours/dayWh/day
LED lighting, 10 × 10 W1006600
Refrigerator (compressor equivalent)15081 200
Television1005500
Wi-Fi router1524360
Laptop606360
Ceiling fans, 2 × 75 W150101 500
Water pump7501750
Phone charging20360
Total1 3455 330

The electricity cost and appliance energy calculator builds the same table and gives monthly kWh. The audit is also the cheapest place to save money. Every watt-hour removed here reduces the battery and the array in proportion.

Step 2: inverter efficiency and daily DC energy

These are AC loads, so the energy passes through the inverter. With an example inverter efficiency of 90 %, the battery has to deliver:

E_DC = E_AC / η_inv = 5 330 / 0.90 = 5 922 Wh/day

Inverter efficiency is lower at light load, and the inverter also draws its own standby power around the clock. If the datasheet gives a no-load consumption, multiply it by 24 h and add it to the audit.

Step 3: choose the system voltage

The DC voltage sets the current, and current sets the cable size, fuse ratings and losses. For the same power, current is inversely proportional to voltage. A 3 000 W inverter at 90 % efficiency draws about 3 000 / (12 × 0.9) = 278 A from a 12 V battery, 139 A at 24 V and 69 A at 48 V. Resistive loss in the cable scales with current squared, so moving from 12 V to 48 V cuts it sixteenfold for the same cable. As a broad guide, 12 V suits loads of a few hundred watts, 24 V suits systems up to a couple of kilowatts, and 48 V suits anything larger. This system uses 48 V.

Step 4: the battery bank

The bank must cover the chosen number of days of autonomy, the days of poor sun the system must ride through, without discharging beyond the allowed depth of discharge (DoD). With 2 days of autonomy:

C = E_AC × days / (V × DoD × η_inv) LiFePO4, DoD 0.8: C = 5 330 × 2 / (48 × 0.8 × 0.90) = 308.4 Ah Lead-acid, DoD 0.5: C = 5 330 × 2 / (48 × 0.5 × 0.90) = 493.5 Ah

DoD is a trade-off with cycle life. Lead-acid batteries last much longer when they are discharged only to about half capacity. LiFePO4 cells tolerate deeper cycling, which is why 0.8 is a common planning value for them. These are general starting points. The manufacturer's datasheet and warranty terms set the real limits. Note also that a 16-cell LiFePO4 bank is nominally 51.2 V, so using 48 V in the calculation is slightly conservative.

Series and parallel. Series connection adds voltage and parallel connection adds amp-hours. With example 12 V, 200 Ah batteries, four in series make one 48 V string of 200 Ah. Two strings in parallel give 48 V, 400 Ah, or 19.2 kWh nominal and 15.4 kWh usable at 80 % DoD, which covers the 14.8 kWh required (5 330 × 2 / 0.9 / 0.8). This is a 4S2P bank of eight batteries. The lead-acid option would need three strings (600 Ah) and twelve batteries. Keep parallel strings to the number the manufacturer allows, use equal-length cables to each string, and never mix old and new batteries. The battery runtime calculator checks how long the finished bank lasts at any load.

Step 5: the PV array

Peak sun hours (PSH) express the day's solar energy as the number of hours at 1 kW/m², the irradiance at which panels are rated. Use the value for the worst month in which the system must still cover the load, taken from a solar resource database for the site and the panel tilt. The example uses 5.0 h.

The derate factor lumps together the losses between the panel nameplate and the battery. These include high cell temperature, which is usually the largest, plus dust and soiling, manufacturing tolerance, mismatch, DC cable losses, controller efficiency and battery charge efficiency. The example uses 0.75:

P_array = E_DC / (PSH × derate) = 5 922 / (5.0 × 0.75) = 1 579 Wp

With example 450 W panels, 1 579 / 450 = 3.51, so 4 panels are needed, giving 1 800 Wp. The expected daily yield is 1 800 × 5.0 × 0.75 = 6 750 Wh, a 14 % margin over the 5 922 Wh required. In the solar PV sizing calculator, enter either the DC energy with this derate or the AC energy with a derate that also includes the inverter (0.75 × 0.90 = 0.675). Both give the same array.

Step 6: string layout and controller voltage limit

The example panel datasheet gives Voc 49.5 V, Vmp 41.5 V, Isc 11.5 A, Imp 10.85 A and a Voc temperature coefficient of −0.27 %/°C. These are illustrative values, so use the figures for your own panel. The example MPPT controller accepts up to 150 V on its PV input.

Panel voltage rises as temperature falls, so the string must be checked at the coldest expected cell temperature, taken here as −5 °C, 30 °C below the 25 °C rating:

Voc_cold = Voc × (1 + 0.0027 × 30) = 49.5 × 1.081 = 53.5 V per panel 2 in series: 2 × 53.5 = 107.0 V < 150 V ✓ 3 in series: 3 × 53.5 = 160.5 V > 150 V ✗

So the four panels are wired as two strings of two (2S2P). Exceeding the controller's maximum input voltage can destroy it, so this check is not optional. At the other extreme, hot panels have a lower Vmp. The string Vmp of 83 V at STC must stay comfortably above the battery's charging voltage, about 58 V for this bank, even on the hottest day. Check this with the datasheet's Vmp or Pmax coefficient.

Step 7: MPPT controller current

PV input: I = 1.25 × Isc × strings = 1.25 × 11.5 × 2 = 28.8 A Charging output: I ≈ P_array / V_batt = 1 800 / 48 = 37.5 A

The 1.25 factor provides margin for irradiance above the standard 1 kW/m². A controller rated 150 V and 40 A or more on its output is suitable, and 50 A leaves room for another panel later. Also check the controller's maximum PV input power at 48 V. A charge current of 37.5 A into 400 Ah is under 0.1 C, which is well within the charge limits of both chemistries.

Step 8: inverter continuous and surge rating

If every load ran at once, the demand would be 1 345 W, and with 25 % headroom that is about 1 700 W. Motors, however, draw several times their running power while starting. Assuming a starting surge of 4 times running power for the 750 W pump (check the pump data), the worst moment is 4 × 750 + 595 = 3 595 W for a few seconds. A 3 000 W inverter whose datasheet shows a surge capacity above 3.6 kW for several seconds covers both requirements. Choose a pure sine wave inverter for motor and electronic loads.

Step 9: DC cable voltage drop

The battery-to-inverter cable carries the largest current. At 3 000 W and a low battery voltage of 44 V, the current is 3 000 / (44 × 0.9) = 75.8 A. For a 2 m one-way run in 25 mm² copper at 70 °C (R = 0.017241 × 1.1965 / 25 = 0.000825 Ω/m):

ΔV = 2 × I × L × R = 2 × 75.8 × 2 × 0.000825 = 0.25 V (0.57 % of 44 V)

For the PV run, two strings at Imp give 21.7 A at 83 V over 20 m. In 6 mm² cable the drop is 2 × 21.7 × 20 × 0.003438 = 2.98 V, or 3.6 %. In 10 mm² cable it is 1.79 V, or 2.2 %, so 10 mm² is the better choice. Repeat these checks in the voltage drop calculator, and confirm that each cable's current-carrying capacity suits its installation method.

Step 10: protection

  • Battery fuse or breaker. Place it as close to the battery positive terminal as possible. Size it above the maximum inverter current (75.8 × 1.25 ≈ 95 A, so 100 A) and below the cable's rated capacity. It must be DC-rated with a breaking capacity above the battery's short-circuit current, which can be very high for lithium banks. Take that figure from the battery datasheet.
  • PV isolation. Fit a DC-rated PV isolator between the array and the controller, rated for the cold Voc and the input current.
  • String fuses. With two strings, a faulted string can be back-fed only by the one other string. Whether fuses are needed depends on the panel's maximum series fuse rating. With three or more strings, string fuses are normally required. Follow IEC 62548 or the local code.
  • Battery management and earthing. LiFePO4 banks need a battery management system that can stop charge and discharge. Follow the local wiring rules for earthing and surge protection on the AC and DC sides.

This worked example is general education with illustrative values. Design real systems to the local code and the manufacturers' data.

Calculators for this topic

Other guides

All guides