a LED-Matrix Board that can be combined seamlessly to bigger areas.
It uses the TI TLC5971 Constant-Current LED-Driver Chip with 16bit dimming resolution.
The original LED-footprint was for Nichia NSSM032A RGB-LED. Back in 2017 on of the brightest low power SMD LEDs in this size - They are only available as full reel directly from Nichia.
so there is a second branch with the LED-Type changed to Nichia NSSM124D - these are available as cut-tape from an distributor.
latest addition is a branch with TLC5971PWP driver chips - this is the same chip but in an HTSSOP-20 housing - that is easier to solder by hand. --> no hot air / reflow oven necessary, but recommend.
- received first Batch (Release V1.0.0)
- received second Batch (Release V3.0.1)
- 11 PCB's assembled
10 working 🌞
first solder board not working - has a short between VCC and GND (to be checked) - all needed heavy rework: stencil has to big openings - this gives a bunch of bridges at QFN 0,5mm Pin-Pitch IC's
- had some problems with the first reflow oven used - you need enough heat from the bottom to solder correctly.
- made some picture from first assembly: gallery
fix pads that are to small for hand-solderingdoneorder updated PCB'sdonesolder some more boardsdone (total: ~60)order screws at Wegertsederdone- updated KiCad files to new version.
- order Heat Sink with machining and Thermal Foil from Fischer Elektronik
- add some more mounting layouts to LEDBoard_Layouts
- take some more pictures
there are groups of 4 LEDs that are controlled by one TLC5971.
every controller chip has 12 ConstantCurrent outputs. so every LED is controllable individual.
you need to create a mapping to linearize the order:
X/Y | 0 | 1 | 2 | 3 |
---|---|---|---|---|
0 | IC1 LED1 | IC1 LED2 | IC2 LED1 | IC2 LED2 |
1 | IC1 LED3 | IC1 LED4 | IC2 LED3 | IC2 LED4 |
2 | IC3 LED1 | IC3 LED2 | IC4 LED1 | IC4 LED2 |
3 | IC3 LED3 | IC3 LED4 | IC4 LED3 | IC4 LED4 |
example for c++ / arduino
const uint8_t channel_position_map[4][4] = {
{ 0, 1, 4, 5},
{ 2, 3, 6, 7},
{ 8, 9, 12, 13},
{10, 11, 14, 15},
};
- PCB size: 40x40x18mm
- pixel-pitch: 10mm
- 3.8V..5.5V
- <= 1A (maximum)
there is the raw exported BOM at export/BOM/LEDBoard_4x4_16bit_BOM.csv and an modified LibreOffice Calc file with ordering and Price calculations at doc/LEDBoard_4x4_16bit_PriceCalculation_Ordering (link points to exported csv as preview)
there are some Arduino Libraries out there that can generate the correct protocol. My Favorite is ulrichstern/Tlc59711
i have made a simple arduino sketch that uses the mentioned library to test the Boards during production.
Additionally you can use a embedded Linux board with an SPI output to drive them. I have successfully implemented the protocol in my fork of OLA. (TODO: Link and explain OLA setup)
there are also other python libraries out there. (TODO: test some of theme and link here)
theoretically calculate with about 1A@5V for every Board. Supply Voltage (VCC) should be 3,8V..5,5V - If possible use the lower end. so no extra heat is generated in the driver IC.
for the control-signal there are an input and output 3pin 2,54mm connector:
- Data
- Clock
- GND
for the power there are 3x2pin 2,54mm connector positions. so you could daisy-chain power also - but be aware the pcb-traces can handle an absolute maximum of 3,5A. So i would recommend only 1 or maximum 2 daisy-chained boards.
Application: KiCad
Version: 5.99.0-unknown-652a59b78~104~ubuntu20.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Platform: Linux 5.4.0-48-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
Date: Sep 16 2020 10:16:55
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.71.0
OCE: 6.9.1
Curl: 7.68.0
ngspice: 31
Compiler: GCC 9.3.0 with C++ ABI 1013
Build settings:
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_SPICE=ON
LEDBoard_4x4_16bit by Stefan Krüger (s-light) is licensed under a Creative Commons Attribution 4.0 International License .