
Chessboard masterpcb
aaravs-s/Imperium
A self moving chessboard controlled by electro-magnets

A self moving chessboard controlled by electro-magnets
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.
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.
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
Figure 2: Fully assembled Imperium chessboard
CAD Figure: T-Bot gantry layout and belt routing
Gantry Design
Design Rationale
flowchart LR
Square1[Square 1]
Square2[Square 2]
SquareN[Square 64]
Mux1[16:1 MUX]
MCU[ESP32]
Square1 --> Mux1
Square2 --> Mux1
SquareN --> Mux1
Mux1 --> MCUFigure 5: 64-square Hall-effect sensor grid
Why Hall Sensors
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
Figure 6: Hall sensor PCB sheet (100 mm × 400 mm)
Each PCB sheet contains:
Total sheets: 4
Figure 7: Master PCB functional block diagram
Core Components
All schematics and footprints were custom-designed in KiCad.
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:
Board State Detection
Hall sensor matrix scans current piece positions.
Move Translation
Chess moves converted into constrained paths.
G-Code Generation
Custom G-code enforces non-diagonal movement.
Execution
G-code executed by FluidNC on ESP32.
📎 Full BOM:
https://docs.google.com/spreadsheets/d/1yp7t6AiXMwJCAfVlhCX7udocGjks9lOOFWkv4rPJByo/view
| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | C_Small | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 |
| 16 | ~ | KTH_hallsensor:KTH_1601_S3 | U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16 |
| 1 | CD74HC4067M | Package_SO:SOIC-24W_7.5x15.4mm_P1.27mm | U17 |
| 1 | Conn_01x07_Socket | Connector_IDC:IDC-Header_2x04_P2.54mm_Vertical | J1 |

aaravs-s/Imperium
A self moving chessboard controlled by electro-magnets


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

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.

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



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.

Open-Muscle/OpenMuscle-FlexGrid
60-sensor wearable with flexible PCB and pressure matrix
It measures 400 × 100 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask aaravs-s before reusing the design.