This is the code that runs on the microcontroller inside the FrznChessboard, handling the chess logic and physical interface
Find a file
A.M. Rowsell fa9d534e94
docs: bringing in doxygen-awesome-css, added more inline documentation
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.
2025-09-16 03:21:53 -04:00
doxygen-awesome-css@568f56cde6 docs: bringing in doxygen-awesome-css, added more inline documentation 2025-09-16 03:21:53 -04:00
inc docs: bringing in doxygen-awesome-css, added more inline documentation 2025-09-16 03:21:53 -04:00
nbproject chores: updated gitignore, removal of configurations.xml, formatted header 2025-09-13 11:36:53 -04:00
.gitignore docs: bringing in doxygen-awesome-css, added more inline documentation 2025-09-16 03:21:53 -04:00
.gitmodules docs: bringing in doxygen-awesome-css, added more inline documentation 2025-09-16 03:21:53 -04:00
Board.cpp dev: refactoring things to be more OOP! whoop whoop 2025-09-13 11:18:27 -04:00
Doxyfile docs: bringing in doxygen-awesome-css, added more inline documentation 2025-09-16 03:21:53 -04:00
graphics.cpp dev: Pile of updates and formatting fixes. 2025-08-25 16:04:25 -04:00
main.cpp dev: Updates to Board and Piece, formatted code 2025-09-07 17:59:16 -04:00
Makefile repo: Added MPLABX project files including Makefile 2025-07-31 16:33:05 -04:00
NeoPixel.cpp organize: moved include files to inc/ 2025-08-28 10:45:41 -04:00
Piece.cpp dev: refactoring things to be more OOP! whoop whoop 2025-09-13 11:18:27 -04:00
README.md Added README 2025-07-30 21:52:13 -04:00
strFuncs.cpp astyle: reformatted all files 2025-08-28 10:41:59 -04:00

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.