Solar + HHO Hybrid Systems
Combining solar panels with HHO generation for true off-grid resilience. Batteries handle hourly fluctuations; hydrogen handles multi-day storage. This is the best of both worlds.
◉ The Storage Problem
Solar is great — until it isn't. A typical off-grid home needs 20-30 kWh/day. On a sunny day, panels produce plenty. On three cloudy days in a row? You need 60-90 kWh of storage.
Lithium batteries: $400-600/kWh. A 90 kWh battery bank costs $36,000-$54,000 and will degrade in 10 years.
Hydrogen storage: ~$50/kWh equivalent, lasts indefinitely. The economics change dramatically.
◉ Hybrid Architecture
The key insight: use batteries for short-term cycling, hydrogen for seasonal storage.
┌─────────────────────────────────────────────────┐
│ SOLAR ARRAY │
│ (sized for 1.3x loads) │
└────────────────────┬────────────────────────────┘
│
┌──────▼──────┐
│ CHARGE │
│ CONTROLLER │
└──────┬──────┘
│
┌──────────┴──────────┐
│ │
┌─────▼─────┐ ┌─────▼─────┐
│ BATTERY │ │ELECTROLYZER│
│ BANK │ │ (PEM) │
│ (5 kWh) │ │ 500W │
└─────┬─────┘ └─────┬─────┘
│ │
│ ┌─────▼─────┐
│ │ H₂ │
│ │ STORAGE │
│ │(3000 L) │
│ └─────┬─────┘
│ │
│ ┌─────▼─────┐
│ │ FUEL │
│ │ CELL │
└──────┬───────┤ (1 kW) │
│ └───────────┘
┌──────▼──────┐
│ INVERTER │
│ (48V→AC) │
└──────┬──────┘
│
HOME LOADS (AC)
◉ Operating Modes
Mode 1: Sunny Day
Solar produces more than loads consume. Priority order:
- Power loads directly (zero conversion loss)
- Charge batteries to 100%
- Run electrolyzer with surplus
- Dump remaining to resistive load (water heater)
Mode 2: Night (Batteries Full)
Solar gone, batteries supply loads. Typical night drains 4-6 kWh. Our 5 kWh battery (80% DoD = 4 kWh usable) handles this easily.
Mode 3: Cloudy Day (Batteries Low)
Solar weak, batteries depleting. When batteries hit 30%, fuel cell starts automatically:
fn cloudy_day_handler() {
if battery_soc < 30 && solar_power < load_demand {
// Start fuel cell at 50% capacity to preserve H₂
fuel_cell.start(power: 500)
// Ramp up if batteries keep dropping
while battery_soc < 50 {
fuel_cell.set_power(min(fuel_cell.power + 100, 1000))
sleep(60_000) // Re-evaluate every minute
}
}
}
Mode 4: Multi-Day Cloud
Fuel cell runs continuously. At 1 kW and 50% efficiency, it consumes ~2,000 L H₂/day. Our 3,000 L storage provides 36 hours at full draw, or 3+ days at reduced loads.
◉ Seasonal Strategy
Summer produces surplus hydrogen. Winter consumes it. The system accumulates reserves May-September, draws down October-March.
Our first year's data:
| Month | Solar (kWh) | Load (kWh) | H₂ Net (L) |
|---|---|---|---|
| January | 89 | 185 | -4,200 |
| April | 210 | 155 | +2,400 |
| July | 320 | 140 | +7,800 |
| October | 145 | 160 | -650 |
Summer builds reserves, winter consumes them. The system balanced over 12 months with slight surplus.
◉ Control System in Lateralus
The entire control system is a 300-line Lateralus program:
enum PowerState {
SolarSurplus(watts: int),
BatteryPowered,
FuelCellAssist,
LowReserve,
}
fn determine_state() -> PowerState {
let solar = sensors.solar_power()
let load = sensors.load_power()
let batt = sensors.battery_soc()
let h2 = sensors.h2_pressure()
match (solar - load, batt, h2) {
(surplus, _, _) if surplus > 100 => PowerState::SolarSurplus(surplus),
(_, batt, _) if batt > 30 => PowerState::BatteryPowered,
(_, _, h2) if h2 > 2 => PowerState::FuelCellAssist,
_ => PowerState::LowReserve,
}
}
fn control_loop() {
loop {
let state = determine_state()
state
|> apply_power_routing()
|> log_telemetry()
|> check_safety_limits()
sleep(1000)
}
}
◉ Safety Engineering
Hydrogen safety is non-negotiable:
- Outdoor electrolyzer: All hydrogen generation happens in a ventilated enclosure outside the house.
- Pressure limits: We stay under 10 bar. Standard propane-grade fittings and tubing work fine.
- Leak detection: Catalytic hydrogen sensor triggers automatic shutoff valve + alert.
- Flame arrestors: On all tank connections — if ignition occurs, flame can't propagate to storage.
- Automatic purge: System bleeds lines on shutdown to prevent stagnant H₂.
◉ Economics
Compared to a battery-only system for the same resilience:
| System | Cost | 3-day reserve | Lifespan |
|---|---|---|---|
| Battery only (90 kWh LFP) | $36,000 | Yes | 10-15 years |
| Hybrid (5 kWh + HHO) | $12,000 | Yes | 20+ years |
The hybrid costs 1/3 as much and lasts longer. The fuel cell and electrolyzer are the lifespan limiters (~20,000 hours), but they're replaceable for ~$2k.
◉ What We'd Do Differently
- Bigger electrolyzer. 500W is fine, but 1kW would accumulate faster in summer.
- Compression. 10 bar works, but 30 bar would reduce tank volume by 3x.
- Combined heat+power. Fuel cell waste heat (50% of input energy) could heat water or the house.
See the HHO page for detailed build guides and component sources.