This is the code that runs on the microcontroller inside the FrznChessboard, handling the chess logic and physical interface
The doxygen-awesome-css project is just a nice, simple, customizable CSS system for making doxygen look less like 1992 and more like 2022. I need to spend a bunch of time tweaking it to make it look good, and perhaps match it to the style already used at chess.frzn.dev. Added more inline Doxycomments, and also generated an image that represents the logical layout of the boardGrid member variable, showing the mirrored layout. This works well for our project because of the way the serial data comes in. |
||
|---|---|---|
| doxygen-awesome-css@568f56cde6 | ||
| inc | ||
| nbproject | ||
| .gitignore | ||
| .gitmodules | ||
| Board.cpp | ||
| Doxyfile | ||
| graphics.cpp | ||
| main.cpp | ||
| Makefile | ||
| NeoPixel.cpp | ||
| Piece.cpp | ||
| README.md | ||
| strFuncs.cpp | ||
FrznChessboard
Overview
This project is a nascent effort at creating a low-cost, open-source, easily reproducible alternative to the expensive and proprietary digital chess boards currently on the market. The features we aim to implement are:
- Recording of human-vs-human games, with built-in clock support
- Communication with popular chess websites for online play
- UCI support to allow playing against an engine running on a companion computer
- Import and export of games and positions as FEN or PGN files
- All squares on the board will have individually addressible RGB LEDs, both to indicate computer and online play moves, as well as to show suggestions, opening lessons, etc.
- Both sides will have a small, optional OLED screen facing them that can show a menu, the current clock, whose turn it is, connection status, etc.
- Communication with the companion computer may be over Bluetooth or USB -- final decisions haven't been made yet on this front. There are pros and cons to each
- Built-in rechargeable battery for wireless use; this could be human vs human (take it to the park with you) or online play with possible wireless connections
Software and hardware
This repository contains the software. As of this writing, it's now targetting the PIC32MX series with USB, but may change to a different Microchip MCU depending.