Skip to the content
PCBKitNew board
2 layers80 × 50 mmController, the printed circuit board in 3D

Low-cost electronic chess boards for tournament streaming. Open-source KiCad PCB, ESP32 firmware, FreeCAD enclosure, Three.js digital twin. By SixtyFour.

Size
80 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
49
Pads
84
Tracks, vias
36, 10
Pours
1
Routed
Yes
KiCad
KiCad 8.0.6 (file 20240108)
Created
15 Oct 2026
Updated
15 Oct 2026

Overview

Controller is an open-source printed circuit board by pooravkadiyan, from the pooravkadiyan/sixtyfour-chessstream repository on GitHub, published under the MIT licence. It is a 2-layer board of 80 × 50 mm with 12 parts on 49 nets, routed with 36 tracks and 10 vias.

It is built around the ESP32-WROOM-32E and AMS1117-3.3. Its parts include 4 resistors, 3 capacitors, 2 ICs, 2 connectors and 1 diode. It belongs with the ESP32 boards of this library.

Main components

2

README

README.md

ChessStream India 🇮🇳♟️

Low-cost electronic chess boards for tournament streaming in India

License: MIT

Overview

ChessStream India is an open-source project to manufacture affordable electronic chess boards (<₹2,000) for live tournament streaming. We aim to democratize chess broadcasting in India by providing tournament organizers with a cost-effective alternative to expensive DGT boards (₹36,000+).

Why This Project?

  • 570+ FIDE-rated tournaments happen in India every year
  • DGT boards cost ₹36,000+ — prohibitive for most organizers
  • DGT's core patent (US6168158B1) expired in 2013 — no legal barriers
  • Open-source designs exist (ChessTrace, LiBoard) — we can build on them

Target Specifications

SpecTarget
BOM Cost<₹2,000
ConnectivityWiFi (ESP32)
SensingReed switches + magnets
PowerUSB-C (5V)
StreamingLiveChess-compatible / Lichess Board API
Piece DetectionOccupancy only (software infers moves)

Project Structure

text
├── hardware/           # PCB designs, schematics, enclosure CAD
│   ├── pcb/           # KiCad project files
│   ├── enclosure/     # 3D printable / laser-cut designs
│   └── bom/           # Bill of Materials
├── firmware/          # ESP32 firmware (Arduino/PlatformIO)
│   ├── src/           # Main source code
│   └── lib/           # Libraries
├── software/          # Desktop/web streaming software
│   ├── server/        # Local relay server
│   └── web/           # Web dashboard
├── docs/              # Documentation
│   ├── assembly/      # Assembly instructions
│   ├── api/           # API documentation
│   └── guides/        # User guides
└── RESEARCH_REPORT.md # Market research

Hardware Design

Sensing Technology: Reed Switches

We use reed switches (simplest, cheapest method):

  • 64 reed switches (one per square)
  • 32 neodymium magnets (one per piece)
  • Binary detection: occupied/empty
  • Software infers piece type from game state

Core Components

ComponentQtyEst. Cost
ESP32-WROOM-32E1₹125
Reed switches (glass)64₹270
Neodymium magnets (10mm)32₹135
CD74HC4067 multiplexer4₹100
Custom PCB1₹170
MDF/Acrylic enclosure1₹170
Chess pieces (plastic)32₹250
USB-C connector1₹30
Passive componentslot₹50
Total~₹1,300

Schematic Overview

text
                    ┌─────────────────┐
                    │     ESP32       │
                    │   (WiFi MCU)    │
                    └────────┬────────┘
                             │
         ┌───────────────────┼───────────────────┐
         │                   │                   │
    ┌────┴────┐        ┌────┴────┐        ┌────┴────┐
    │  MUX 1  │        │  MUX 2  │   ...  │  MUX 4  │
    │(16 ch)  │        │(16 ch)  │        │(16 ch)  │
    └────┬────┘        └────┬────┘        └────┬────┘
         │                   │                   │
    ┌────┴────┐        ┌────┴────┐        ┌────┴────┐
    │ Reed    │        │ Reed    │        │ Reed    │
    │Switches │        │Switches │        │Switches │
    │ (a1-h2) │        │ (a3-h4) │        │ (a7-h8) │
    └─────────┘        └─────────┘        └─────────┘

Firmware

The ESP32 firmware:

  1. Scans all 64 reed switches via multiplexers
  2. Detects piece movements (lift/place events)
  3. Maintains board state
  4. Broadcasts moves via WebSocket/MQTT
  5. Supports LiveChess protocol for compatibility

Key Features

  • Debouncing: Handles noisy reed switch signals
  • Move validation: Basic chess rule validation
  • Offline buffer: Stores moves if WiFi drops
  • OTA updates: Over-the-air firmware updates

Software

Streaming Server

  • Local relay server (Python/Node.js)
  • Connects to multiple boards
  • Broadcasts to Chess.com/Lichess/custom platforms
  • PGN export and game archival

Web Dashboard

  • Real-time board visualization
  • Tournament management
  • Multi-board monitoring
  • Player/game metadata entry

Digital twin

The browser twin loads the enclosure and piece STL files and speaks the same WebSocket events as the ESP32 firmware (lift, place, move with UCI).

bash
cd software/digital-twin
python -m http.server 8765

Open http://127.0.0.1:8765 and drag a piece. The 8×8 grid is the reed-matrix view (occupied or empty). Connect ws://<board-ip>:81 to follow a real board, or ws://127.0.0.1:8080/ws to follow the Python relay.

KiCad, FreeCAD, Gerber, and LTspice sources are under hardware/. See hardware/README.md.

Digital Twin

The browser twin loads the enclosure and piece STL files and speaks the same WebSocket events as the ESP32 firmware (lift, place, move with UCI).

bash
cd software/digital-twin
python -m http.server 8765

Open http://127.0.0.1:8765 and drag a piece. The 8×8 grid is the reed-matrix view (occupied or empty). Connect ws://<board-ip>:81 to follow a real board, or ws://127.0.0.1:8080/ws to follow the Python relay.

KiCad, FreeCAD, Gerber, and LTspice sources are under hardware/. See hardware/README.md.

Getting Started

Prerequisites

  • ESP32 development board (for prototyping)
  • Arduino IDE or PlatformIO
  • Basic soldering equipment
  • 3D printer or laser cutter (for enclosure)

Quick Start

bash
# Clone the repo
git clone https://github.com/monara-ventures/chessstream-india.git
cd chessstream-india

# Install PlatformIO (if not installed)
pip install platformio

# Build and upload firmware
cd firmware
pio run -t upload

# Start the streaming server
cd ../software/server
pip install -r requirements.txt
python server.py

Roadmap

Phase 1: Prototype (Current)

  • Finalize PCB schematic
  • Order prototype PCBs from JLCPCB
  • Design 3D-printable enclosure
  • Basic ESP32 firmware
  • Simple WebSocket streaming

Phase 2: Software

  • LiveChess protocol implementation
  • Lichess Board API integration
  • Web dashboard MVP
  • Multi-board support

Phase 3: Production

  • Optimize BOM for cost
  • Design injection-molded enclosure
  • Reliability testing
  • Documentation

Phase 4: Pilot

  • Partner with TNSCA/MCA for pilot tournament
  • Gather feedback
  • Iterate on design

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Areas We Need Help

  • Hardware: PCB design, enclosure design
  • Firmware: ESP32 programming, protocol implementation
  • Software: Web development, streaming integrations
  • Testing: Tournament organizers willing to pilot

References

License

This project is licensed under the MIT License - see LICENSE for details.

Contact

Monara Ventures
Poorav Kadiyan
Email: poorav.pepi@gmail.com


Made with ♟️ in India

Parts

12
QtyValueFootprintReferences
210uFchessstream:C_0805C1, C2
25.1kchessstream:R_0805R1, R2
1100nFchessstream:C_0805C3
110kchessstream:R_0805R3
1330chessstream:R_0805R4
1AMS1117-3.3chessstream:SOT-223U1
1BLUEchessstream:LED_0805D1
1ESP32-WROOM-32Echessstream:ESP32-WROOM-32EU2
1TO_MATRIXchessstream:PinHeader_2x10_P2.54J2
1USB-Cchessstream:USB_C_16_PowerOnlyJ1

Questions

How big is the Controller PCB?

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

What parts does the Controller use?

12 parts, built around the ESP32-WROOM-32E and AMS1117-3.3. 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 Controller KiCad files?

From the pooravkadiyan/sixtyfour-chessstream repository on GitHub, at the commit this page was made from: the board is hardware/pcb/controller.kicad_pcb and its schematic hardware/pcb/chessstream.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Controller 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).

More from pooravkadiyan/sixtyfour-chessstream

1
  • 2 layers450 × 450 mmChessstream, the printed circuit board in 3D

    Chessstream

    pooravkadiyan/sixtyfour-chessstream

    Low-cost electronic chess boards for tournament streaming. Open-source KiCad PCB, ESP32 firmware, FreeCAD enclosure, Three.js digital twin. By SixtyFour.

    141 partsMIT

Similar boards

  • 2 layers90.2 × 90 mmSra dev board 2026, the printed circuit board in 3D

    Sra dev board 2026

    SRA-VJTI/sra-board-hardware-design

    ESP32-based Development Board for Robotics and Embedded Applications

    219 parts81MIT
  • 4 layers62.5 × 60 mmUnijoysticle2 c64, the printed circuit board in 3D

    Unijoysticle2 c64

    ricardoquesada/unijoysticle2

    Bluetooth gamepad support for the Commodore 64 / Atari / Amiga, etc.

    58 parts62
  • 2 layers54.2 × 75.2 mmKiCAD Design, the printed circuit board in 3D

    KiCAD Design

    Brobiwann/ESP-spider

    The ESP-Spider is a quadruped robot inspired by the miniKame (https://github.com/JavierIH/miniKame) . Like the miniKame, it uses sinusoidal functions to control servo positions, but the design and code were developed…

    70 parts44
  • 4 layers65.9 × 52.9 mmEX CSB1, the printed circuit board in 3D

    EX CSB1

    DCC-EX/EX-CSB1

    Open source EX-CSB1 CommandStation / Booster

    103 parts13
  • 2 layers100 × 55 mmPCBTriatlonWAY, the printed circuit board in 3D

    PCBTriatlonWAY

    Alejojoa/Triatlon-Alita

    Repositorio dedicado al desarollo de un robot triatlon.

    43 parts6
  • 2 layers21 × 81.2 mmLowpolylight, the printed circuit board in 3D

    Lowpolylight

    bitsandpixels-io/rgb-butterfly

    Butterfly-shaped RGB light panel using ESPHome

    17 parts5MIT
  • 2 layers62 × 72 mmMsx joyblue v2-build2, the printed circuit board in 3D

    Msx joyblue v2-build2

    herraa1/msx-joyblue-v2

    Use bluetooth joysticks with your MSX computer

    64 parts5GPL-3.0
  • 2 layers66 × 143.3 mmWeatherV3-kernelcon2026, the printed circuit board in 3D

    WeatherV3-kernelcon2026

    ZonkSec/kernelcon-2026-badge

    source code for kernelcon 2026 off grid badge

    87 parts4