ChessLink is a smart chess interface that bridges physical chess with digital capabilities. The hardware-focused system uses custom sensor arrays to detect moves on a physical board and synchronize them with a digital platform for analysis, training, and connected play. This repository contains the project's documentation website and related source code.
- Hardware Architecture
- System Overview
- Features
- Software Components
- Development Status
- Installation
- Usage (Website Development)
- Configuration
- Contributing
- License
- Sensor Array: 64-square (8×8) matrix of phototransistors and LEDs that detect chess pieces through light interruption, 64-square (8×8) matrix of RGB LEDs for visual feedback and move guidance.
- LED System: RGB LEDs integrated into each square for visual feedback and move guidance
- Microcontroller Unit: 4-custom PCBs each equipped with Arduino microcontrollers communicating through UART
- PCB Design: Custom multi-layer PCB (currently in development) integrating all electronic components
- Power System: 5V system with regulated power distribution for sensors, LEDs, and microcontrollers
- I/O Interface: Serial/USB connection to host application, with Bluetooth/WiFi capabilities
(For more details, see the Hardware section in the documentation.)
(Sections on PCB Development, Sensor Technology, Physical Dimensions, and Circuit Design have been moved to the main documentation site.)
ChessLink creates a seamless connection between physical chess play and digital analysis by:
- Detecting physical moves through the sensor array
- Validating moves against chess rules
- Providing feedback through LEDs and sound
- Synchronizing with the web application/documentation site
- Enabling analysis and training features (via connected software)
The system is designed for:
- Chess enthusiasts wanting physical play with digital benefits
- Beginners learning through interactive guidance
- Events and streamers needing real-time digital tracking
- Real-Time Move Detection: Automatically captures piece movements and positions
- Visual Guidance: LED system highlights valid moves, checks, and training suggestions
- Audio Feedback: Sound effects and spoken move announcements
- Training Mode: Receive move suggestions and error notifications
- Analysis Integration: Connect with chess engines for post-game analysis
- Game Recording: Automatically stores game history for review
- Accessibility Features: Audio announcements and high-contrast visual cues
(Detailed feature descriptions and usage can be found in the documentation.)
The software stack complements the hardware system:
- Firmware: Arduino code handling sensor data and LED control
- Web Application / Documentation Site: This Docusaurus-based site providing project information, visualization, and guides.
- API Layer: Connects hardware with software systems
- Optional Server: For online play and advanced features
See the Software Documentation section of this site for detailed information.
Current Status: Version 1 Demo Completed
- ✅ Hardware architecture designed
- ✅ Sensor and LED testing completed
- ✅ Software interface working
- ✅ PCB design in progress
- ✅ Final component selection being evaluated
- ✅ 4×4 prototype board operational
- ✅ Full 8×8 board assembly
- ✅ Case design and manufacturing
Updates: Version 2 WIP
- 🔄 Implement ESP32 into the application
- 🔄 Open-source all remaining modules/fix documentation of v1
- 🔄 Working version which is buildable by users at home
(Track progress and details in the Development section of the documentation.)
-
Clone the Repository
# Replace <repository-url> with the actual URL of this repository git clone <repository-url> website cd website
-
Install Dependencies Using npm:
npm install
Or using Yarn:
yarn install
(For hardware setup and firmware installation, please refer to the Hardware Setup Guide in the documentation.)
- Start the Development Server
Using npm:
Or using Yarn:
npm run start
This command starts a local development server for the Docusaurus website and opens up a browser window (usually atyarn start
http://localhost:3000). Most documentation changes are reflected live.
(For instructions on using the actual ChessLink hardware and associated applications, see the Usage Guides in the documentation.)
- Website Configuration: The main Docusaurus site configuration is in
docusaurus.config.ts. - Project Configuration: Details for configuring firmware, environment variables for related applications, etc., can be found in the relevant documentation sections.
We welcome contributions! Please follow standard Git practices (fork, branch, commit, pull request).
- Fork the Repository
- Create a Feature Branch:
git checkout -b feature/your-feature - Commit Your Changes:
git commit -m 'Add some feature' - Push to Branch:
git push origin feature/your-feature - Open a Pull Request
(See CONTRIBUTING.md if available for more detailed guidelines.)
This project is licensed under the MIT License - see LICENSE for details.