Skip to the content
2 layers400 × 100 mmChessboard pcb, the printed circuit board in 3D

Chessboard pcb

aaravs-s/Imperium6

A self moving chessboard controlled by electro-magnets

Size
400 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
34
Nets
23
Pads
112
Tracks, vias
295, 58
Pours
4
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
24 May 2025
Updated
2 Jan 2026

Overview

Chessboard pcb is an open-source printed circuit board by aaravs-s, from the aaravs-s/Imperium repository on GitHub. It is a 2-layer board of 400 × 100 mm with 34 parts on 23 nets, routed with 295 tracks and 58 vias.

It is built around the CD74HC4067M. Its parts include 17 ICs, 16 capacitors and 1 connector. It belongs with the robots and motor control boards of this library.

Main components

1

README

README.md

Imperium

An Autonomous, Sensor-Driven Chessboard with Electromagnetic Piece Control

Abstract

Imperium is a fully autonomous chessboard that detects and moves pieces using a precision electromagnetic gantry, per-square Hall-effect sensing, and CNC-style motion control. The system integrates custom mechanical design, multi-PCB electronics, and firmware-level motion planning to deliver seamless, repeatable gameplay without manual calibration.


System Overview

mermaid
flowchart LR
    Pieces[Chess Pieces — Magnets]
    Sensors[Hall Sensor Matrix — 64 Squares]
    Mux[16:1 Multiplexers]
    MCU[ESP32 Master Controller]
    Drivers[TMC2209 Motor Drivers]
    Motors[Stepper Motors — T-Bot Gantry]
    Magnet[Electromagnet]

    Pieces --> Sensors
    Sensors --> Mux
    Mux --> MCU
    MCU --> Drivers
    Drivers --> Motors
    MCU --> Magnet

Project Media

Completed System

image

Figure 2: Fully assembled Imperium chessboard

Videos


Hardware Architecture

Mechanical Subsystem

image

CAD Figure: T-Bot gantry layout and belt routing

Gantry Design

  • Type: T-Bot (CoreXY derivative)
  • Motors: 2× NEMA 17
  • Linear motion: 2× MGN12 rails (450 mm)
  • Drive: GT2 belts & pulleys
  • End effector: Electromagnet (custom mount)

Design Rationale

  • Compact footprint compared to CoreXY
  • Sufficient precision for chess (no micron-level requirement)
  • Reduced part count and cost

Sensing Architecture

Hall Sensor Matrix

mermaid
flowchart LR
    Square1[Square 1]
    Square2[Square 2]
    SquareN[Square 64]
    Mux1[16:1 MUX]
    MCU[ESP32]

    Square1 --> Mux1
    Square2 --> Mux1
    SquareN --> Mux1
    Mux1 --> MCU

Figure 5: 64-square Hall-effect sensor grid

  • Sensors: KTH-1601 (46 Gs threshold)
  • 1 sensor per square (64 total)
  • Mounted beneath ~3 mm acrylic

Why Hall Sensors

  • Instantaneous response
  • No ghosting (unlike reed switches)
  • Reliable removal detection

PCB Sheet Layout

mermaid
flowchart TB
    PCB1[Hall PCB Sheet 1\n16 Sensors]
    PCB2[Hall PCB Sheet 2\n16 Sensors]
    PCB3[Hall PCB Sheet 3\n16 Sensors]
    PCB4[Hall PCB Sheet 4\n16 Sensors]
    Master[Master PCB]

    PCB1 --> Master
    PCB2 --> Master
    PCB3 --> Master
    PCB4 --> Master

image image

Figure 6: Hall sensor PCB sheet (100 mm × 400 mm)

Each PCB sheet contains:

  • 16 Hall sensors
  • 1× 16:1 multiplexer
  • Local decoupling capacitors
  • Ribbon cable interface

Total sheets: 4


Control Electronics

Master Control Board

image image

Figure 7: Master PCB functional block diagram

Core Components

  • MCU: ESP32
  • Motor drivers: 2× TMC2209 (UART)
  • Power:
    • 12 V rail (motors + electromagnet)
    • Buck converter → 3.3 V logic
  • Electromagnet switching via transistor

All schematics and footprints were custom-designed in KiCad.


UART Motor Control

Chess pieces are moved exclusively along square edges rather than diagonals. This design choice:

Prevents collisions with stationary pieces

Simplifies motion planning

Ensures consistent and predictable movement paths

The gantry executes all moves as a sequence of orthogonal segments.

UART enables:

  • Sensorless homing
  • Stall detection
  • Current tuning
  • Advanced diagnostics

Control Flow

  1. Board State Detection
    Hall sensor matrix scans current piece positions.

  2. Move Translation
    Chess moves converted into constrained paths.

  3. G-Code Generation
    Custom G-code enforces non-diagonal movement.

  4. Execution
    G-code executed by FluidNC on ESP32.


Bill of Materials (BOM)

image

📎 Full BOM:
https://docs.google.com/spreadsheets/d/1yp7t6AiXMwJCAfVlhCX7udocGjks9lOOFWkv4rPJByo/view


Results

  • Reliable autonomous gameplay
  • Accurate per-square detection
  • Consistent homing and positioning
  • No recalibration required between games

Future Work

  • Chess engine integration
  • Companion UI / mobile app
  • Faster traversal paths
  • Noise reduction
  • Fully enclosed consumer-ready housing

References


Parts

34
QtyValueFootprintReferences
16C_SmallCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16
16~KTH_hallsensor:KTH_1601_S3U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16
1CD74HC4067MPackage_SO:SOIC-24W_7.5x15.4mm_P1.27mmU17
1Conn_01x07_SocketConnector_IDC:IDC-Header_2x04_P2.54mm_VerticalJ1

More from aaravs-s/Imperium

1
  • 2 layers100 × 95.5 mmChessboard masterpcb, the printed circuit board in 3D

    Chessboard masterpcb

    aaravs-s/Imperium

    A self moving chessboard controlled by electro-magnets

    14 parts6

Similar boards

  • 2 layers312 × 140 mmTsynth2 Rev1.3, the printed circuit board in 3D

    Tsynth2 Rev1.3

    Electrotechnique/TSynth-Teensy4.1

    TSynth for Teensy 4.1

    108 parts182
  • 2 layers422.4 × 118.2 mmMidiMood (tht), the printed circuit board in 3D

    MidiMood (tht)

    silveirago/MidiMood

    This repository contains the code for a custom MIDI controller project called MidiMood, built using an ATmega32U4 microcontroller (or similar).

    53 parts82
  • 2 layers248.9 × 120.7 mm16nx, the printed circuit board in 3D

    16nx

    16n-faderbank/16nx

    16nx is a controller for musical instruments. Sixteen faders,MIDI over USB and jack, CV out, and I2C out. Based around RP2040.

    171 parts76
  • 4 layers100 × 100 mmOPDM, the printed circuit board in 3D

    OPDM

    brenonsantos/OpenPDM

    OpenPDM is an open-source programable Power Distribution Module for your car

    156 parts75MIT
  • 2 layers215.9 × 101.6 mmIps20, the printed circuit board in 3D

    Ips20

    gzweigle/open-hybrid-piano

    Building a hybrid MIDI digital piano

    135 parts61GPL-3.0
  • 2 layers152.4 × 95.3 mmControl board, the printed circuit board in 3D

    Control board

    carsonrobles/fpga-guitar-pedal

    FPGA based guitar effect station.

    51 parts36
  • 2 layers100 × 100 mmEavesdrum module, the printed circuit board in 3D

    Eavesdrum module

    tobigun/EavesDrum

    EavesDrum is an e-drum trigger module project, designed for musicians and makers. It allows you to connect drum pads or piezo triggers and converts their signals into MIDI events.

    103 parts25GPL-3.0
  • 4 layers33 × 65.5 mmOM FlexGrid Rigid PCB, the printed circuit board in 3D

    OM FlexGrid Rigid PCB

    Open-Muscle/OpenMuscle-FlexGrid

    60-sensor wearable with flexible PCB and pressure matrix

    65 parts19CERN-OHL-S-2.0

Questions

How big is the Chessboard pcb PCB?

It measures 400 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Chessboard pcb use?

34 parts, built around the CD74HC4067M. 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 Chessboard pcb KiCad files?

From the aaravs-s/Imperium repository on GitHub, at the commit this page was made from: the board is PCB/hallsensor_pcb/chessboard_pcb.kicad_pcb and its schematic PCB/hallsensor_pcb/chessboard_pcb.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Chessboard pcb design in my own project?

Its repository states no licence, so its author keeps all rights: ask aaravs-s before reusing the design.