Technical Architecture

Four layers of hardware. Twenty containers of software.

OpenWRT host. Docker-managed CDN services. 802.11s + B.A.T.M.A.N. mesh. Solar-first power. Built for rural deployment.

System architecture.

Layer 1 · Power
  • Solar panel 20W
  • MPPT CN3791
  • LiFePO4 12V/6Ah
  • DC-DC buck
  • 5V/12V rails
Layer 2 · Radio
  • MediaTek MT7628 SoC
  • MT7612E 5GHz radio
  • Quectel EC25 4G
  • 9dBi omni antenna
Layer 3 · Software
  • OpenWRT 23.05
  • 802.11s + B.A.T.M.A.N.
  • OpenVPN tunnel
  • Management dashboard
Layer 4 · Backhaul
  • Fiber / Ethernet
  • 4G LTE (Quectel EC25)
  • Starlink mini
  • Auto-failover (mwan3)
End users
📱 Feature phone · 📲 Smartphone · 💻 Laptop · 📟 IoT device · 📋 Tablet — 50–200 devices per node
Signal Mesh CDN

8 categories. 256GB. Three-layer sync.

Every node runs ~20 Docker services on the OpenWRT host. Content rsyncs between mesh peers nightly and pulls deltas from the Signal CDN origin when backhaul is available.

🎵
Audio
18GB
🎬
Video
60GB
📖
Written
35GB
🖼
Visual
20GB
💬
Social
8GB dynamic
📰
News
12GB rolling
🎓
Education
38GB
🏘
Community
50GB operator slot
Layer 3 · Cloud origin
Signal CDN Origin
cdn.signal231.com · Cloudflare R2
↓ HTTPS + WireGuard · monthly delta releases
Layer 2 · Mesh peers
🛰
A · gateway
📡
B · relay
📡
C · relay
📡
D · relay
📡
E · relay
5GHz P2P · rsync · 02:00–05:00 sync window
↓ 2.4GHz WiFi · sub-100ms · no internet required
Layer 1 · Local serving
📱 💻 📺 ⌚ 🖥
200 concurrent users per node

Software stack.

LayerToolRoleLicense
OS / FirmwareOpenWRT 23.05Router OS, package management, mesh configGPL-2.0
Mesh routing802.11s + B.A.T.M.A.N. Advanced v2024Node-to-node mesh, automatic route optimizationGPL-2.0
Backhaul routingOpenWRT multi-WAN (mwan3)Fiber → 4G → Starlink automatic failoverGPL-2.0
Network managementOpenWRT LuCI + custom dashboardRemote monitoring, subscriber managementApache 2.0
Offline contentKiwix + Wikipedia ZIM + Khan Academy64GB offline content serverGPL-3.0
VPN tunnelOpenVPN / WireGuardSecure remote management over cellularGPL-2.0
Mesh topology

Self-healing village mesh.

Node 1 carries the Starlink backhaul. Nodes 2–5 relay over 802.11s. If any node fails, B.A.T.M.A.N. Advanced reroutes traffic in seconds — the mesh keeps running.

  • · 5 nodes covering ~1.5km² of a typical village
  • · 300m mesh spacing for reliable handoff
  • · Up to 200 devices per node = ~1,000 simultaneous clients
🛰 STARLINK1Backhaul2345
Power system

Solar in. 4–8W out. All day.

☀ Sunlight
5.5 peak sun hours/day · Liberia
20W solar panel
Flexible mono · 12V
MPPT CN3791
1A optimal-voltage tracking
Battery 12V/6Ah
6× Samsung 25R · 3S2P · 48h backup
DC-DC MP2307
12V → 5V/3A → loads
Daily harvest
110 Wh
20W × 5.5h peak sun
Daily consumption
96 Wh avg
4W avg × 24h · 192 Wh peak

Average daily draw covered by solar + 48h battery buffer

Three operating states.

The same 256GB CDN serves clients regardless of upstream connectivity.

🟢
Internet connected

All 8 CDN categories live-updating. Full internet browsing. Backhaul sync runs 02:00–05:00.

🟡
Internet offline

All 256GB of CDN content fully available. Sub-100ms loading from local microSD. Zero user impact. Social features work locally.

🔵
Sync window active

Node detects returning backhaul. Delta content updates pull from cdn.signal231.com. New content propagates to all mesh peers within 48 hours.