Okra Solar Beacon V2: Architectural Benchmark & Field Transition
Real-world deployment audits in remote Nigerian villages (such as Abababubu) reveal that laboratory-tested wireless architectures frequently break down under severe atmospheric, topographical, and client scaling conditions.
The evolution of the Okra Solar Beacon—a specialized edge DCU and solar controller gateway—illustrates a classic engineering pivot from standard vendor-locked radio architectures to modular, open-source-driven hardware combinations. Evaluating the transition from the Beacon V1 to the Beacon V2 highlights crucial lessons in scaling sub-GHz mesh networks in challenging field conditions.
| Specification Layer | Okra Beacon V1 Architecture | Okra Beacon V2 Architecture (Current) | Engineering Impact & Rationale |
|---|---|---|---|
| Host Processor | BeaglePlay (TI AM625, Cortex-A53) | NanoPi Neo Core (Allwinner H3, Cortex-A7) | Cost reduction and optimized power consumption. Cortex-A7 provides excellent performance-to-cost ratio for pure routing. |
| Sub-GHz Mesh Radio | Texas Instruments CC1352P7 | Silicon Labs EFR32FG28 (SoC) | Superior Wi-SUN FAN protocol stack stability, higher memory capacity, and reliable performance with 100+ nodes. |
| Cellular Uplink | GL-X300B / MCUZone integrated module | Quectel EG21-G Mini-PCIe Module | Elimination of frequent cellular connection drops. EG21-G features robust Linux drivers and stable power consumption. |
| Enclosure & Power | Custom CNC aluminum housing | Repurposed outdoor industrial 4G router shell | IP67 weatherproofing and drastic manufacturing cost reduction. High thermal dissipation under equatorial sun. |
| Operating System | Debian Linux on TI Kernel 5.10 | Armbian Linux (Custom Minimal Kernel 6.1+) | Significant OS memory footprint reduction (from 420MB down to 110MB), maximizing RAM for userspace packet buffering. |
Under Beacon V1, the Texas Instruments CC1352P7 running the TI Wi-SUN FAN stack suffered severe memory leaks and routing table overflows when local node clusters exceeded 90 clients. Spontaneous reboots and routing loops occurred because the internal microcontroller RAM was overwhelmed by routing metrics.
Beacon V2 utilizes the Silicon Labs EFR32FG28, acting as a Radio Co-Processor (RCP) connected via UART to the Allwinner H3 host. By offloading the complex Wi-SUN FAN routing engine to the Linux host userspace (running the Silicon Labs wsbrd daemon), the system easily scales to 200+ Cicada clients in Porto staging trials.
Beacon V1 suffered from cell drops caused by poor USB bus reset logic on cheap MCUZone boards. Beacon V2's shift to the Quectel EG21-G Mini-PCIe module, combined with hardware reset lines directly wired to the host CPU's GPIO, allows the DCU to hard-reboot frozen modems without power-cycling the entire system.
DCU Host Processor Selection: Industrial vs. Consumer Grade
A comparative engineering audit of the three leading ARM-based hardware architectures considered for open-source Data Concentrator Units (DCUs) in high-temperature, low-power African micro-grids.
Selecting the host processor requires balancing structural durability, power budgets, procurement supply-chain reliability, and localized low-latency protocol processing. Below, we compare the Allwinner H3 (NanoPi Neo Core), Texas Instruments AM3358 (BeagleBone Black Industrial), and Broadcom BCM2711 (Raspberry Pi Compute Module 4).
| Hardware Dimension | Allwinner H3 (NanoPi Neo Core) | TI AM3358 (BeagleBone Industrial) | Broadcom BCM2711 (RPi CM4) |
|---|---|---|---|
| CPU Cores & Clock | 4x Cortex-A7 @ 1.2 GHz | 1x Cortex-A8 @ 1.0 GHz | 4x Cortex-A72 @ 1.5 GHz |
| Operating Temp Range | -20°C to 70°C (Extended Consumer) | -40°C to 85°C (True Industrial) | -20°C to 85°C (Extended Industrial) |
| Real-Time Subsystems | None | 2x 32-bit PRUs (Programmable Real-Time Units) | None (relies on external microcontrollers) |
| Flash Storage Interface | 8GB / 16GB eMMC (Onboard) | 4GB 8-bit eMMC (Onboard) | eMMC 5.1 (Up to 32GB) or external SD |
| Power Draw (Idle / Load) | ~1.1W / ~3.2W | ~0.8W / ~2.1W | ~2.2W / ~6.5W |
| NRE & Open-Source Status | Schematics open; PCB layout closed. | 100% Open-Source Hardware (OSHW). | Closed proprietary layout; vendor-locked. |
| Best Use-Case Fit | Cost-optimized, simple mesh-router DCUs. | Ultra-reliable, legacy-heavy edge nodes. | High-bandwidth local edge processing & HES. |
The TI AM3358 features dual 200MHz 32-bit PRUs. These microcontrollers share memory with the main Linux ARM core, allowing developers to offload legacy, timing-critical microsecond bit-banging tasks (e.g., RS-485 HDLC/DLMS serial frames, or fast analog sampling of grid voltage waveforms) without introducing Linux kernel scheduler latency.
The Raspberry Pi CM4 provides massive processing power but at a severe thermal cost. It draws up to 6.5W under load, demanding large heat-sinks that block airflow in compact, sealed IP67 enclosures. The NanoPi Neo Core and BeagleBone Black operate safely inside sealed enclosures up to 55°C ambient without active cooling.
Consumer-grade Allwinner boards suffer from brief production lifespans and frequent revision breaks, creating manufacturing nightmares. The BeagleBone Industrial and RPi CM4 guarantee a minimum 10-year production lifecycle, critical for utility infrastructure planned to operate for 15+ years in the field.
Smart Meter Radio Transceiver Survey: STS & DLMS Certified Hardware
A deep-dive technical assessment of standard smart meters deployed by Hexing, Calin, and Synergy. Highlighting physical RF/PLC modules, protocol capabilities, and compatibility with an open-source Wi-SUN mesh.
Commercial meters deployed across Sub-Saharan Africa must comply with the STS (Standard Transfer Specification) for token prepayment and the DLMS/COSEM (IEC 62056) protocol for data models. However, the physical communication layer is highly fragmented.
| Meter Manufacturer | Primary Radio / PLC Chips Deployed | Physical Downlink Interface Options | STS Prepayment Mode | DLMS Compliance Profile | Open Wi-SUN Compatibility Status |
|---|---|---|---|---|---|
| Hexing Electrical | Silicon Labs EFR32FG25, STMicroelectronics ST8500 (G3-PLC) | Sub-GHz RF (868/915 MHz), G3-PLC, NB-IoT / GSM | STS Standard (20-digit token), virtual keypad via WAN | Fully Compliant (DLMS/COSEM HDLC, TCP/UDP profiles) | High (via standard Silicon Labs EFR32FG25 modules) |
| Calin Metering | Texas Instruments CC1310, Semtech SX1276 (LoRa) | Sub-GHz RF FSK (868 MHz), LoRaWAN, NB-IoT | STS Standard (keypad on Split-type UIU) | Compliant (mostly HDLC serial wrapping over RF tunnel) | Medium (requires custom firmware or module swap to EFR32) |
| Synergy Smart | Microchip ATPL250A (PRIME PLC), Realtek RTL8195 (ZigBee) | PRIME PLC, ZigBee (2.4 GHz), GPRS / LTE-M | STS Standard (online & offline keypad modes) | Fully Compliant (supports standard COSEM OBIS registers) | Low (uses proprietary 2.4 GHz ZigBee or PRIME PLC stacks) |
Modern Hexing meters utilize the Silicon Labs EFR32FG25 chip for sub-GHz mesh. This chip has a built-in Orthogonal Frequency Division Multiplexing (OFDM) accelerator, allowing high data rates (up to 3.6 Mbps) while complying with the strict Wi-SUN FAN 1.0/1.1 specifications.
Calin meters traditionally use Semtech LoRa or simple Sub-GHz FSK (via CC1310). While LoRa provides exceptional single-hop distances (up to 3km in rural settings), it is legally limited by duty-cycle constraints (typically 1% in EU/Africa bands), preventing high-frequency interval logging and firmware upgrades over the air.
In high-density urban areas, ST8500-based G3-PLC or Microchip ATPL250A-based PRIME PLC modules utilize the existing power cables for communications. However, on rural grids with fluctuating voltages, high harmonic noise from low-cost solar inverters degrades PLC signals, making Sub-GHz RF mesh (Wi-SUN) the vastly superior physical layer for remote micro-grids.
ARM Linux Driver Strategy: Bridging Physical Silicon to OS
A deep-dive technical assessment of Linux kernel drivers, userspace daemons, and SDK requirements for interfacing industrial PLC and Sub-GHz RF chips with ARM hosts.
Critical Fact: The Linux kernel does *not* contain upstream drivers for industrial G3-PLC (like ST8500) or PRIME PLC transceivers. Integrating these chips requires compiling vendor-supplied software development kits (SDKs) and wrapping raw physical registers in custom serial interfaces.
The ST8500 runs proprietary firmware loaded at boot time. The host ARM CPU communicates with it via a high-speed UART or SPI interface using the STSW-ST8500 SDK. A userspace service maps this serial stream to a standard SLIP (Serial Line Internet Protocol) or custom character device (/dev/st8500), allowing network applications to push IPv6 frames over the powerline.
For the EFR32FG28 radio co-processor, no custom kernel driver is needed. Instead, it acts as a standard Radio Co-Processor (RCP) exchanging raw HDLC frames over a high-speed UART (up to 921,600 bps) with the host. The Silicon Labs wsbrd userspace daemon handles this traffic, managing the complex Wi-SUN FAN layer and exposing a virtual IPv6 network interface (tun0) directly to the OS kernel.
- Device Tree Alignment: Verify that GPIO pin mappings for chip resets, UART RTS/CTS hardware flow control, and SPI Chip Select lines are properly defined in the custom Linux Device Tree Source (
.dts) file and compiled to.dtb. - Physical Link Verification: Check physical communications using low-level serial tools:
stty -F /dev/ttyS1 speed 115200 cs8 -cstopb -parenb hwclocal crtscts - RCP Daemon Handshake: Launch the
wsbrddaemon in verbose mode to confirm successful RCP registration and firmware checksum validation:wsbrd -F /etc/wsbrd.conf -u /dev/ttyS1 -v - Interface Initialization: Confirm that the
tun0interface is dynamically created, assigned a link-local IPv6 address (fe80::/64), and active in the routing table:ip -6 addr show dev tun0 && ip -6 route show - PHY/MAC Layer Integrity Audits: Check the link quality of downstream nodes using physical ICMPv6 echo pings to registered smart meter IPv6 addresses over the
tun0interface:ping6 -I tun0 fd00:db8::204:25ff:fe1a:3b2c
Head-End System (HES) Stack: Proprietary vs. Modular Open-Source
A comparative evaluation of components required to compile a fully open-source, vendor-neutral HES stack capable of replacing proprietary enterprise metering software.
Traditional AMI systems rely on monolithic, closed packages such as Landis+Gyr UtilityIQ, Itron EAC, or Siemens EnergyIP. By decomposing these systems, utilities can assemble an incredibly robust, zero-license-cost equivalent utilizing modular open-source components.
| Software Component | Core Role in the AMI Stack | Primary Open-Source Option | Leading Closed/Proprietary Option | Open-Source Core Advantages | Openness & Modularity Score |
|---|---|---|---|---|---|
| Message Broker | High-throughput DCU telemetry ingestion and command routing. | EMQX (OSS Edition) / Eclipse Mosquitto | Itron DINA Communication Bus / IBM MQ | Massive scalability (handles 100M+ simultaneous MQTT connections), built-in rule engine for real-time data routing. | 9.8 / 10 |
| DLMS/COSEM Engine | Translates raw byte payloads (A-XDR) to clean JSON/REST objects. | Gurux.DLMS.Client (Java/Python/.NET) | Landis+Gyr UtilityIQ Translation Engine | Comprehensive standard coverage (OBIS, HDLC, TCP, Wrapper), actively maintained, free of per-device license fees. | 9.5 / 10 |
| Device Management | Handles OTA firmware deployments, device inventory, and alarm triggers. | ThingsBoard Community Edition (CE) | Itron Enterprise Active Control (EAC) | Outstanding customizable dashboards, advanced rule-engine for alert triggers, secure credential storage. | 9.0 / 10 |
| Prepayment Billing | Manages tariffs, consumer accounts, and STS-compliant token generations. | MicroPowerManager (MPM) + OpenPAYGO | Proprietary Utility Billing Systems / SAP IS-U | Designed specifically for mini-grids, fully integrates offline STS and OpenPAYGO token standards. | 8.8 / 10 |
Unlike basic MQTT brokers (like Mosquitto) which lack native clustering, EMQX (Open Source) supports distributed cluster deployments out-of-the-box. It can ingest hundreds of thousands of concurrent smart meter messages per second while routing specific alarms (e.g. bypass tamper events) to high-priority alert queues.
Proprietary HES platforms deliberately lock translation tables inside licensed databases. Gurux DLMS provides an open-source, extremely thorough SDK library in Python and Java. This allows engineers to build modular, containerized translation microservices that receive raw hex streams from EMQX and output structured JSON.
ThingsBoard CE replaces proprietary device-management panels. By using dynamic asset hierarchies, utilities can map physical grid layouts (e.g. Substations → Feeders → DCUs → Smart Meters). It natively supports secure X.509 certificate administration and orchestrates scheduled multicast OTA upgrades.
Protocol Efficiency on Wi-SUN 6LoWPAN: MQTT-SN vs. CoAP
Analyzing communication overhead, packet structure, and bandwidth constraints over narrow sub-GHz RF mesh bands in emerging-market grids.
Because Wi-SUN FAN utilizes sub-GHz frequencies (typically 868 MHz in Europe/Africa, 915 MHz in the Americas), bandwidth is severely limited. While the network layers support standard IPv6 via 6LoWPAN compression, the choice of the application protocol directly dictates field performance, especially when traversing multiple mesh hops.
| Protocol Profile | MQTT (Standard TCP) | MQTT-SN (MQTT for Sensor Networks) | CoAP (Constrained Application Protocol) |
|---|---|---|---|
| Underlying Transport | TCP (Connection-Oriented) | UDP (Connectionless) | UDP (Connectionless, transactional) |
| Header Size | Large (Typically 20-60 bytes TCP overhead) | Small (Typically 2-7 bytes MQTT-SN overhead) | Ultra-Small (Fixed 4-byte base header) |
| Connection State | Keep-Alives required; high TCP handshake load | Client-Gateway mapping; stateless connection | Stateless (no connection lifecycle needed) |
| Packet Overhead Example | ~112 bytes for a simple 10-byte payload | ~38 bytes for a 10-byte payload | ~22 bytes for a 10-byte payload |
| Ideal Application | DCU-to-HES Central Uplink (Satellite/Cellular) | Smart Meter to DCU Downlink Telemetry | On-Demand DLMS queries & low-overhead control |
Running standard TCP-based MQTT over multi-hop Wi-SUN mesh networks leads to rapid congestion. The TCP three-way handshake, combined with frequent ACK responses and large packet headers, consumes valuable radio airtime, causing high packet drop rates as the network hop-count increases beyond 3 levels.
MQTT-SN resolves this by operating over connectionless UDP. It offloads connection states to an MQTT-SN Gateway running on the DCU host. This gateway translates incoming UDP payloads from edge meters into standard TCP MQTT frames before forwarding them to the central HES broker.
CoAP provides the absolute lowest communication overhead. Formatted to mimic HTTP REST models (using GET, POST, PUT, DELETE), it utilizes compact binary codes rather than text strings. When combined with DTLS (Datagram Transport Layer Security), it offers secure, sub-millisecond command execution.
- Deploy MQTT-SN for autonomous, periodic telemetry pushes from smart meters to the DCU (e.g. hourly load profile reporting).
- Utilize CoAP for on-demand command execution (e.g., immediate contactor isolation, remote credit token delivery).
- Maintain standard MQTT over TLS 1.3 exclusively for the robust, high-bandwidth DCU-to-HES central backhaul link.
System Deconstruction: Replacing Proprietary EAC and DINA Architectures
Establishing a modular, open-source integration path to completely bypass the licensing costs and vendor lock-in of Itron EAC and DINA middleware.
Itron DINA acts as an edge broker and local routing bus. We completely replace it by running a lightweight local Python edge agent on the DCU combined with EMQX's local broker. This agent interfaces directly with the userspace wsbrd, captures telemetry, and applies edge-filtering rules to reduce satellite backhaul data consumption.
Itron EAC (Enterprise Active Control) acts as the orchestrator for OTA firmware distribution and device configurations. We replace this by combining ThingsBoard CE's robust OTA orchestrator with the Gurux DLMS library. Firmware files are split into standard COSEM image transfer blocks and systematically pushed across the mesh.
Billing and prepayment logic is completely offloaded to MicroPowerManager (MPM). MPM acts as our open-source Customer Information System (CIS) and billing engine. By integrating the open-source OpenPAYGO token library, MPM easily generates secure prepayment tokens that are delivered via MQTT/CoAP.
| Proprietary Sub-System Role | Target Functionality Block | Open-Source Decomposition Equivalent | Integration Complexity & Architecture Path |
|---|---|---|---|
| Itron DINA Edge Bus | Local routing, edge caching, and serial interfacing on the physical DCU box. | Edge Agent (Python) + EMQX local broker + SQLite | Medium: Write a python daemon to capture wsbrd frames, buffer them in SQLite if cellular/satellite link is down, and push JSON once online. |
| Itron EAC Core | OTA image distribution, multicast staging, and device configuration validation. | ThingsBoard CE (OTA Orchestration) + Gurux DLMS | High: Requires configuring ThingsBoard's rule chain to split binary files, schedule upgrades, and parse DLMS Image Transfer Class objects. |
| Proprietary CIS / Billing | Account creation, tariff calculations, credit tracking, and billing database. | MicroPowerManager (MPM) + OpenPAYGO Library | Low: Highly mature stack. MPM provides clean REST APIs that link payment systems (e.g. M-Pesa, Orange Money) directly to token generation. |
DCU Edge Agent Telemetry Logic (Python Pseudocode)
import sqlite3
import json
import gzip
import paho.mqtt.client as mqtt
def log_telemetry_to_local_db(meter_id, payload):
conn = sqlite3.connect('/opt/dcu/telemetry.db')
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS telemetry_log
(timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, meter_id TEXT, payload TEXT, status INTEGER)
""")
cursor.execute("INSERT INTO telemetry_log (meter_id, payload, status) VALUES (?, ?, 0)", (meter_id, json.dumps(payload)))
conn.commit()
conn.close()
def compress_and_upload_batch():
conn = sqlite3.connect('/opt/dcu/telemetry.db')
cursor = conn.cursor()
cursor.execute("SELECT id, timestamp, meter_id, payload FROM telemetry_log WHERE status = 0 LIMIT 100")
rows = cursor.fetchall()
if not rows:
conn.close()
return
batch_data = [{"id": r[0], "time": r[1], "meter": r[2], "data": json.loads(r[3])} for r in rows]
compressed_payload = gzip.compress(json.dumps(batch_data).encode('utf-8'))
# Secure transmission to central HES over Cellular/Satellite
client = mqtt.Client()
client.tls_set()
client.connect("hes.openami.org", 8883)
result = client.publish("dcu/telemetry/compressed", compressed_payload, qos=1)
if result.rc == mqtt.MQTT_ERR_SUCCESS:
# Mark rows as uploaded
row_ids = [r[0] for r in rows]
cursor.execute(f"UPDATE telemetry_log SET status = 1 WHERE id IN ({','.join(map(str, row_ids))})")
conn.commit()
conn.close()
Canonical Open-Source HES Architecture Stack: The Technical Blueprint
A unified architectural system layout mapping the complete physical, network, database, and application integration flow of our open-source AMI system.
A. Downlink Operation Flow: Remote Token Delivery (Use Case V)
- A consumer purchases credit via mobile money (M-Pesa). The payment gateway notifies MicroPowerManager (MPM).
- MPM utilizes the OpenPAYGO library to generate a secure, STS-compliant 20-digit prepayment token.
- MPM formats this token into a clean JSON payload and calls the ThingsBoard CE REST API.
- ThingsBoard wraps the token payload in a standard DLMS/COSEM Write-Request OBIS object and publishes it to the central EMQX broker on the topic
dcu/write/token. - The DCU Edge Agent receives the payload from EMQX, extracts the raw bytes, translates them into a binary A-XDR encoded packet, and streams it to the virtual
tun0interface. - The
wsbrddaemon captures this frame, formats it into an 802.15.4g MAC packet, and streams it over the UART connection to the EFR32FG28 RCP silicon. - The RCP radio transmits the packet over the sub-GHz channel. Smart meters in the mesh relay the packet hop-by-hop until it reaches the target meter's EFR32FG25 radio.
- The meter's onboard micro-controller decodes the DLMS write-request, validates the cryptographic token, updates the internal credit register, and opens its internal Solid-State Relay (SSR) contactor to restore power to the household.
B. Uplink Operation Flow: Real-Time Outage Alert Reporting
- A physical cable cut cuts grid power to a household. The smart meter's power supply detects immediate loss of line voltage.
- Utilizing physical super-capacitors for "last-gasp" power-backup (operating for 10-15 seconds), the meter immediately creates a high-priority DLMS Event Log entry (OBIS code
0.0.96.11.0.255). - The meter's radio bypasses periodic queues and immediately broadcasts a high-priority CoAP Outage Notification packet over the Wi-SUN mesh.
- The physical EFR32FG28 RCP on the DCU captures the radio frame, passes it to the `wsbrd` daemon, which maps the UDP packet to the virtual
tun0interface. - The DCU Edge Agent reads the high-priority packet, bypasses the periodic SQLite logging buffer, and immediately publishes a critical telemetry message to EMQX on the topic
dcu/alarms/outage. - EMQX's rule engine processes this alert, writes the timestamped event to InfluxDB, and instantly pushes a push-notification to utility maintenance operators via ThingsBoard CE.
Operational Monitoring, Regional Adaptations, & Cost Benchmarks
Evaluating country-specific constraints, thermal/dust isolation requirements, real-time metrics capture, and hardware build budgets.
| Sub-Saharan Country Context | Local License-Free Sub-GHz RF Band | Primary Grid Codes / Utility Frameworks | Cellular Network Infrastructure Landscape | Environmental & Thermal Field Mitigation Path |
|---|---|---|---|---|
| Nigeria (West Africa) | 868.0 MHz to 868.6 MHz (EU Harmonized) | NERC 2023 Mini-Grid Regulations, MYTO Tariff matrices | Strong MTN/Airtel 4G LTE coverage in hubs; 2G fallback in rural areas | Extreme protection against fine dust storms (Harmattan) via IP68 sealed joints. |
| Kenya (East Africa) | 868.0 MHz to 868.6 MHz | Kenya Grid Code, EPRA guidelines | Safcom LTE coverage outstanding; excellent M-Pesa API integrations | High-humidity coastal regions demand conformal PCB coating against salt oxidation. |
| South Africa (SADC) | 868 MHz / 915 MHz to 921 MHz | NERSA Grid Code, Eskom distribution guidelines | Mature Vodacom/MTN 4G LTE-M networks | High daily temperature swings demand thermal expansion relief valves on enclosures. |
To maintain mesh stability, the telemetry agent reports these metrics:
1. RPL Parent Switches: Rapid switches indicate radio path instability.
2. Hop Count Distribution: Deep chains (>5 hops) increase latency.
3. RSSI/LQI Values: RSSI below -95dBm triggers automated local re-routing.
4. Packet Success Rate (PSR): Monitored to detect noisy channels.
Building a DCU utilizing the Allwinner H3 host processor costs approximately $97 USD in 1k production batches (including Carrier PCB, EFR32FG28, Quectel EG21-G, and enclosure). A similar BeagleBone Industrial configuration runs higher at $149 USD but provides true industrial thermal tolerance and real-time PRUs.
DCU deployment requires:
1. Conformal PCB Coating: Acrylic coating protecting against humidity and dust.
2. Gas Discharge Tubes (GDT): Fast lightning protection on external SMA antennas.
3. NAND Write Buffering: Temporal files stored in RAM to protect flash.
Technical Note: Open-Source Protocol Integration, EPRI Simulation, & Grid Coexistence
A deep-dive synthesis of physical hardware costs, last-gasp outage notifications on InHe meters, ARM Linux driver strategies for G3-PLC/RF, and simulated Wi-SUN network compliance utilizing EPRI's Open-Wi-SUN stack.
Building a production-ready edge Data Concentrator Unit (DCU) utilizing the Allwinner H3 host processor costs approximately $97 USD in 1k production batches. This bill of materials includes the carrier PCB, EFR32FG28 radio module, Quectel EG21-G cellular modem, and an IP67-rated weatherized enclosure.
In contrast, a similar configuration utilizing a true BeagleBone Black Industrial processor runs higher at $149 USD but provides outstanding industrial-grade thermal tolerance (-40°C to 85°C) and real-time PRUs for timing-critical execution tasks.
When a physical cable cut isolates grid power to a household, the InHe smart meter's internal power supply registers an immediate loss of line voltage.
Utilizing physical super-capacitors for last-gasp backup power (operating for 10-15 seconds of total loss), the meter immediately generates a high-priority DLMS Event Log entry under OBIS code 0.0.96.11.0.255 and transmits a critical last-gasp package over the mesh before shutting down.
To maintain full grid independence and avoid licensing locking, the canonical OpenAMI stack integrates:
1. EMQX (OSS Edition): The message ingestion core.
2. Gurux.DLMS.Client: Multi-language protocol engine.
3. ThingsBoard CE: Operational manager and OTA coordinator.
4. MicroPowerManager (MPM): Billing engine.
5. OpenPAYGO: Standardized credit token validation.
ARM Linux Driver Architecture for G3-PLC & Wi-SUN RF
The Linux kernel does not contain upstream drivers for industrial G3-PLC (like the STMicroelectronics ST8500) or PRIME PLC transceivers. Integrating these chips requires compiling vendor-supplied software development kits (SDKs) and wrapping raw physical registers in custom serial interfaces:
- G3-PLC (ST8500) Architecture: The ST8500 runs proprietary firmware loaded at boot time. The host ARM CPU communicates with it via a high-speed UART or SPI interface using the STSW-ST8500 SDK. A userspace service maps this serial stream to a standard SLIP (Serial Line Internet Protocol) or custom character device (
/dev/st8500), allowing network applications to push IPv6 frames over the powerline. - Wi-SUN FAN (EFR32FG28) Interface: No custom kernel driver is needed. Instead, it acts as a standard Radio Co-Processor (RCP) exchanging raw HDLC frames over a high-speed UART (up to 921,600 bps) with the host. The Silicon Labs
wsbrduserspace daemon handles this traffic, managing the complex Wi-SUN FAN layer and exposing a virtual IPv6 network interface (tun0) directly to the OS kernel [as seen on the InHe smart meters].
Academic and semi-production open-source projects like OpenWSN and Contiki-NG contain complete, free implementations of these exact sub-GHz TSCH (Time-Slotted Channel Hopping) layers.
Silicon Labs vs. EPRI: Open-Source Border Router Deployments
For production edge DCU gateways, Silicon Labs provides a production-grade, open-source reference implementation of the border router on GitHub under the wisun-br-linux repository.
This setup revolves around the wsbrd daemon interfacing with a dedicated sub-GHz MCU (such as the EFR32FG25 or EFR32FG28) flashed with a lean radio firmware. The RCP handles time-critical low-level radio execution (IEEE 802.15.4g PHY and 802.15.4e TSCH slot synchronization), while the host Linux handles routing:
The
wisund daemon is a native Linux application written in C++ using the Boost and Asio asynchronous I/O frameworks.
While Silicon Labs' wsbrd is engineered for deployment on their own specialized silicon, EPRI's Open-Wi-SUN framework is built for deep grid ecosystem simulation. It interfaces cleanly with other open utility frameworks in the EPRI portfolio:
- OpenDER (Distributed Energy Resources): Modeling for solar and battery storage grid compliance under IEEE 1547.
- OpenDSS (Distribution System Simulator): Standard structural grid power flow simulations.
Setting Up a Wi-SUN Grid Simulator for Hardware-in-the-Loop Evaluations
Pending the availability of physical hardware prototypes (such as custom carrier boards with EFR32 radios), utilities and research labs can evaluate mesh stability, routing latencies, and transaction times using simulated environments:
- Contiki-NG Cooja Simulator: The standard simulator for low-power IEEE 802.15.4 meshes. Cooja executes compiled, binary DCU edge agents and smart meter Contiki-NG code on simulated MSP430 or ARM Cortex-M nodes, allowing developers to test 200+ node topologies in real-time, mapping RSSI degradation and packet loss:
docker run -it --name cooja -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix contikidocker/cooja - EPRI Simulation Integration: Developers can compile the EPRI
wisunddaemon on standard virtual machines, interfacing it with simulated edge sockets. By connectingwisundvirtual endpoints to OpenDSS (Distribution System Simulator), you can simulate grid-balancing scenarios (such as dynamic voltage ride-through commands across 1,000 households) and audit network latency limits before physical deployment.
Academic & Industrial References
A comprehensive bibliography of standards, official guidelines, and engineering datasheets utilized in the synthesis of this technical report.
- United Nations Economic Commission for Europe (UNECE) (2025): Guidelines on Interoperability and Digitalization of Decentralized Energy Systems, UNECE Secretariat, Geneva. Available at unece.org.
- IEEE Standards Association (2018): IEEE 1547-2018: IEEE Standard for Interconnection and Interoperability of Distributed Energy Resources with Associated Transmission and Distribution Systems Interfaces, IEEE, New York. Available at ieee.org.
- International Electrotechnical Commission (IEC) (2025): IEC 62056 Suite: Electricity metering data exchange - The DLMS/COSEM suite, IEC, Geneva. Available at iec.ch.
- Okra Solar Development Team (2026): Okra Solar Beacon V2 Industrial Field Deployment Report, Okra Solar Operations, Abuja/Porto. Available at okrasolar.com/blog.
- Silicon Laboratories (2025): EFR32FG28 Dual-Band Sub-GHz Wireless SoC Technical Reference Manual, Silicon Labs, Austin. Available at silabs.com.
- Silicon Laboratories (2026): Silicon Labs Wi-SUN Border Router (wsbrd) Github Repository and Integration Guide, Silicon Labs Open Source. Available at github.com/SiliconLabs/wisun-br-linux.
- Standard Transfer Specification Association (STSA) (2025): STS-101-1: Standard Transfer Specification - Physical Layer Protocol for One-Way Numeric Token Transfer, STSA Working Group, Johannesburg. Available at sts.org.za.
- STMicroelectronics (2025): ST8500 Programmable System-on-Chip for Smart Metering and Powerline Communications Datasheet, STMicroelectronics, Geneva. Available at st.com.
- Microchip Technology Inc. (2025): ATPL250A PRIME Power Line Communications Transceiver Technical Reference Design, Microchip Technology, Chandler. Available at microchip.com.
- Allwinner Technology Co., Ltd. (2022): H3 Quad-Core Cortex-A7 System-on-Chip Datasheet, Allwinner open hardware. Available at linux-sunxi.org/H3.
- Nigerian Electricity Regulatory Commission (NERC) (2023): Regulations for Mini-Grids, NERC Nigeria, Abuja. Available at nerc.gov.ng.
- Energy and Petroleum Regulatory Authority (EPRA) (2024): The Energy (Electricity Grid Code) Regulations, EPRA Kenya, Nairobi. Available at epra.go.ke.
- ThingsBoard IoT Authors (2026): ThingsBoard Community Edition (CE) v3.9 Core IoT Platform Documentation, ThingsBoard Organization. Available at thingsboard.io/docs/.
- MicroPowerManager Core Team (2025): MicroPowerManager Billing & Prepayment Core Software Architecture Reference Manual, MPM Open Source Project. Available at github.com/micropowermanager.
🔗 Related Reports in This Suite
- EMG-TECH-015 EPRI Open-Source Software Audit
Software stack for the DCU: DLMS/COSEM, Gurux.DLMS, OpenDER compliance engine. - EMG-TRD-005 OpenAMI Smart Metering Reference Design
Meter hardware spec (IHM-4000) that this DCU mesh topology collects data from. - EMG-TECH-013 SSA Mini-Grid Downtime Analysis
Operational context: the cloud-dependency failure modes this offline-first topology solves. - SSA-STS-LEGACY STS Prepaid Metering & Key Management
Legacy STS key management that the DCU mesh must interoperate with during transition.