The illumination is done with three RGB leds for each cell to have an uniform colour distribution, and the piece detection it’s done with a hall effect sensor, so the piece has to have a very little magnet under it.
Depending if it’s necessary to know the pointing direction of the piece, each cell will have one or three sensors and the piece one or two magnets.
The cells distribution is done in various circuits, the first one has the leds and sensors. The leds are driven by a RGB led controller and the sensors are read by a parallel load shift register.
Software:
The required software is divided in three parts:
- Low level microcontroller firmware: The microcontroller will manage the led drivers to show the desired colour and read the hall sensors. It will adapt all the data to abstract a higher level software to the cell distribution of the board and it’s control. Also will manage an USB connection as a client device and will implement the USB HID protocol.
- A ‘Gamemaster’ software to manage the data from the USB connection with the board, control the game turns and all the game flow. Also could host an AI player to play against it.
- A frontend with the interface between the users and the Gamemaster. Could be a web server, to a quick mobile implementation or other data server ad hoc to be used by a client player app.
This looks like fun. Wonder how it would scale up - I'm thinking ping pong ball LED wall, like Bitluni made: https://hackaday.com/2019/08/29/giant-led-display-is-1200-balls-to-the-wall/