Skip to the content
2 layers240 × 239.9 mmKiCad chessLab, the printed circuit board in 3D

Interactive Chess board that brings visuals to the game and can help the player to learn.

Size
240 × 239.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
295
Nets
175
Pads
958
Tracks, vias
2,221, 605
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
2 Mar 2026
Updated
22 Oct 2026

Overview

KiCad chessLab is an open-source printed circuit board by dev-campusfab, from the dev-campusfab/chessLab repository on GitHub, published under the AGPL-3.0 licence. It is a 2-layer board of 240 × 239.9 mm with 295 parts on 175 nets, routed with 2,221 tracks and 605 vias.

It is built around the ESP32-C6-WROOM-1-N8, SS49E and 74HC4051, with the 74HC138, WS2812B and TYPE-C-31-M-12 among its other parts. Its parts include 75 capacitors, 74 ICs, 72 resistors, 64 diodes and 3 connectors. It belongs with the ESP32 and RISC-V boards of this library.

Main components

6

README

README.md

ChessLab — Documentation technique

Échiquier connecté détectant la position des pièces (capteurs à effet Hall) et affichant un retour visuel case par case (LEDs RGB adressables), pour visualiser une partie et aider à l'apprentissage du jeu.

Architecture système

text
                        ESP32-C6
        WiFi 6 · BLE 5 · RISC-V 160 MHz · 512 KB SRAM
                            |
        +-------------------+-------------------+
        |                   |                   |
  Capteurs Hall         LEDs RGB           Alimentation
   (8x8 = 64)          (8x8 = 64)          Pack 18650

Hardware

Capteurs de position — SS49E

Capteur à effet Hall Analogique, suffisant pour détecter la présence ou l'absence d'une pièce sur une case.

LEDs — WS2812B (NeoPixel)

64 LEDs adressables individuellement, câblées en une seule chaîne série (une ligne de données, montage serpentin case par case). Alimentation 5 V, consommation crête d'environ 60 mA par LED.

Multiplexage des capteurs Hall

64 capteurs analogiques dépassent le nombre de broches disponibles sur l'ESP32-C6. Solution retenue : multiplexeurs analogiques 74HC4051 (8 voies vers 1), soit 8 multiplexeurs pour 64 capteurs, ramenant le besoin à environ 11 broches ESP32.

Alimentation — 18650

  • 2 cellules 18650 montées en parallèle (~6000 mAh)
  • Gestion de charge : IC TP4056
  • Régulation :
    • 5 V / 3 A pour les LEDs WS2812B (convertisseur buck MP3608)
    • 3,3 V pour l'ESP32 et les capteurs Hall (LDO AMS1117-3.3)

Circuit d'alimentation (mise sous tension)

Commutation assurée par un MOSFET P-Channel AO3401, piloté par le bouton d'alimentation et maintenu par l'ESP32 :

text
VBAT
 |
 R1 10k
 |
 +----------------------> Gate AO3401 (P-MOS)
 |                              |
 |        +---- R2 100k --------+
 |        |
 |     Source AO3401 = VBAT
 |        |
 |       Drain --------------------> VSYS
 |                                     |
BTN_PWR                          (MT3608 + AMS1117)
 |                                     |
 +---- vers Gate                 ESP32-C6
                                   |         |
                          GPIO_PWR_HOLD  GPIO_BTN_PWR
                          (maintien ON)  (lecture bouton)

Séquence d'allumage

  1. Appui sur BTN_PWR
  2. La gate du MOSFET passe à GND, le MOSFET conduit
  3. VSYS s'active, l'ESP32 démarre
  4. L'ESP32 maintient son GPIO à l'état bas pour garder le MOSFET conducteur
  5. Le bouton peut être relâché, le système reste alimenté

Extinction logicielle

  1. Inactivité détectée (par exemple 10 minutes sans coup joué)
  2. Sauvegarde de l'état de la partie si nécessaire
  3. Le GPIO passe à l'état haut, le MOSFET se bloque et coupe l'alimentation

Extinction manuelle

  1. Appui long sur BTN_PWR (environ 3 secondes)
  2. Détection par l'ESP32 via le GPIO de lecture du bouton
  3. Même séquence que l'extinction logicielle

Répartition des composants entre les deux cartes

Carte principaleCarte d'alimentation
ESP32-C6TP4056
Connecteur USB-CDW01A + FS8205A
64× WS2812BConnecteur 18650
64× SS49EMT3608 (5 V)
8× 74HC4051AMS1117 (3,3 V)
1× 74HC138Commutation MOSFET
BTN_BOOT + BTN_RESETBTN_PWR + LED power
Connecteur JST vers carte d'alimentationConnecteur JST vers carte principale

Les deux cartes sont reliées par un connecteur JST 4 broches :

BrocheSignal
1VBAT (18650+)
2GND
35 V (sortie MT3608 vers carte principale)
43,3 V (sortie AMS1117 vers carte principale)

Layout PCB

  • Routage serpentin des WS2812B (entrée/sortie de données case par case)
  • Matrices de capteurs Hall organisées en lignes/colonnes vers les multiplexeurs
  • Épaisseur de PCB standard : 1,6 mm
  • Couche diffusante imprimée en 3D au-dessus des LEDs

Largeurs de piste

SignalLargeur
Données / GPIO0,25 mm
Alimentation 3,3 V0,5 mm
Alimentation 5 V (LEDs)1,0 mm
VBAT1,0 mm
VSYS1,0 mm
USB D+ / D-0,2 mm

Vias

TypePerçagePad
Standard0,4 mm0,8 mm
Puissance0,6 mm1,2 mm

Pinout ESP32-C6

BrocheGPIOFonction
13GPIO12USB D-
14GPIO13USB D+
8GPIO0Mux — sélection canal S0
9GPIO1Mux — sélection canal S1
27GPIO2Mux — sélection canal S2
16GPIO1874HC138 — sélection rangée A0
25GPIO1674HC138 — sélection rangée A1
24GPIO1774HC138 — sélection rangée A2
26GPIO3Lecture capteurs Hall (A_OUT)
17GPIO19Données WS2812B (via résistance 33 Ω)
18GPIO20VBAT
15GPIO9Bouton BOOT
19GPIO21Lecture bouton d'alimentation (BTN_PWR)
20GPIO22Maintien alimentation (PWR_HOLD)

Fixation des pièces

Aimants cylindriques N52, Ø6×3 mm, insérés dans la base de chaque pièce et collés à l'époxy dans un logement imprimé en 3D. Ce choix permet une détection fiable par les capteurs Hall tout en restant invisible une fois la pièce posée.

Boîtier

Hauteur totale estimée : 25 à 30 mm, dimensionnée pour loger la carte principale, la carte d'alimentation et les deux packs 18650.

Firmware

Architecture logicielle sous FreeRTOS, organisée en tâches indépendantes :

TâcheRôle
Hall ScannerScrutation des 64 capteurs (polling 50 ms)
LED ControllerTraduction de l'état de l'échiquier en animation LED
Chess EngineValidation des positions et des coups légaux
BLE/WiFiCommunication avec l'application mobile ou l'interface web
Battery MonitorSuivi de la tension batterie via diviseur de tension sur ADC

Bibliothèques envisagées

  • FastLED ou Adafruit NeoPixel pour le pilotage des WS2812B
  • Stockfish (version allégée, via WASM) pour le moteur d'échecs
  • Interface web servie depuis la mémoire flash (SPIFFS/LittleFS)

Feuille de route

PhaseObjectif
P1Prototype d'une case (1 LED + 1 capteur Hall + multiplexeur) sur breadboard
P2PCB de test 4×4 (KiCad) pour valider le multiplexage
P3PCB complet 8×8 et boîtier v1
P4Firmware — moteur d'échecs et application
P5Impression 3D du boîtier final et des pièces modifiées

Parts

295
QtyValueFootprintReferences
73100nFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26 +57
6710kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR13, R14, R15, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30 +51
64SS49EchessLab-footprints:TO130P160X410X300-3PIC10, IC11, IC12, IC13, IC14, IC15, IC16, IC17, IC18, IC19, IC20, IC21, IC22, IC23, IC24, IC25 +48
64WS2812BchessLab-footprints:WS2812BLED1, LED2, LED10, LED11, LED12, LED13, LED14, LED15, LED16, LED17, LED18, LED19, LED20, LED21, LED22, LED23 +48
874HC4051chessLab-footprints:74HC4051D653U4, U5, U6, U7, U8, U9, U10, U11
5MountingHole_PadMountingHole:MountingHole_2.2mm_M2_DIN965_PadH1, H2, H3, H4, H5
2100kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR16, R17
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10, R12
1100uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC9
110uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC10
133Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR11
174HC138Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU3
1BOOTchessLab-footprints:B3U-1000PSW3
1DATAConnector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ5
1ESP32-C6-WROOM-1-N8chessLab-footprints:ESP32C6WROOM1N8IC4
1PWRConnector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalJ6
1RSTchessLab-footprints:B3U-1000PSW2
1TYPE-C-31-M-12chessLab-footprints:HRO_TYPE-C-31-M-12J4

More from dev-campusfab/chessLab

1
  • 2 layers56.1 × 37 mmPowerBoard, the printed circuit board in 3D

    PowerBoard

    dev-campusfab/chessLab

    Interactive Chess board that brings visuals to the game and can help the player to learn.

    44 parts2AGPL-3.0

Similar boards

  • 2 layersAirquality sensor, the printed circuit board in 3D

    Airquality sensor

    frodegill/airsensor

    PCB and Arduino code for custom air quality sensor

    22 partsGPL-3.0
  • 4 layers192 × 137.2 mmArm board, the printed circuit board in 3D

    Arm board

    UofSSpaceTeam/rover-hardware

    Hardware design files for the Rover project.

    145 parts5
  • 2 layers69.4 × 113 mmEpaper reader hw, the printed circuit board in 3D

    Epaper reader hw

    mathias4833/epaper-reader-hw

    An open-source e-paper reader

    126 parts75CERN-OHL-W-2.0
  • 2 layers64 × 50 mmEverAliveSensor PCB, the printed circuit board in 3D

    EverAliveSensor PCB

    jfm92/everAliveSensor

    Solar-powered BLE environmental sensor (temp, humidity, pressure) with a 50F supercapacitor — potentially infinite lifetime, 19-day dark autonomy. ESP32 + BME680. Experimental.

    54 parts28
  • 2 layers60 × 77.7 mmHard EnvSens, the printed circuit board in 3D

    Hard EnvSens

    IgorFJensen/Hard-EnvSens

    106 parts
  • 2 layers275.7 × 105.3 mmHector, the printed circuit board in 3D

    Hector

    RickKross/hector

    Hector is a 38-key column staggered keyboard with HE magnetic sensors

    224 parts18CERN-OHL-W-2.0

Questions

How big is the KiCad chessLab PCB?

It measures 240 × 239.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the KiCad chessLab use?

295 parts, built around the ESP32-C6-WROOM-1-N8, SS49E, 74HC4051 and 74HC138. 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 KiCad chessLab KiCad files?

From the dev-campusfab/chessLab repository on GitHub, at the commit this page was made from: the board is Hardware/kiCad_chessLab/kiCad_chessLab.kicad_pcb and its schematic Hardware/kiCad_chessLab/cell.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the KiCad chessLab design in my own project?

Its repository publishes it under the AGPL-3.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).