Loading 3D model… large boards can take a moment.
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
No comments yet. Be the first to ask about this board.