
4x4rev2
noahrichards213/LED-guided-chessboard
Chessboard for beginners that lights up the available moves for the player

Chessboard for beginners that lights up the available moves for the player
8x8 is an open-source printed circuit board by noahrichards213, from the noahrichards213/LED-guided-chessboard repository on GitHub. It is a 2-layer board of 350.5 × 344.8 mm with 384 parts on 257 nets, routed with 4,060 tracks and 853 vias.
It is built around the ESP32-S3-WROOM-1-N8, TPIC6C595N and CD74HC4067M, with the L7805 and JB5630AWT-P-H40GA0000-NZ000001 among its other parts. Its parts include 150 resistors, 80 capacitors, 70 connectors, 64 diodes and 14 ICs. It belongs with the ESP32 boards of this library.
LED-Guided Smart Chessboard An interactive, LED-guided smart chessboard designed for beginners. The board uses magnetic piece tracking via Hall effect sensors and provides real-time visual move guidance through an integrated LED matrix, all run by an ESP32.
All the chess pieces have small magnets taped on the bottom On each square of the chessboard, there is a Hall effect sensor, which detects if a square is occupied or empty. So, we calculate piece movement by polling the Hall effects twice:
As such, we have information about the location of all the pieces on the board on every move, which is stored in an 8x8 array. From there, we iterate over every piece and run an algorithm to update its legal moves. These algorithms take advantage of the geometry of the chessboard. For example, a rook can move horizontally and vertically, so the algorithm to check rook moves checks elements in the array that are in the same row or column.
Each square on the board is assigned a number, and the available moves of each piece are stored in an array containing these numbers. The number uniquely encodes information about the row and column of the square. The array exists as a field in the Piece object.
The numbers in that array are mapped to a 64-bit binary number that indicates which LED should be lit up. For example, the number 25 corresponds to the square with row 2 and column 5 (0-indexed). Each shift register controls the LEDS in a particular row, so the number 2 indicates which register ought to receive data, and the number 5 indicates which of the pins on that shift register ought to receive data. The data in question is the bit 0. The pins of the shift register are connected to the negative terminal of the LEDs. Since the positive end of the LED is always powered, upon receiving a bit 0, the LED is grounded and will light up. Otherwise, the LED is not connected and will not light up.
We iterate this algorithm over all the available moves for a piece that has been lifted up, so the player can see which moves exist in the position. Upon checkmate, a similar algorithm is used to light up:
Video of the Scholar's mate:
https://github.com/user-attachments/assets/231e7ca0-4020-4f57-ace3-88c942b9550d
| Qty | Value | Footprint | References |
|---|---|---|---|
| 82 | 5k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R10, R11, R100, R101, R102, R103, R104, R105, R106, R107, R108, R109, R110, R111, R112 +66 |
| 64 | 10 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30 +48 |
| 64 | 10nF | Capacitor_SMD:C_0805_2012Metric | C10, C11, C12, C13, C14, C15, C17, C18, C19, C20, C21, C22, C23, C24, C26, C27 +48 |
| 64 | Conn_01x03 | Hall effect sensor:TSOT-3L_MLX92232LSE-AAA-002-SP_MEL | J1, J2, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23 +48 |
| 64 | JB5630AWT-P-H40GA0000-NZ000001 | JB5630AWT-P-H40GA0000-NZ000001:LED_JB5630AWT-P-H40GA0000-NZ000001 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +48 |
| 13 | 0.1uF | Capacitor_SMD:C_0805_2012Metric | C1, C2, C3, C4, C5, C6, C7, C16, C25, C34, C49, C62, C80 |
| 8 | TPIC6C595N | TPIC6C595N:SOIC127P600X175-16N | U1, U2, U3, U4, U5, U6, U7, U8 |
| 6 | SW_Push | Button_Switch_SMD:SW_SPST_SKQG_WithStem | SW1, SW2, SW3, SW4, SW5, SW6 |
| 4 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R137, R138, R148, R150 |
| 4 | CD74HC4067M | CD74HC4067M:SOIC127P1030X265-24N | U9, U10, U11, U13 |
| 4 | Conn_01x01 | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J42, J43, J44, J45 |
| 1 | 0.1u | Capacitor_SMD:C_0805_2012Metric | C61 |
| 1 | 0.33u | Capacitor_SMD:C_0805_2012Metric | C52 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C79 |
| 1 | Conn_01x02 | Connector_AMASS:AMASS_XT30U-M_1x02_P5.0mm_Vertical | J41 |
| 1 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J70 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U14 |
| 1 | L7805 | KiCad:L7805CDTTR | U12 |

noahrichards213/LED-guided-chessboard
Chessboard for beginners that lights up the available moves for the player

noahrichards213/LED-guided-chessboard
Chessboard for beginners that lights up the available moves for the player

lhm0/rotating_display
A DIY 40 LED rotating display with Arduino nano and ESP-01s microcontrollers

Aitthikit/POV_Display_PCB
ที่ 2000 RPM: - 33 รอบ/วินาที = 33 FPS - 240 พิกเซลต่อรอบ - 125 µs ต่อพิกเซล



TheJustMoose/LED-display
PCB of 4 digit 7-segment LED display for Arduino based on tpic6c595



MrRooby/Maszyna-W-ESP32
ESP32 based project with addressable LED displays, simulating basic CPU architecture with website Websocket connectivity for real time visualization
It measures 350.5 × 344.8 mm and has 2 copper layers, 1.6 mm thick.
384 parts, built around the ESP32-S3-WROOM-1-N8, TPIC6C595N, CD74HC4067M and L7805. 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.
From the noahrichards213/LED-guided-chessboard repository on GitHub, at the commit this page was made from: the board is rev3/8x8/8x8.kicad_pcb and its schematic rev1/PCB files/3x3 chess board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask noahrichards213 before reusing the design.