Skip to the content
2 layers240 × 240 mmKfchess, the printed circuit board in 3D

A physical chess board without the concept of turns

Size
240 × 240 mm
Copper layers
2
Thickness
1.6 mm
Parts
235
Nets
225
Pads
803
Tracks, vias
2,355, 301
Pours
1
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
4 Apr 2024
Updated
28 Mar 2025

Overview

Kfchess is an open-source printed circuit board by misprit7, from the misprit7/real-time-chess repository on GitHub, published under the MIT licence. It is a 2-layer board of 240 × 240 mm with 235 parts on 225 nets, routed with 2,355 tracks and 301 vias.

It is built around the TEENSY 4.1, KF128-5.08-2P-AA and WS2812B-2020, with the AO3400A among its other parts. Its parts include 144 diodes, 32 resistors, 16 transistors and 9 ICs. It belongs with the NXP (LPC, Kinetis, i.MX RT) boards of this library.

Main components

4

README

README.md


Real Time Chess

A physical chess board without the concept of turns

Video explanation: https://youtu.be/y7VtSK23_Jg

Pitch

Chess is boring. I'm boring too so I enjoy it anyways, but I can't help but think "I could design it better." Normally in chess players move sequentially in turns, but this introduces a huge latency bug that the developers of chess forgot to patch: you spend literally half the time waiting for your opponent!

The obvious solution is just get rid of the concept of turns in chess altogether and let players move whenever they want. Real time strategy games like StarCraft and Age of Empires are much more fun and spectator friendly than chess, so this should be a pretty uncontroversial minor rules update that can be implemented before the next world championship. To prevent things from getting too chaotic over the board each piece has an individual cooldown, so once it's been moved it can't move for a fixed period afterwards.

However there's an unfortunate roadblock to the widespread adoption of real time chess: as the Niemann controversy has made all too clear, chess is not immune from accusations of cheating through spectator assistance or outside analisys tools. Trying to have players self enforce these piece cooldowns is impossible. However where the intrinsic goodness of the human psyche fails, engineering is always ready to step in. This project is a physical chess board that keeps track and displays the cooldown remaining for each piece, and even physically holds them in place so no accidental cheating can occur.

Design Files

The firmware and pcb kicad files are in this repo. For the physical design, see the design on OnShape. Other than those parts that were cnced, here were the off the shelf components used:

  • Insulating washers: One under each electromagnet, to keep them isolated from the casing
  • Plastic screws: To attach electromagnets to base, plastic to prevent electrical connection
  • These and these screws: to attach the internal supports and squares respectively
  • Spacers: For an offset between the decorative and functional pcbs
  • Electromagnets: Most expensive part other than the machining, ~$600 per board. Could probably get them cheaper from China or something but for low quantities this was easiest

Known Issues

  • Power distribution: Traces on the pcbs are way undersized given there are many amps running through them, so there are large voltage drops when many pieces are on cooldown simultaneously. To solve this these traces should be much wider
  • Tolerances: The pcbs have extremely tight tolerances which makes assmbling the board extremely annoying. The edges and holes should probably have more room
  • Pin heights: The height of the pins for the banana connectors are taller than the mechanical design allows for, these are fairly easy to shorten using a dremel but probably something that should be fixed
  • Corner screws: Given the order of assembly, it's impossible to insert/fasten the 4 corner screws

Parts

235
QtyValueFootprintReferences
128WS2812B-2020LED_SMD:LED_WS2812B-2020_PLCC4_2.0x2.0mmD11, D101, D102, D103, D104, D105, D106, D107, D108, D110, D111, D112, D113, D114, D115, D116 +112
32MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H10, H11, H12, H13, H14, H15, H16, H17, H18, H19, H20, H21, H22, H23 +16
1610kResistor_SMD:R_0603_1608MetricR2, R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26, R28, R30, R32
161N4007_C727081footprint:SMA_L4.3-W2.5-LS5.0-RDD1, D10, D19, D28, D37, D46, D55, D64, D73, D82, D91, D100, D109, D118, D127, D136
16220Resistor_SMD:R_0603_1608MetricR1, R3, R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27, R29, R31
16AO3400APackage_TO_SOT_SMD:SOT-23Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15, Q16
4XY308-2_54-8Pfootprint:CONN-TH_XY308-2.54-8PU5, U6, U7, U8
2DB128V-5_08-4P-GN-Sfootprint:CONN-TH_4P-P5.08_DIBO_DB128V-5.08U2, U10
2SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP1, JP2
124_243_2footprint:CONN-TH_24.243.2U9
1KF128-5_08-2Pfootprint:CONN-TH_P5.08_KF128-5.08-2PU1
1Teensy4.1teensy:Teensy41U4

Similar boards

  • 2 layers90 × 70 mmEsp32-c6-pwm-4ch, the printed circuit board in 3D

    Esp32-c6-pwm-4ch

    thelad-dev/ESP32-USB-PWM-Board

    ESP32-Firmware & Hardware für 4-Pin-PWM-Lüfter: Duty-Steuerung, Tacho/RPM, serielle CLI.

    40 parts
  • 4 layers64.1 × 72.8 mmBeeFASYER SPARROW, the printed circuit board in 3D

    BeeFASYER SPARROW

    beewarden/BeeFASYER_SPARROW

    Each BEEFASYER monitoring network is centered on exactly one Sparrow.

    142 parts1CERN-OHL-S-2.0
  • 2 layers125.2 × 47.5 mmFlyback trafo devresi, the printed circuit board in 3D

    Flyback trafo devresi

    gorkemguven/12V-1A-Isolated-Flyback-SMPS

    Isolated 230V AC to 12V 1A DC Flyback Converter designed in KiCad with custom transformer winding.

    49 parts1MIT
  • 4 layers60 × 31 mmGarageDoor pro, the printed circuit board in 3D

    GarageDoor pro

    nikolaus018/garageDoor-pro

    ESP32-C3 + GPS board that opens the garage door when you leave and arrive: firmware, KiCad PCB and perfboard build

    46 parts1MIT
  • 2 layers82 × 42 mmCct controller, the printed circuit board in 3D

    Cct controller

    controlol/led-driver-constant-current-esphome

    KiCad design for a constant current driver with Mean Well dimmable LED driver and ESPHome firmware

    42 parts
  • 4 layers100 × 100 mmSmc power, the printed circuit board in 3D

    Smc power

    efebasol/StepperMotorController

    Rev A — single-motor bench prototype power board. Feeds the driver board (48 V), the stepper motor brake (24 V) and the logic (5 V / 3V3).

    104 parts
  • 2 layers35 × 25 mmPCB-0010-A bb buck, the printed circuit board in 3D

    PCB-0010-A bb buck

    ihsan-sa/hwde-boards

    Hardware design boards

    20 partsMIT
  • 4 layers111.8 × 54.5 mmTvc2.0, the printed circuit board in 3D

    Tvc2.0

    Lucan-Keyser/Astro499_TVC

    30 parts2

Questions

How big is the Kfchess PCB?

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

What parts does the Kfchess use?

235 parts, built around the TEENSY 4.1, KF128-5.08-2P-AA, WS2812B-2020 and AO3400A. 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 Kfchess KiCad files?

From the misprit7/real-time-chess repository on GitHub, at the commit this page was made from: the board is ecad/board/kfchess.kicad_pcb and its schematic ecad/board/kfchess.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Kfchess design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).