Skip to the content
PCBKitNew board
2 layers48.4 × 21.6 mmE13, the printed circuit board in 3D

Universal charlieplexing WS28xx emulator with variable LED voltage.

Size
48.4 × 21.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
28
Nets
27
Pads
115
Tracks, vias
202, 30
Pours
8
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
3 Feb 2024
Updated
20 Feb 2026

Overview

E13 is an open-source printed circuit board by git4dcc, from the git4dcc/RTB_E13 repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 48.4 × 21.6 mm with 28 parts on 27 nets, routed with 202 tracks and 30 vias.

It is built around the MIC5205-5.0YM5 and SSL34F. Its parts include 7 resistors, 6 connectors, 5 capacitors, 2 ICs and 2 diodes.

Main components

2

README

README.md

RTB_E13

Real-time Bus (RTB) Kicad_Libs Apache License 2.0

This E13 module implements a 12 channel WS2811 emulator with compatible bus timing to drive multiplex (charlieplexing) LEDs. The E13 may be cascaded with regular WS28xx chips. The number of LEDs attached is automatically detected (0-12). This module allows the common LED voltage be dynamically adjusted via the bus protocol. The intended use is to drive Multiplex Signals on Model Railway layouts via the WS28xx bus.

Note: The RTB_E13 is nearly identical to the RTB_E15 but allows for variable LED voltage.

See also
User Guides

<img src=supplemental/images/E13_main.jpg>

The decoder has the following features,

  • Protocol
    • WS2811 compatible timing
  • LED ports
    • 12 channel output
    • Charlieplexing (Multiplexing) output
    • 128 step PWM (300Hz)
    • Software adjustable LED voltage 0..5V (see also RTB_E15)
    • gamma correction (optional)
  • firmware update via V24 debug interface

Hardware

My current PCB layout uses SMD footprints with 0.5mm pitch and 0603 parts. Reflow soldering is my recommendation, but with some experience handsoldering is also possible.

<img src=supplemental/images/E13_top_connect.jpg>

PCB

  • 2-layer PCB, FR4, 1.6mm
  • CPU: AVR64DB32
  • BUS: WS28xx
  • LED: Charlieplexing

Kicad

Schematic | Layout | Gerber

Dependency

:yellow_circle: Requires my Kicad project library RTB_SamacSys in the same directory tree.

Firmware

Filename structure: { pcb }{ code }{ version }.hex

Example: E13F0001.hex

Description
pcbName of matching hardware (E13)
codeType of code contained (R=rom, B=bootloader, F=flash, U=bld update, P=UPDI factory code)
versionRelease version (####)

UPDI

The fuse settings as well as the P-code (E13Pxxxx.hex) has to be installed by using UPDI.

Details

<img src=supplemental/images/E13_updi.jpg>

Fuse SettingP-code Install
<img src=supplemental/images/E13_updi_fuses.jpg width=500><img src=supplemental/images/E13_updi_memory.jpg width=500>

Debug Interface

Subsequent code updates can be done via the built-in serial debug interface.

Details
  • connect the serial cable (1Mb, 8N1, RTS/CTS)

  • press 'break' within the VT100 terminal to bump the module to console prompt

  • upload the firmware file (E13Fxxxx.hex)

  • for more details, refer to the 'User Guide'

    <img src=supplemental/images/E13_debugIF.jpg>

Software

The LED common voltage must be sent as the first byte (virtual LED) over the bus followed by the intensity values for the individual LEDs, with N being the number of configured LEDs.

text
Byte order:     {voltage} {led_0} ... {led_N}
Led Voltage:    5V * {voltage} / 255

Images

<img src=supplemental/images/E13_samples.jpg width=260> <img src=supplemental/images/E13_usecase.jpg width=260>

This project is intended for hobby use only and is distributed in accordance with the Apache License 2.0 agreement.

Parts

28
QtyValueFootprintReferences
4120Resistor_SMD:R_0603_1608MetricR14, R15, R16, R17
4MountingHoleMountingHole:MountingHole_3.2mm_M3_DIN965H1, H2, H3, H4
3100nCapacitor_SMD:C_0603_1608MetricC2, C3, C5
2160Resistor_SMD:R_0603_1608MetricR18, R19
24.7u/10VCapacitor_SMD:C_0805_2012MetricC1, C4
13.3kResistor_SMD:R_0603_1608MetricR20
14x 22kResistor_SMD:R_Array_Convex_4x0603RN1
1AVR64DB32-I_RXBPackage_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.3x3.3mmIC1
1Debug IFConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ5
1HBT(green)LED_SMD:LED_0603_1608MetricD2
1MIC5205-5.0YM5Package_TO_SOT_SMD:SOT-23-5U2
1Multiplex outRTB_parts:1725672J7
1Multiplex outConnector_PinHeader_2.00mm:PinHeader_2x02_P2.00mm_VerticalJ1
1SSL34FDiode_SMD:D_SOD-123FD1
1UPDIConnector_PinHeader_1.27mm:PinHeader_2x03_P1.27mm_VerticalJ4
1WS-bus inputConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ3
1WS-bus outputConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ2
1skip LDOJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1

Questions

How big is the E13 PCB?

It measures 48.4 × 21.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the E13 use?

28 parts, built around the MIC5205-5.0YM5 and SSL34F. 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 E13 KiCad files?

From the git4dcc/RTB_E13 repository on GitHub, at the commit this page was made from: the board is E13.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the E13 design in my own project?

Its repository publishes it under the Apache-2.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

  • 4 layers50 × 50 mmESP32-Sentinel Kinetic Wireless Dongle, the printed circuit board in 3D

    ESP32-Sentinel Kinetic Wireless Dongle

    alextrical/ESP32-Sentinel-Kinetic-Wireless-Dongle

    ESP8266 based Re-implementation of the Vent-Axia Sentinel Kinetic Wired Remote Controller without a Display

    81 parts6CERN-OHL-S-2.0
  • 4 layers200 × 50 mmOmniAnt, the printed circuit board in 3D

    OmniAnt

    mgriff2000/OmniAnt

    Repo for the KiCad project for OmniAnt

    228 parts
  • 2 layers48 × 110 mmFoundation, the printed circuit board in 3D

    Foundation

    odeliy/noise-reap

    126 parts37
  • 2 layers95 × 45 mmHdmi2c, the printed circuit board in 3D

    Hdmi2c

    wlcx/hdmi2c

    A HTTP -> DDC (I2C) bridge

    61 parts6
  • 2 layers73.7 × 48.3 mmGpsdo3, the printed circuit board in 3D

    Gpsdo3

    glenoverby/gpsdo3

    Improved GPS Disciplined Oscillator

    55 parts5
  • 2 layers18 × 33.2 mmAtmega328pb nano, the printed circuit board in 3D

    Atmega328pb nano

    skumlos/atmega328pb-nano

    An Arduino Mini Pro clone using a Atmega328PB instead to have 2 I2C busses

    22 parts4
  • 2 layers100 × 50 mmPower Supply, the printed circuit board in 3D

    Power Supply

    adsehgal/Bench_Power_Supply

    A design for a custom bench top power supply for prototyping.

    106 parts2
  • 4 layers99.6 × 64.2 mmHiro samurai, the printed circuit board in 3D

    Hiro samurai

    electrodonkey/samurai_hardware

    Sumo Robot - Main Board

    171 parts1MIT