

D02Bus
A hardware & firmware project bridging D0 Optical energy meter interfaces to Modbus RTU (RS485). Features a CH552G MCU and Eastron-compatible register mapping for easy integration.
- Size
- 31 × 31 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 40
- Nets
- 35
- Pads
- 125
- Tracks, vias
- 438, 35
- Pours
- 4
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 11 Jan 2026
- Updated
- 18 Sep 2026
Overview
D02Bus is an open-source printed circuit board by dominikbayerl, from the dominikbayerl/D02Bus repository on GitHub. It is a 4-layer board of 31 × 31 mm with 40 parts on 35 nets, routed with 438 tracks and 35 vias.
It is built around the CH552G, MAX485ED and AMS1117-5.0, with the SN74LVC2G14DBV, BAT54 and CQY36N among its other parts. Its parts include 12 resistors, 7 capacitors, 5 diodes, 4 ICs and 2 connectors. It belongs with the interfaces and adapters boards and the 8051 (CH55x, STC, AT89) boards of this library.
Main components
6CH552G
SOP-1616KB 24MHz 3.3V~5V 51 Family 8bit FLASH SOP-16 Microcontrollers (MCU/MPU/SOC) ROHSWCH (Nanjing Qinheng Microelectronics)Microcontrollers (MCU/MPU/SOC)MAX485ED
SOP-8-40℃~+85℃ 1 1 1mA 32 4.75V~5.25V 5Mbps Half-Duplex Transceiver ±8kV SOP-8 RS-485 / RS-422 ICs ROHSHTCRS-485 / RS-422 ICsAMS1117-5.0
SOT-223-40℃~+125℃ 1 1.3V 15V 1A 5V 60dB Fixed Positive Short Circuit Protection、Thermal shutdown SOT-223 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSAdvanced Monolithic SystemsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsSN74LVC2G14DBV
SOT-23-6-40℃~+125℃ 1.4V~3.7V 1.65V~5.5V 10uA 2 2 300mV~1.4V 32mA 32mA 4.7ns@5V,50pF 74LVC Series Schmitt trigger SOT-23-6 Inverters ROHSTexas InstrumentsInvertersBAT54
SOT-23200mA 2uA@25V 30V 800mV@100mA Independent SOT-23 Schottky Diodes ROHSFOSANSchottky DiodesCQY36N
插件,P=2.54mmInfrared LED EmittersVishay Intertechnology
README
README.mdD02Bus
D0-2-Bus ("D0 to Bus") is an Open Hardware project designed to convert data from an energy smart meter D0 optical interface to RS485 Modbus.
Overview
This project aims to be compatible with various commercial smart meters (such as Eastron SDM, Kostal EnergyMeter, etc.), enabling easy integration into Modbus-based energy management systems.
Inspiration & Attribution
This project is inspired by (and is essentially a "shameless copy" of) the "Smartmeter" project by Niklas Menke.
- Original Project: https://www.niklas-menke.de/projekte/smartmeter-auslesen/modbus/
Key Differences
While based on the original concept, D02Bus implements specific changes for better usability:
- Microcontroller: The hardware uses a CH552G microcontroller instead of the original ATtiny. This change provides better component availability and features a built-in USB controller for easier configuration.
- Firmware Flexibility: The firmware aims to be more easily adjustable to support different smart meter models.
Project Status
⚠️ Warning: Work in Progress
Currently, this project only contains unvalidated hardware designs. The repository will be updated once the first PCBs have been assembled and tested.
License
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.
Parts
40| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100n | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C3, C5, C7, C8 |
| 3 | 10u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C2, C4 |
| 3 | 120 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R5, R6, R12 |
| 3 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R8, R11, R13 |
| 2 | 5.1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2, R3 |
| 2 | BAT54 | Package_TO_SOT_SMD:SOT-23 | D1, D2 |
| 2 | LED | LED_SMD:LED_0805_2012Metric | D3, D4 |
| 1 | 0 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R9 |
| 1 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4 |
| 1 | 1M | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1 |
| 1 | 82 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R14 |
| 1 | AMS1117-5.0 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U1 |
| 1 | BOOT | d0eastron:SW_SPST_4x3x2 | SW1 |
| 1 | CH552G | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U2 |
| 1 | CQY36N | LED_THT:LED_D1.8mm_W3.3mm_H2.4mm | D5 |
| 1 | Conn_01x08 | TerminalBlock:TerminalBlock_Xinya_XY308-2.54-8P_1x08_P2.54mm_Horizontal | J3 |
| 1 | MAX485E | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U4 |
| 1 | MountingHole | MountingHole:MountingHole_3.2mm_M3_DIN965 | H1 |
| 1 | P1.1 | TestPoint:TestPoint_Pad_D1.0mm | TP1 |
| 1 | P1.4 | TestPoint:TestPoint_Pad_D1.0mm | TP2 |
| 1 | P1.5 | TestPoint:TestPoint_Pad_D1.0mm | TP3 |
| 1 | P3.2 | TestPoint:TestPoint_Pad_D1.0mm | TP4 |
| 1 | P3.3 | TestPoint:TestPoint_Pad_D1.0mm | TP5 |
| 1 | P3.4 | TestPoint:TestPoint_Pad_D1.0mm | TP6 |
| 1 | S350P | LED_THT:LED_D1.8mm_W3.3mm_H2.4mm | Q1 |
| 1 | SN74LVC2G14DBV | Package_TO_SOT_SMD:SOT-23-6 | U3 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J2 |
The 39 most common of 40 parts.
Similar boards
- 2 layers48.5 × 81.8 mm

- 2 layers70 × 73.1 mm

Neopico hd
fliperama86/neopico-hd
Digital video and audio capture with HDMI output for Neo Geo MVS arcade hardware using Raspberry Pi Pico 2
37 parts90Unlicense - 4 layers68.5 × 89.9 mm

- 2 layers37 × 70.9 mm

Opendiag
maximus64/opendiag-hardware
OpenDIAG - Open Source OBD2 Interface (Hardware)
148 parts5CERN-OHL-S-2.0 - 4 layers45 × 53 mm

OpenTRV ESP
mpiraux/OpenTRV-ESP
An open-source and open-hardware thermostatic radiator valve based on the ESP32C6 and the 28BYJ-48 stepper motor.
64 parts2CERN-OHL-P-2.0 - 2 layers9.4 × 31.9 mm

Robot mainboard
offmor/RoboTheater
Code, hardware designs, and documentation for RoboTheater: A tabletop multi-robot platform that translates LLM-generated scripts into robot motion and multimedia output.
23 parts2MIT - 2 layers40 × 70 mm

KinetiCoreDC
axpaul/KinetiCoreDC
Compact STM32G0-based DC motor controller board featuring TI DRV8874 H-bridge drivers, RS485 communication, optoisolated I/O, and hardware power protection.
183 parts1CERN-OHL-S-2.0 - 4 layers140.6 × 108.1 mm

Questions
How big is the D02Bus PCB?
It measures 31 × 31 mm and has 4 copper layers, 1.6 mm thick.
What parts does the D02Bus use?
40 parts, built around the CH552G, MAX485ED, AMS1117-5.0 and SN74LVC2G14DBV. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the D02Bus KiCad files?
From the dominikbayerl/D02Bus repository on GitHub, at the commit this page was made from: the board is hardware/hardware.kicad_pcb and its schematic hardware/hardware.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the D02Bus design in my own project?
Its repository states no licence, so its author keeps all rights: ask dominikbayerl before reusing the design.