Skip to the content
PCBKitNew board
4 layers170.7 × 119 mmCoreLight, the printed circuit board in 3D

CoreLight is an open-source DIY lighting controller built around an STM32H743.

Size
170.7 × 119 mm
Copper layers
4
Thickness
1.6 mm
Parts
196
Nets
255
Pads
917
Tracks, vias
4,498, 840
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
31 Aug 2026
Updated
4 Sep 2026

Overview

CoreLight is an open-source printed circuit board by llextv, from the llextv/coreLight repository on GitHub. It is a 4-layer board of 170.7 × 119 mm with 196 parts on 255 nets, routed with 4,498 tracks and 840 vias.

It is built around the MAX3485ED, W25Q128JVSIQ and AP2112K-3.3, with the CD74HC4067M, DS3231MZ+ and USBLC6-2SC6 among its other parts. Its parts include 67 capacitors, 38 resistors, 26 ICs, 23 diodes and 21 connectors.

Main components

8

README

README.md

CoreLight

CoreLight is an open-source DIY lighting controller built around an STM32H743.

The project is designed to manage stage lighting systems with up to 13 DMX universes, Ethernet protocols such as Art-Net and sACN, timecode synchronization, show playback and system monitoring.

The goal is not to recreate a grandMA3 console. CoreLight is intended to be a hardware platform for a future open-source lighting-control system.

Main features

  • Up to 13 DMX outputs
  • DMX512 and RS-485 communication
  • Art-Net and sACN support
  • Planned RDM support
  • LTC and MTC timecode
  • Show recording and playback
  • Standalone operation
  • DMX routing and merging
  • Failover and redundancy
  • Ethernet and OSC control
  • Internal web interface
  • Temperature, power and fan monitoring
  • MicroSD and Flash storage
  • USB-C for programming and updates
  • RTC with battery backup
  • Custom 4-layer PCB
  • 3D-printed rack-mount enclosure

Most of these features are still under development. The current version should be considered a hardware prototype rather than a finished lighting controller.


Architecture

The STM32H743 is the central processor of the system. It handles network communication, timecode, DMX processing, show playback and system monitoring.

The controller can also receive LTC, MTC and external event inputs. Lighting data is processed by the STM32 and sent to the required DMX outputs.


Hardware

The current design uses the following main components:

ComponentFunction
STM32H743ZIT6Main microcontroller
W5500Ethernet interface
MAX3485DMX / RS-485 transceivers
CD74HC4067MSignal routing and multiplexing
IS42S16400J-7TLExternal SDRAM
W25Q128JVSIQSPI Flash
DS3231M+Real-time clock
INA226AIDGSTPower monitoring
TMP117AIDRVRTemperature monitoring
SM712DMX transient protection
USBLC6-2SC6USB ESD protection

The complete component list is available in BOM.csv.


Processing and memory

The STM32H743 was selected because the project requires more processing power and memory bandwidth than a basic microcontroller-based DMX interface.

It is responsible for:

  • Art-Net, sACN and OSC communication
  • DMX universe management
  • RDM and DMX monitoring
  • Show playback
  • Timecode processing
  • Failover logic
  • Fan and thermal management
  • System logs and diagnostics

External SDRAM

The external SDRAM is used for temporary runtime data such as:

  • DMX buffers
  • Network packets
  • Show playback data
  • Large processing structures

SPI Flash

The W25Q128JVSIQ Flash can be used for firmware, configuration and persistent system data.

MicroSD card

The microSD card is intended for user-accessible files:

text
/show
/config
/logs
/firmware

Shows, configuration files, logs and firmware updates can be stored on the card.


DMX

CoreLight is designed to support up to 13 DMX universes.

Each output uses a MAX3485 RS-485 transceiver and includes transient protection. A DMX universe contains up to 512 channels, giving a theoretical total of:

[ 13 \times 512 = 6656 \text{ DMX channels} ]

Standard DMX wiring is used

The DMX data rate is 250 kbit/s.

Planned DMX features include:

  • Flexible universe routing
  • DMX repeater mode
  • RDM
  • DMX monitoring
  • Signal-loss detection
  • DMX merging and failover

For example, one network universe could be sent to several physical outputs


Art-Net, sACN and Ethernet

Ethernet communication is handled by the W5500.

The network interface is intended to support:

  • Art-Net
  • sACN
  • OSC
  • Web-based configuration and monitoring

Network universes can be mapped to any of the physical DMX outputs instead of being permanently assigned to a single port.


Timecode

CoreLight includes an LTC input and is designed to support MTC.

Timecode can be used to trigger lighting events or control show playback:

Example events could include scene changes, effect triggers or the start of a complete lighting sequence.

The RTC is used for system time, logs and scheduled events. It is separate from LTC, which is used for show synchronization.


Standalone playback

A show can be uploaded to the microSD card and played back without a permanent computer connection.

A show file may contain:

  • Scenes
  • Cues
  • DMX values
  • Timing information
  • Events
  • Timecode positions

During playback, the STM32 loads the required data and generates the DMX output in real time.


Failover and DMX merging

One of the main objectives is to improve system reliability during shows.

CoreLight is intended to detect problems such as:

  • Loss of network data
  • Software or hardware failure
  • Missing DMX input
  • Communication errors

Depending on the final firmware, the controller could switch to a backup source or continue playback using a locally stored show.

DMX merging is also planned, allowing several sources to contribute to the same output:

The merging rules and failover behavior are still being designed.


Monitoring and cooling

The system includes temperature and power monitoring using a TMP117 and an INA226.

The firmware will be able to control the cooling fan and warn the user in case of excessive temperature or abnormal power consumption.

Available hardware includes:

  • Temperature sensor
  • Power monitor
  • Fan output
  • Status LEDs
  • Buzzer

Power supply

The controller is designed for a 24 V DC input.

The regulated voltages power the STM32, Ethernet interface, DMX transceivers, sensors and other logic circuits.


User interface and web interface

The initial local interface consists of:

  • Rotary encoder
  • Push buttons
  • Status LEDs
  • Buzzer

A future web interface will provide access to:

  • System status
  • DMX monitoring
  • Network settings
  • Show management
  • Logs
  • Temperature and power data
  • Firmware updates

The controller is intended to be configurable from a browser without requiring a dedicated screen.

Software link for the moment: https://www.qlcplus.org/download#


PCB and enclosure

The PCB was designed in KiCad and uses four layers to simplify routing and provide dedicated ground and power planes.

The board contains:

  • STM32H743
  • External SDRAM
  • SPI Flash
  • Ethernet
  • 13 DMX interfaces
  • LTC input
  • USB-C
  • MicroSD
  • RTC
  • Power regulation
  • Monitoring circuits
  • User interface connections

The current design contains approximately 192 footprints.

The enclosure is a custom 3D-printed rack-mount case with openings for the DMX outputs, Ethernet, USB-C, LTC, power, fan and user controls.

CoreLight enclosure

Assembly file: coreLightAssembly.step

CAD files are available in:

text
/cad

The complete KiCad schematic is available in:

text
/scheme

Scheme


Estimated cost

The current estimate is:

text
Components:  $66.01
PCB:         $36.99
Total:      ~$103 USD

This does not include shipping, assembly, enclosure parts or future design changes.


Project journal

The development process is documented in JOURNAL.md.

It includes the PCB design, STM32CubeMX configuration, KiCad work, enclosure design, BOM creation and the problems encountered during development.


Inspiration

CoreLight was inspired by professional lighting hardware such as the grandMA3 Processing Unit and Replay Unit.

The project is independent and is not affiliated with MA Lighting.


Parts

196
QtyValueFootprintReferences
33100nFCapacitor_SMD:C_0805_2012MetricC1, C4, C13, C16, C27, C29, C30, C31, C34, C36, C39, C42, C44, C46, C48, C50 +17
214.7µFCapacitor_SMD:C_0805_2012MetricC5, C28, C35, C40, C41, C43, C45, C47, C49, C51, C53, C55, C57, C59, C61, C63 +5
1510kResistor_SMD:R_0805_2012MetricR1, R4, R5, R6, R9, R42, R58, R74, R80, R82, R83, R84, R88, R89, R90
14MAX3485Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16, U17, U18, U27
13Con DMXConnector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalJ5, J6, J21, J23, J24, J25, J26, J27, J28, J29, J30, J31, J32
13SM712PCM_JLCPCB:D_SOT-23D31, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42, D43, D44
9330RResistor_SMD:R_0805_2012MetricR2, R3, R10, R11, R12, R13, R14, R15, R16
7LEDLED_SMD:LED_0805_2012MetricD47, D48, D49, D50, D51, D52, D53
5100kResistor_SMD:R_0805_2012MetricR59, R72, R75, R85, R86
5SW_PushButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmSW3, SW4, SW5, SW6, SW7
422pFCapacitor_SMD:C_0805_2012MetricC2, C3, C32, C33
210nFCapacitor_SMD:C_0805_2012MetricC73, C74
210uFCapacitor_SMD:C_0805_2012MetricC26, C70
21uFCapacitor_SMD:C_0805_2012MetricC12, C81
24.7uFCapacitor_SMD:C_0805_2012MetricC37, C67
25.1KResistor_SMD:R_0805_2012MetricR43, R44
2Crystal 25MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1, Y3
2FerriteBeadCapacitor_SMD:C_0805_2012MetricFB1, FB3
2MOSFETPackage_TO_SOT_SMD:TO-252-3_TabPin2Q14, Q16
2TMP117xxDRVPackage_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mmU23, U24
110-50mΩResistor_SMD:R_0805_2012MetricR45
1100RResistor_SMD:R_0805_2012MetricR76
112.1kResistor_SMD:R_0805_2012MetricR7
112.4kResistor_SMD:R_0805_2012MetricR8
1120RResistor_SMD:R_0805_2012MetricR87
11N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD32
11N5819Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD17
11kResistor_SMD:R_0805_2012MetricR41
12.2nFCapacitor_SMD:C_0805_2012MetricC80
124v inTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ17
12N7002/AODPCM_JLCPCB:Q_SOT-23Q15
152.3kResistor_SMD:R_0805_2012MetricR73
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U21
1BOOTButton_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mmSW1
1BatteryBattery:BatteryHolder_Keystone_3000_1x12mmBT1
1Buzzer 3.3VBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1CD74HC4067MPackage_SO:SOIC-24W_7.5x15.4mm_P1.27mmU25
1DS3231MPackage_SO:SOIC-16W_7.5x10.3mm_P1.27mmU19
1D_TVS_Dual_AACPCM_JLCPCB:D_SOT-23D4
1EC11 with BTNRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW2
1FANConnector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalJ18
1Fuse 3-5AFuse:Fuse_1812_4532Metric_Pad1.30x3.40mm_HandSolderF2
1INA226Package_SO:VSSOP-10_3x3mm_P0.5mmU22
1IS42S16400J-xCPackage_SO:TSOP-II-54_22.2x10.16mm_P0.8mmU2
1LM2596S-ADJ 5VPackage_TO_SOT_SMD:TO-263-5_TabPin3U20
1LTC INConnector_Audio:Jack_3.5mm_Ledino_KB3SPRS_HorizontalJ22
1Micro_SD_CardConnector_Card:microSD_HC_Hirose_DM3D-SFJ1
1NUCLEO144-H743ZIPackage_QFP:LQFP-144-1EP_20x20mm_P0.5mm_EP6.5x6.5mmU4
1RJ45_Hanrun_HR911105A_HorizontalConnector_RJ:RJ45_Hanrun_HR911105A_HorizontalJ3
1SWDConnector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_VerticalJ19
1UARTConnector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ20
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U26
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J16
1W25Q128JVSPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU3
1W5500Package_QFP:LQFP-48_7x7mm_P0.5mmU5

The 192 most common of 196 parts.

Questions

How big is the CoreLight PCB?

It measures 170.7 × 119 mm and has 4 copper layers, 1.6 mm thick.

What parts does the CoreLight use?

196 parts, built around the MAX3485ED, W25Q128JVSIQ, AP2112K-3.3 and CD74HC4067M. 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 CoreLight KiCad files?

From the llextv/coreLight repository on GitHub, at the commit this page was made from: the board is scheme/coreLight.kicad_pcb and its schematic scheme/coreLight.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the CoreLight design in my own project?

Its repository states no licence, so its author keeps all rights: ask llextv before reusing the design.

Similar boards

  • 6 layers133.1 × 133.1 mmAERIS H743-PCB, the printed circuit board in 3D

    AERIS H743-PCB

    7903555032/AERIS-H743-PCB

    A 6-layer STM32H743-based embedded development and flight-control/data-logging PCB designed as a practical hardware-design and PCB-layout project.

    114 parts1
  • 2 layers50 × 50 mmSensorplatine v1.2 50x50, the printed circuit board in 3D

    Sensorplatine v1.2 50x50

    Markus4771/Fenstersteuerung

    Dieser Ordner enthält historische KiCad-PCB-Zwischenstände der Hauptplatine.

    15 parts
  • 4 layers119 × 79 mmLuxdmx, the printed circuit board in 3D

    Luxdmx

    tombueng/LuxDMX

    Open-source Art-Net / sACN (E1.31) → DMX512 gateway for ESP32 / ESP32-S3 / Ethernet. Live web UI shows all 512 channels in real time, flags console conflicts, and drives galvanically-isolated DMX.

    97 parts97
  • 2 layers88 × 46.1 mmPico panel, the printed circuit board in 3D

    Pico panel

    beleata/fpga-led-panel-sram

    iCE40HX1K 64x32 ICND1065L RGB panel with double-buffered SRAM and 2 Mbaud UART image upload

    103 parts
  • 4 layers68 × 30 mmCM3-CARRIER-1, the printed circuit board in 3D

    CM3-CARRIER-1

    Stab-Rabbit-coding/Serenity-UAV

    A functional, security conscious, Unmanned Aerial Vehicle based on the Firefly Class spacecraft Serenity from the 2002 show..

    22 parts1CERN-OHL-W-2.0
  • 2 layers100 × 100 mmKIT STM32F401, the printed circuit board in 3D

    KIT STM32F401

    TaDuc-TD/STM32KIT

    Bộ kit phục vụ nhu cầu học tập gồm

    153 parts
  • 2 layers39 × 39 mmUP1-GW RS485, the printed circuit board in 3D

    UP1-GW RS485

    OpenKNX/OpenKNX-UP1

    OpenKNX system UP1

    59 parts5
  • 4 layers80 × 47 mm2350 copy for test, the printed circuit board in 3D

    2350 copy for test

    smessmacher/RP2350-Eth

    Ethernet rp2350 version of the pocketReader

    86 parts