

Led matrix
Python / C control for a LED matrix
- Size
- 59.7 × 59.7 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 24
- Nets
- 42
- Pads
- 106
- Tracks, vias
- 244, 14
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 5 Oct 2020
- Updated
- 9 Mar 2026
Overview
Led matrix is an open-source printed circuit board by Riik, from the Riik/led-matrix repository on GitHub. It is a 2-layer board of 59.7 × 59.7 mm with 24 parts on 42 nets, routed with 244 tracks and 14 vias.
It is built around the 74HCT4051D and TPIC6C595N. Its parts include 9 resistors, 3 capacitors, 3 ICs, 2 connectors and 1 diode. It belongs with the lEDs and displays boards of this library.
Main components
274HCT4051D
SOIC-16-40℃~+125℃ -5V~5V、4.5V~5.5V 13ns 25ns 28ns 5pF 70Ω 8:1 SOIC-16 Analog Switches, Multiplexers ROHSNexperiaAnalog Switches, MultiplexersTPIC6C595N
PDIP-16-40℃~+125℃ 1 4.5V~5.5V 8 Asynchronous clear function、Output enable Open-drain Serial-to-Serial or Parallel TPIC PDIP-16 Shift Registers ROHSTexas InstrumentsShift Registers
README
README.mdrpi-led-matrix
Python / C control for a LED matrix
Goal
Create the software for a hardware project which can drive a LED matrix with a extendable number of rows and columns
Hardware
To drive the rows, the MIC2981 driver IC is used. It can source up to 500mA per pin, which mean 25 columns @ 20mA / column. To sink the columns, the TPIC6C595 is used. I needs to be able to sink one column (20mA) per pin, so for an 8 bit shift register the total IC must be able to sink 8*20mA. The TPIC6C595 is able to sink up to 100mA per pin. The rows should multiplexed, i.e. they should not be one at the same time.
Software
Suitable candidates:
- PIGpio Python library using DMA control http://abyz.me.uk/rpi/pigpio/
- Directly talking to SPI hardware in C using IOCTL
Notes to selfs
- If multiple rows are active, current is split / LEDS are in parallel with respect to the sinking column.
- We probably need a resistor per sink / column
On the subject of the LED matrix 3D model
For this model, we use two programs: OpenSCAD and FreeCAD. OpenSCAD is used to program the model. To make the model readable for KiCad:
- Open FreeCAD
- Select View->Workbench->OpenSCAD
- Open the *.scad file (File->Open)
- In Combo View->Model->Labels & Attributes->2088BS select union
- Go to File->Export
- Export the model as a STEP with colors (*.step *.stp)
Selected components
- 100 Ohm 1206 [3216 Metric]: Vishay CRCW1206100RFKEA (https://nl.farnell.com/vishay/crcw1206100rfkea/res-100r-1-0-25w-1206-thick-film/dp/1469977,
- 10 kOhm 1206 [3216 Metric]: Vishay CRCW120610K0FKEA (https://nl.farnell.com/vishay/crcw120610k0fkea/res-10k-1-0-25w-1206-thick-film/dp/1469970RL,
- 100 nF (0.1 uF) 1206 [3216 Metric] capacitor: Vishay VJ1206Y104KXQCW1BC (https://nl.farnell.com/vishay/vj1206y104kxqcw1bc/cap-0-1-f-10v-10-x7r-1206/dp/2896644RL,
- Pin header male: https://nl.farnell.com/multicomp/mc34753/header-1-row-r-angle-8way/dp/1593431?ost=mc34753,
- Pin header female: https://nl.farnell.com/samtec/ssw-108-02-g-s-ra/receptacle-2-54mm-r-a-single-8way/dp/1668368,
Parts
24| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100 | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R1, R2, R3, R4, R5, R6, R7, R8 |
| 6 | , , , , , | ||
| 3 | 100 nF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1, C2, C3 |
| 1 | 10k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R9 |
| 1 | 74HCT4051 | Package_DIP:DIP-16_W7.62mm | U1 |
| 1 | DISP_LED_MAT_8x8_COM_ANODE | led_matrix:LED_8x8_7.62MM_60.2x60.2MM | D1 |
| 1 | INPUT_CONN | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Horizontal | J1 |
| 1 | MIC2981_82YN | Package_DIP:DIP-18_W7.62mm | U2 |
| 1 | OUTPUT_CONN | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Horizontal | J2 |
| 1 | TPIC6C595N | Package_DIP:DIP-16_W7.62mm | U3 |
Questions
How big is the Led matrix PCB?
It measures 59.7 × 59.7 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Led matrix use?
24 parts, built around the 74HCT4051D and TPIC6C595N. 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 Led matrix KiCad files?
From the Riik/led-matrix repository on GitHub, at the commit this page was made from: the board is v1/kicad/led-matrix/led-matrix.kicad_pcb and its schematic v2/kicad/led-matrix/led-matrix.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Led matrix design in my own project?
Its repository states no licence, so its author keeps all rights: ask Riik before reusing the design.
More from Riik/led-matrix
1- 2 layers38 × 38 mm

Similar boards
- 2 layers76.5 × 109.1 mm

RD40 display V1
lhm0/rotating_display
A DIY 40 LED rotating display with Arduino nano and ESP-01s microcontrollers
32 parts71 - 4 layers51.6 × 42.4 mm

LED DisplayV2
Aitthikit/POV_Display_PCB
ที่ 2000 RPM: - 33 รอบ/วินาที = 33 FPS - 240 พิกเซลต่อรอบ - 125 µs ต่อพิกเซล
105 parts - 2 layers120 × 120 mm

- 2 layers350.5 × 344.8 mm

8x8
noahrichards213/LED-guided-chessboard
Chessboard for beginners that lights up the available moves for the player
384 parts - 2 layers96.5 × 49.5 mm

LED display
TheJustMoose/LED-display
PCB of 4 digit 7-segment LED display for Arduino based on tpic6c595
89 parts - 2 layers49.8 × 99.8 mm

- 2 layers280.2 × 132.1 mm

Midi mixer one
markwheeler/midi-mixer-one
MIDI Mixer One is a mixer-style MIDI controller built around Teensy. Includes hardware designs, firmware and a web config tool.
72 parts65 - 2 layers167.8 × 200.6 mm

Random Jazz Generator
telec16/modular-synth
Little side project, don't expect much updates.
132 parts16