Effective solar PV system design is not just about picking the highest-wattage panels you can find; it is an exercise in bottleneck-matching from the array down to the AC load. A common failure mode in off-grid and hybrid builds is oversizing the PV array while choking the system with undersized DC busbars, mismatched battery chemistries, or inverters that trip on motor surges. In this guide, we will engineer a baseline 5kW continuous / 10kWh daily 48V system, walking through the exact sizing math, chemistry trade-offs, and code-compliant wiring practices required to make it work.
System Architecture and the Source-to-Load Path
A robust off-grid or hybrid solar PV system design follows a strict source-to-load block architecture: PV Array → MPPT Charge Controller → DC Bus/Battery Bank → Inverter/Charger → AC Subpanel. Every component in this chain must be rated for the maximum current of the stage before it, plus a safety margin.
The most critical architectural decision you will make early on is your nominal DC bus voltage, which dictates whether you wire your battery bank in series or parallel. Understanding the consequence for voltage (V) and amp-hours (Ah) is non-negotiable:
- Series Wiring: Voltage adds, Ah remains constant. Wiring four 12V 100Ah batteries in series yields a 48V 100Ah bank (5.12 kWh). The primary advantage is keeping DC current low. A 4,000W load on a 48V system pulls roughly 83A, which can be safely carried by 4 AWG THHN wire.
- Parallel Wiring: Ah adds, Voltage remains constant. Wiring those same four batteries in parallel yields a 12V 400Ah bank (still 5.12 kWh). However, a 4,000W load on a 12V system pulls over 333A. This requires massive, expensive 4/0 AWG cable, generates severe I²R heat losses, and creates a high-risk fault-current environment.
The Rule: For any solar PV system design exceeding 2,000W of continuous inverter load, always design for a 48V nominal DC bus. It minimizes voltage drop, reduces copper costs, and keeps DC breaker sizing within standard, readily available limits (under 150A).
Battery Bank Sizing: Chemistry, Peukert, and C-Rates
Your battery bank is the financial and physical anchor of your system. To size it correctly for a 10kWh daily load, we must account for inverter efficiency (typically 92%), depth-of-discharge (DoD) limits, and the chemical realities of the cells.
| Chemistry | Usable DoD | Max Continuous C-Rate | Peukert Exponent (k) | Cycle Life (80% SoH) |
|---|---|---|---|---|
| Flooded Lead-Acid (FLA) | 50% | 0.2C (C/5) | 1.25 - 1.30 | 500 - 800 |
| AGM / Gel (VRLA) | 50% | 0.3C (C/3) | 1.15 - 1.20 | 400 - 600 |
| LiFePO4 (LFP) | 80% - 90% | 0.5C - 1.0C | 1.00 - 1.05 | 4,000 - 6,000 |
| Sodium-Ion (Na-ion) | 80% | 0.5C | ~1.05 | 3,000 - 5,000 |
The Sizing Math: LiFePO4 vs. Lead-Acid
Let’s size the bank for our 10,000 Wh daily load using a 48V (nominal 51.2V for 16-series LFP) system.
LiFePO4 Path:
1. Base DC energy required: 10,000 Wh / 0.92 (inverter efficiency) = 10,869 Wh.
2. Adjust for 80% DoD: 10,869 Wh / 0.80 = 13,586 Wh required gross capacity.
3. Convert to Ah: 13,586 Wh / 51.2V = 265 Ah.
Selection: A single 48V 300Ah server-rack LiFePO4 battery (15.3 kWh gross) covers this perfectly, leaving a buffer for days with low insolation.
Flooded Lead-Acid (FLA) Path:
FLA batteries suffer from the Peukert effect, where the effective capacity drops significantly as the discharge current increases. With a Peukert exponent of 1.25, pulling 100A from a 400Ah bank will yield noticeably less than 4 hours of runtime. Furthermore, you are limited to a 50% DoD to prevent sulfation. To deliver the same 10,869 Wh of usable energy, you must double the gross capacity to roughly 27,000 Wh (approx. 525 Ah at 51.2V). This requires a massive, heavy, and maintenance-intensive battery room.
Charge and Discharge Limits (C-Rates)
A 1C discharge rate on a 100Ah battery means drawing 100A. While modern LiFePO4 cells can often handle 1C continuous, doing so generates internal heat and accelerates degradation. For maximum cycle life in a solar PV system design, limit your continuous discharge to 0.5C (50A per 100Ah) and your bulk charge current to 0.5C. If your MPPT controller can output 100A, your LFP bank should be sized to at least 200Ah to absorb that current safely without triggering the BMS over-current protection.
Inverter and Charge Controller Sizing for Real Loads
With the battery bank sized, we must move power from the DC bus to the AC loads, and from the PV array back into the DC bus.
Inverter Sizing: Continuous vs. Surge
Our target is 5kW of continuous AC load. Inverters should not be run at 100% of their rated continuous capacity for extended periods; aim for an 80% maximum continuous load factor.
5,000W / 0.80 = 6,250W.
Selection: A 48V 8,000W (or dual stacked 4,000W) low-frequency inverter/charger, such as the Victron MultiPlus-II 48/5000 or a comparable Sol-Ark 8k hybrid. Low-frequency inverters use heavy copper toroidal transformers, which are vastly superior at handling the Locked Rotor Amps (LRA) surge currents required to start well pumps, compressors, and table saws compared to high-frequency MOSFET-based inverters.
MPPT Charge Controller and PV Array Sizing
To replenish 10kWh of battery consumption, we must calculate the required PV array size based on local peak sun hours. Using the NREL PVWatts Calculator, assume a conservative 4.0 peak sun hours for a shoulder-season design.
1. Base array size: 10,000 Wh / 4.0 hours = 2,500W.
2. Add 25% derating for system losses (wire voltage drop, dust, heat, MPPT efficiency): 2,500W * 1.25 = 3,125W.
Selection: A 3,200W to 3,500W PV array.
To size the MPPT charge controller, divide the array wattage by the battery charging voltage (not nominal voltage). A 51.2V LFP bank charges at roughly 56V.
3,200W / 56V = 57A.
Select an 80A or 100A MPPT controller (e.g., Victron SmartSolar 150/100). Critical Code Caveat: Per NEC 690.7, you must calculate the maximum open-circuit voltage (Voc) of your PV string at the coldest historical temperature for your region. PV voltage rises as temperature drops. If your string's cold-weather Voc exceeds the MPPT's 150V limit, you will instantly destroy the controller.
Decision Matrix: Where Off-Grid Designs Fail
Even with perfect math, physical installation errors will cripple a solar PV system design. Use this decision tree to audit your build before energizing.
| Symptom / Failure Point | Root Cause | Engineering Fix |
|---|---|---|
| Inverter shuts down under heavy load, battery voltage drops below 44V instantly. | DC voltage drop exceeds 1% due to undersized battery cables or loose terminal lugs. | Upsize battery-to-inverter cables to 2/0 AWG or 4/0 AWG. Torque all lugs to manufacturer specs (usually 10-15 Nm) and use a thermal camera to check for hot spots under load. |
| MPPT controller limits charge current early; battery never reaches 100% SoC. | PV array Voc is too close to the MPPT max voltage limit, or array is wired in too long of a series string. | Reconfigure PV strings to increase parallel connections and decrease series connections. Ensure wire sizing from array to MPPT handles the increased current (e.g., 10 AWG to 8 AWG). |
| High phantom drain; battery depletes overnight with no AC loads turned on. | Inverter tare loss (idle consumption) and unswitched DC loads (BMS, monitoring shunts). | Install a heavy-duty DC disconnect switch on the inverter's positive feed and turn it off when the cabin is unoccupied. Choose inverters with 'Eco Mode' or search-mode features. |
| Breaker trips randomly, but measured current is below breaker rating. | Using AC-rated breakers on the DC side, or ignoring ambient temperature derating. | Only use DC-rated breakers (with magnetic blowouts) for battery and PV feeds. If breakers are in a hot enclosure, apply NEC 310.15 derating factors or upsize the breaker and wire. |
For comprehensive wiring standards and busbar layouts, reference the Victron Energy Wiring Unlimited guide, which remains the industry benchmark for physical DC bus design. Ultimately, a successful solar PV system design relies on respecting the physics of DC current: keep the voltage high, keep the wires thick, and never trust a connection you haven't torqued yourself.






