Skip to content

git4dcc/RTB_E15

Repository files navigation

RTB_E15

Real-time Bus (RTB) Kicad_Libs Apache License 2.0

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

Note: The E15 is nearly identical to the RTB_E13, but only allows fixed LED voltage.

See also
User Guides

The decoder has the following features,

  • Protocol
    • WS2811 compatible timing
  • LED ports
    • 0..12 LEDs (auto detecting)
    • Charlieplexing (Multiplexing) output
    • 256 step PWM (300Hz)
    • LED voltage fixed to 5V (see also RTB_E13)
    • 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.

PCB

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

Kicad

Schematic | Layout | Gerber

Dependency

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

Firmware

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

Example: E15F0001.hex

Description
pcb Name of matching hardware (E15)
code Type of code contained (R=rom, B=bootloader, F=flash, U=bld update, P=UPDI factory code)
version Release version (####)

UPDI

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

Details
Fuse Setting P-code Install

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 (E15Fxxxx.hex)

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

Software

The LED intensity values for the individual LEDs need to be transmitted over the bus, with N being the number of configured LEDs.

Byte order:     {led_0} ... {led_N}

Images

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