Skip to the content
PCBKitNew board
2 layers100 × 72 mmOM-16LED, the printed circuit board in 3D

A compact industrial-grade 16-channel Modbus RTU LED driver.

Size
100 × 72 mm
Copper layers
2
Thickness
1.6 mm
Parts
100
Nets
127
Pads
375
Tracks, vias
707, 409
Pours
19
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
11 Mar 2026
Updated
5 Jun 2026

Overview

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.

Main components

6

README

README.md

Open Modbus OM-16LED

Modbus RTU MCU STM32G474 16 Channel Outputs Input Voltage 12V or 15-27V DC Load Voltage Up to 60V DC DIN-Rail UM72S Profile License GNU GPL v3

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.

1. Product Overview

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.

📦 Hardware Files

The full schematic and BOM are available at:

Check the latest release for more!

2. Key Features

  • 16 low-side MOSFET output channels
  • Up to 8 A per channel, 60 VDC maximum load voltage
  • 12 VDC direct input or 15–27 VDC via onboard converter (jumper selectable)
  • RS-485 Modbus RTU communication (THVD1450 transceiver)
  • Fully configurable serial parameters
  • DEGSON 2EDGVC pluggable screw terminals
  • DIN-rail mount using UM72S profile
  • Compact PCB (100 × 72 mm)

3. Applications

Ideal for:

  • LED strip lighting control
  • Architectural and mood lighting
  • Building automation
  • PLC expansion
  • Industrial signaling and indicators
  • Stage and display lighting
  • Custom distributed lighting networks

4. Hardware Architecture

Microcontroller

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.

Gate Drivers

Eight 2EDN7534B (Infineon) dual-channel low-side gate drivers control the power MOSFETs. Their key characteristics include:

  • 2 channels per IC (8 ICs → 16 channels total)
  • 5 A peak gate drive current
  • Precise timing and low output resistance
  • Designed for reliable switching of high-current loads

Output MOSFETs

Sixteen NTMFS4D0N08XT1G (onsemi) N-channel MOSFETs perform the actual load switching. Their key characteristics include:

  • 80 V drain-source breakdown voltage
  • High continuous drain current
  • SO8FL package

RS-485 Communication

A THVD1450 (Texas Instruments) transceiver provides differential RS-485 communication with:

  • ±18 kV IEC ESD protection
  • Fail-safe features
  • Suitable for long cable runs

Power

The board supports two input modes selected by an onboard jumper:

  • 15–27 VDC input — passes through the R-78E12-1.0 step-down regulator (RECOM), which generates the 12 V gate driver supply
  • 12 VDC direct input — bypasses the 12 V converter; 12 V is fed directly to the gate drivers

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.

5. Electrical Specifications

Supply

  • 12 VDC direct input (jumper: bypass mode) or 15–27 VDC input (jumper: converter mode)
  • Internal regulated 12 V gate drive supply (converter mode only)
  • Internal regulated 3.3 V logic supply

Outputs

  • 16 low-side MOSFET channels
  • Up to 60 VDC load voltage
  • 80 VDC absolute maximum
  • 8 A max per channel
  • Channels grouped into 4 banks of 4

Communication

  • RS-485, 2-wire
  • Modbus RTU protocol
  • Default settings: 9600 baud, 8N1, address 1
  • All communication parameters can be reconfigured via holding registers

6. Mechanical Information

  • PCB: 100 × 72 mm
  • DIN-rail enclosure compatibility: UM72S profile
  • DEGSON 2EDGVC pluggable screw terminals
  • Mounting suitable for industrial control cabinets

7. Functional Overview

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.

8. Modbus Interface

Supported Function Codes

To be announced soon.

Holding Registers

Configuration registers start at 0x00 and are stored in non-volatile memory.

Register Address (Hex)NameDescriptionAllowed ValuesDefault
0 (0x00)Slave AddressModbus device ID1–2471
1 (0x01)Baud Rate CodeSerial speed selector: 0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=1152000–73
2 (0x02)ParityCommunication parity0=None, 1=Even, 2=Odd0
3 (0x03)Data BitsSerial data width5–9 (typ. 8)8
4 (0x04)Stop BitsSerial stop bits1–21

Example Modbus Commands

To be announced soon.

9. Wiring

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:

  • Bank A → 12 V LED strips
  • Bank B → 24 V LED strips
  • Bank C → 48 V LED channels
  • Bank D → 5 V LED indicators

Low-Side Output Principle

Each output contains a power MOSFET that sinks current:

text
Load +V  ─────── LED Load ─────── OUTx (SINK)
                                       │
                                       └── GND (OM-16LED)

Recommended Wiring Steps

  • Connect the load voltage (up to 60 VDC) to the Vx terminal of the bank.
  • Connect the output pin (OUTx) to the negative side of the LED load.
  • Tie power supply GND to OM-16LED GND.
  • Ensure the supply can support the total current of that bank.

⚠️ 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.

10. Safety Notes

  • Do not exceed 60 VDC load voltage
  • Ensure load currents stay within 8 A per channel
  • Maintain proper RS-485 termination and shielding
  • Verify adequate heat dissipation when operating at high currents

11. Contact & Support

For questions, feedback, or technical assistance regarding the Open Modbus OM-16LED, the following support channels are available:

📧 Email Support

For general inquiries, firmware questions, or troubleshooting: contact@sszczep.dev

🛠 GitHub Repository

Issue tracker, source code, hardware design files, and community contributions: https://github.com/OpenModbus/OM-16LED

💬 Open Modbus Discussions

Share projects, ask for help, or suggest features: https://github.com/orgs/OpenModbus/discussions

📝 Bug Reports & Feature Requests

Submit issues directly via GitHub Issues: https://github.com/OpenModbus/OM-16LED/issues

Parts

100
QtyValueFootprintReferences
1610Resistor_SMD:R_0603_1608MetricR1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16
168A 60VDCLibrary:Fuse_0679HF1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16
16NTMFS4D0N08XLibrary:ONSemi_SO-8FL_488AAQ1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15, Q16
80.1uFCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C6, C7, C8
82EDN7534BPackage_TO_SOT_SMD:SOT-23-6U2, U3, U4, U5, U6, U7, U8, U9
70.1uFCapacitor_SMD:C_0603_1608MetricC14, C15, C16, C17, C19, C22, C23
410uFCapacitor_SMD:C_1206_3216MetricC9, C10, C11, C12
42EDGVC-5.0-06PLibrary:TerminalBlock_DEGSON_2EDGVC-5.0-06P_No_SilkScreenJ2, J3, J4, J5
21uFCapacitor_SMD:C_0603_1608MetricC18, C21
2REDLED_SMD:LED_0603_1608MetricD4, D5
102x03 1.27Connector_PinHeader_1.27mm:PinHeader_2x03_P1.27mm_VerticalJ6
110KResistor_SMD:R_0603_1608MetricR17
110nFCapacitor_SMD:C_0603_1608MetricC20
11AFuse:Fuse_1206_3216MetricF17
12EDGVC-5.0-04PLibrary:TerminalBlock_DEGSON_2EDGVC-5.0-04P_No_SilkScreenJ1
12K2Resistor_SMD:R_0603_1608MetricR18
14.7uFCapacitor_SMD:C_0603_1608MetricC13
1470Resistor_SMD:R_0603_1608MetricR19
1CD123D-B140LRDiode_SMD:D_SOD-123D1
1Jumper_3_OpenConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1
1LOGOLibrary:OpenModbusG***
1R-78E12-1.0Converter_DCDC:Converter_DCDC_RECOM_R-78E-0.5_THTU10
1R-78E3.3-0.5Converter_DCDC:Converter_DCDC_RECOM_R-78E-0.5_THTU11
1SM712_SOT23Package_TO_SOT_SMD:SOT-23D3
1SMAJ28ADiode_SMD:D_SMAD2
1STM32G474RETxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1THVD1450DRPackage_SON:VSON-8-1EP_3x3mm_P0.65mm_EP1.6x2.4mmU12

Questions

How big is the OM-16LED PCB?

It measures 100 × 72 mm and has 2 copper layers, 1.6 mm thick.

What parts does the OM-16LED use?

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.

Where can I download the OM-16LED KiCad files?

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.

Can I use the OM-16LED design in my own project?

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).

Similar boards

  • 2 layers163 × 72 mmOM-64DO, the printed circuit board in 3D

    OM-64DO

    OpenModbus/OM-64DO

    A compact industrial-grade 64-channel Modbus RTU output module.

    231 parts21GPL-3.0
  • 4 layers200 × 120 mmIo box, the printed circuit board in 3D

    Io box

    vekkuli/mv_io_box

    24 V I/O Box with DIO and 5 and 12 V outputs.

    76 partsMIT
  • 2 layers189 × 92.3 mmThe Macruwu 2.0, the printed circuit board in 3D

    The Macruwu 2.0

    SirBramble/The-Macruwu-2.0

    The Macro universal word-typing unit

    91 parts1
  • 4 layers51.4 × 31.4 mmRP2350, the printed circuit board in 3D

    RP2350

    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.

    87 parts2
  • 4 layers44 × 44 mmNode pcb, the printed circuit board in 3D

    Node pcb

    marino222/digital-clock72

    Kinetic Art Clock consisting of LCD displays

    55 parts2MIT
  • 4 layers70 × 70 mmIMU V100, the printed circuit board in 3D

    IMU V100

    embeddedalpha/IMU_V100

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

    40 parts1
  • 4 layers210.9 × 127 mmDual panel, the printed circuit board in 3D

    Dual panel

    fchorney/krakenpad-poc

    proof of concept and research into making kraken pad

    174 parts1
  • 4 layers99.5 × 92.3 mmBrain board, the printed circuit board in 3D

    Brain board

    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.

    131 partsMIT