Home Assistant Compatible PCIe Lights and Sensors Driver Board
This project provides a reliable, fully automated, and remotely controllable lighting system for my home, while still supporting physical switches for backup or simple manual use. The PCB design was done using KiCad and particular attention was given to ensuring large and properly distributed power planes while maintaining wide clearance between high-current traces and signal lines. In search of reliablity and yet to provide modularity, all boards were designed to communicate through an insulated RS-485 bus, enabling long-distance and noise-resistant communication between modules, complemented with a CRC verification.
All-in-One Board
The initial design was an all-in-one 4-layer PCB capable of driving multiple 12V dimmable channels with two independent RS-485 buses to control remote modules (allowing for a scalable and modular architecture), interrupts, and WS/SK LED driving capabilities.
The board was designed to fit into a standard PCIe slot.
Communication between the host CPU and the onboard MCU relied on an ASIX AX99100A PCIe bridge chip.
However, the PCB required blind and buried vias, which were not supported by most PCB manufacturers at a reasonable cost. As a result, the board could not be produced as originally designed.



Simplified Interface Approach
To overcome manufacturing constraints, I switched to a simpler and more accessible architecture.
A consumer PCIe-to-RS-232 expansion card connects the server to the system, providing a more reliable interface than USB.
This is followed by an RS-232 to RS-485 board tbat I designed to expands the bus control to:
This allows for:
- Local hardware control through switches
- Remote access from the internet with automation via the server over RS-232
- Direct wireless access via Wi-Fi and BLE

System Modules
The full system is composed of several specialized modules, all interconnected via the insulated RS-485 bus.
Stepper Driver Board
High-power stepper driver capable of driving stepper motors up to 48V @ 10A, with active cooling support.

16-Channel Dimmer Board
- 16 channels
- 12V / 24V
- Up to 10A per channel

4-Channel Relay Board
- Up to 240V @ 16A per channel

RGBW Driver Board
- 12V / 24V
- Up to 10A per channel

WS/SK LED Strip Driver
Signal-only driver for addressable LED strips (WS/SK LED family).

Assembly and Installation
Below are some of the assembled boards:

The boards are mounted on a 1U metal rack shelf and properly connected to protective earth for safety.


Firmware and System Integration
The backend is powered by a server written in Ruby.
It listens to and publishes devices over an MQTT network also linked to Home Assistant.
The server:
- Parses a YAML configuration file
- Dynamically exposes devices onto the RS-485 bus
- Publishes MQTT entities compatible with Home Assistant auto-discovery
On the automation side, Home Assistant manages:
- Presence-based lighting shutdown
- Wake-up alarm light effects
- Advanced automations and scheduling
The system also integrates:
This enables a virtual assistant capable of interacting with through voice/text and controlling the entire home automation setup.
This architecture provides a modular, scalable, and fully customizable lighting and control solution tightly integrated with Home Assistant.