OpenChess is a smart chessboard, it can show legal moves, plays against you using Stockfish or let you play online games on your physical board.
- 👣 Step-by-step build guide - covers materials, schematics, assembly, and software setup
- ⚡ Web Flasher - easily flash your ESP32 directly from the browser
Make OpenChess act like a popular Bluetooth smart chessboard. Use it with ChessConnect or any other app that supports the emulated board to play on Chess.com, Lichess and many other platforms.
- Watch the video guide
- In the OpenChess WebUI, choose a board to emulate and click "Start"
- Open ChessConnect or another compatible app
- Select the same board in the app and connect
- Start a game from the app
Note
This is a paid premium feature with a limited free trial. It's closed-source and only included in precompiled firmware from GitHub releases
If you love this project, you can support development and buy full access to Bluetooth emulation here:
Highlights of this fork compared with the original Concept-Bytes project:
- Lichess: Play online over WiFi using the Lichess API, no app
- Game history: Save and review local games, with power loss recovery
- Legal moves: Detects check, checkmate, draws, castling and en passant
- Promotion: Pick the promotion piece from the physical board or Web UI
- Draw/Resign: Use the Web UI buttons, or lift both kings to draw/end a game
- Fixes: Correct board rotation, king/queen placement and turn handling
- Calibration: Maps GPIOs, shift-register outputs, and LEDs so the board rotation doesn't depend on wiring
- Sensors: Debounce and optimized scanning make piece detection more reliable
- Responsive: Async web server and LED animations keep the board and Web UI available at any time
- WiFi: Network scan, up to 3 saved networks, fast reconnect, captive portal, mDNS
- Web UI: Configure the ESP32, view logs, choose game modes, view and edit current position, review games, etc...
- OTA updates: Update firmware and web assets automatically from GitHub releases or manually from the Web UI.
- Release builds: GitHub Actions builds firmware, LittleFS images, and web assets for the Web Flasher and OTA updates
Contributions are welcome! If you have any new ideas to add or feedback to share, I'd love to hear it!
Please read the Contributing Guidelines before submitting a PR.
The Bluetooth board emulation code is git-crypt encrypted.
You can still contribute to the open-source parts of the project: this feature is automatically disabled when building from encrypted sources.
This project is based on Open-Chess by Concept-Bytes, which is licensed under the MIT License.
Original contributions made by joojoooo and all modifications in this repository are licensed under the PolyForm Noncommercial License 1.0.0.
By submitting a pull request to this repository, you agree that your contribution will be licensed under the PolyForm Noncommercial License 1.0.0.
.webp)