
OM-64DO
OpenModbus/OM-64DO
A compact industrial-grade 64-channel Modbus RTU output module.

A compact industrial-grade 16-channel Modbus RTU LED driver.
OM-16LED is an open-source printed circuit board by OpenModbus, from the OpenModbus/OM-16LED repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 100 × 72 mm with 100 parts on 127 nets, routed with 707 tracks and 409 vias.
It is built around the R-78E12-1.0/X9, R-78E3.3-0.5 and THVD1450DRBR, with the NTMFS4D0N08X, CD123D-B140LR and SMAJ28A among its other parts. Its parts include 23 capacitors, 19 resistors, 17 fuses, 16 transistors and 12 ICs. It belongs with the home automation and IoT boards and the STM32 boards of this library.
A compact industrial-grade 16-channel Modbus RTU LED driver module featuring high-current MOSFET outputs, per-bank terminal grouping, wide load voltage range, DIN-rail support, and full configuration via Modbus holding registers. Designed for lighting automation, distributed I/O, and custom control applications.
The Open Modbus OM-16LED is a 16-channel low-side LED driver module intended for industrial automation, lighting control, and distributed I/O networks using Modbus RTU over RS-485. It switches DC LED loads such as LED strips, architectural lighting, and indicator arrays up to 60 VDC at up to 8 A per channel.
The module combines an STM32G474 microcontroller, eight 2EDN7534B dual-channel low-side gate drivers, and sixteen NTMFS4D0N08XT1G N-channel power MOSFETs. This architecture enables reliable, high-current, and scalable LED output control with built-in protection and per-channel MOSFET switching.
The full schematic and BOM are available at:
Check the latest release for more!
Ideal for:
The STM32G474RETx MCU handles Modbus RTU processing, configuration storage, and output control logic. It is an ARM Cortex-M4 running at up to 170 MHz with 512 KB flash and 128 KB RAM, providing ample headroom for advanced output control features.
Eight 2EDN7534B (Infineon) dual-channel low-side gate drivers control the power MOSFETs. Their key characteristics include:
Sixteen NTMFS4D0N08XT1G (onsemi) N-channel MOSFETs perform the actual load switching. Their key characteristics include:
A THVD1450 (Texas Instruments) transceiver provides differential RS-485 communication with:
The board supports two input modes selected by an onboard jumper:
In both modes the R-78E3.3-0.5 step-down regulator (RECOM) generates 3.3 V for the MCU and logic from the main input rail.
Each output channel is controlled by a per-channel duty cycle value stored in a holding register. The MCU generates a PWM signal accordingly, driving the gate driver and MOSFET to regulate LED brightness. A duty cycle of 0 turns the channel fully off; the maximum value drives it fully on.
To be announced soon.
Configuration registers start at 0x00 and are stored in non-volatile memory.
| Register Address (Hex) | Name | Description | Allowed Values | Default |
|---|---|---|---|---|
| 0 (0x00) | Slave Address | Modbus device ID | 1–247 | 1 |
| 1 (0x01) | Baud Rate Code | Serial speed selector: 0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200 | 0–7 | 3 |
| 2 (0x02) | Parity | Communication parity | 0=None, 1=Even, 2=Odd | 0 |
| 3 (0x03) | Data Bits | Serial data width | 5–9 (typ. 8) | 8 |
| 4 (0x04) | Stop Bits | Serial stop bits | 1–2 | 1 |
To be announced soon.
The OM-16LED uses low-side (MOSFET) switching. The module connects the LED load to ground when ON; the load must be powered from your external power supply.
The 16 outputs are grouped into four banks of 4 channels (Bank A–D). This allows one board to drive LED loads powered from different voltages simultaneously.
Examples:
Each output contains a power MOSFET that sinks current:
Load +V ─────── LED Load ─────── OUTx (SINK)
│
└── GND (OM-16LED)⚠️ Important Grounding Requirement: All load power supplies must share a common ground with the OM-16LED. This is required for the low-side drivers and internal logic to reference the same electrical 0 V.
For questions, feedback, or technical assistance regarding the Open Modbus OM-16LED, the following support channels are available:
For general inquiries, firmware questions, or troubleshooting: contact@sszczep.dev
Issue tracker, source code, hardware design files, and community contributions: https://github.com/OpenModbus/OM-16LED
Share projects, ask for help, or suggest features: https://github.com/orgs/OpenModbus/discussions
Submit issues directly via GitHub Issues: https://github.com/OpenModbus/OM-16LED/issues
| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | 10 | Resistor_SMD:R_0603_1608Metric | R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16 |
| 16 | 8A 60VDC | Library:Fuse_0679H | F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16 |
| 16 | NTMFS4D0N08X | Library:ONSemi_SO-8FL_488AA | Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15, Q16 |
| 8 | 0.1uF | Capacitor_SMD:C_0805_2012Metric | C1, C2, C3, C4, C5, C6, C7, C8 |
| 8 | 2EDN7534B | Package_TO_SOT_SMD:SOT-23-6 | U2, U3, U4, U5, U6, U7, U8, U9 |
| 7 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C14, C15, C16, C17, C19, C22, C23 |
| 4 | 10uF | Capacitor_SMD:C_1206_3216Metric | C9, C10, C11, C12 |
| 4 | 2EDGVC-5.0-06P | Library:TerminalBlock_DEGSON_2EDGVC-5.0-06P_No_SilkScreen | J2, J3, J4, J5 |
| 2 | 1uF | Capacitor_SMD:C_0603_1608Metric | C18, C21 |
| 2 | RED | LED_SMD:LED_0603_1608Metric | D4, D5 |
| 1 | 02x03 1.27 | Connector_PinHeader_1.27mm:PinHeader_2x03_P1.27mm_Vertical | J6 |
| 1 | 10K | Resistor_SMD:R_0603_1608Metric | R17 |
| 1 | 10nF | Capacitor_SMD:C_0603_1608Metric | C20 |
| 1 | 1A | Fuse:Fuse_1206_3216Metric | F17 |
| 1 | 2EDGVC-5.0-04P | Library:TerminalBlock_DEGSON_2EDGVC-5.0-04P_No_SilkScreen | J1 |
| 1 | 2K2 | Resistor_SMD:R_0603_1608Metric | R18 |
| 1 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C13 |
| 1 | 470 | Resistor_SMD:R_0603_1608Metric | R19 |
| 1 | CD123D-B140LR | Diode_SMD:D_SOD-123 | D1 |
| 1 | Jumper_3_Open | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP1 |
| 1 | LOGO | Library:OpenModbus | G*** |
| 1 | R-78E12-1.0 | Converter_DCDC:Converter_DCDC_RECOM_R-78E-0.5_THT | U10 |
| 1 | R-78E3.3-0.5 | Converter_DCDC:Converter_DCDC_RECOM_R-78E-0.5_THT | U11 |
| 1 | SM712_SOT23 | Package_TO_SOT_SMD:SOT-23 | D3 |
| 1 | SMAJ28A | Diode_SMD:D_SMA | D2 |
| 1 | STM32G474RETx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U1 |
| 1 | THVD1450DR | Package_SON:VSON-8-1EP_3x3mm_P0.65mm_EP1.6x2.4mm | U12 |
It measures 100 × 72 mm and has 2 copper layers, 1.6 mm thick.
100 parts, built around the R-78E12-1.0/X9, R-78E3.3-0.5, THVD1450DRBR and NTMFS4D0N08X. 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.
From the OpenModbus/OM-16LED repository on GitHub, at the commit this page was made from: the board is kicad/OM-16LED.kicad_pcb and its schematic kicad/OM-16LED.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

OpenModbus/OM-64DO
A compact industrial-grade 64-channel Modbus RTU output module.



engelberd/sensor-system
Working notes for the first custom RP2350A board with ADXL355, USB-C development power/data, 12 V field input, RS485, and a power architecture biased toward a clean accelerometer supply.


embeddedalpha/IMU_V100
Inertial Measurement Unit based around STM32F407VGT6. This is a product development repo.


Batterhead221/brain_board
Custom STM32H753 brain board with USB-C power/input selection, 3.3V buck regulation, microSD, CAN, RS-485, FRAM, flash, debug/programming access, and expansion connectors.