On 2/8/16 I have completed a basic prototype of my chess board. The board uses a raspberry pi and a rainbowduino to compute the position and light the physical board after a player has made a move. Players enter moves by typing the square the piece they wish to move is on and then entering the name of the square they wish it to move to. The engine is smart enough to catch legal moves but will crash if the user enters a square that does not exist. This is an issue that will be fixed in the coming weeks.
Once the user enters a move the board analyzes the new position to see who is attacking every square more. If the black player is attacking a given square more times than the white player then the square is lit red using LEDs underneath the board. If the white player is attacking a square more than the black player then the square is lit green. If a square is tied between the two players then it is lit blue. If no player is attacking a given square then it is not lit.
Players are expected to use the board’s lighting to make more intelligent decisions on the moves they make during the game. In the few games I have played so far, players who have little chess experience have found the board’s lighting to be extremely helpful.
Currently my board does not check for checkmates or pawn promotions. These features may be added in the coming weeks if I have time between finishing my paper and preparing for my presentation. I do not plan on doing much more work with the software except in my free time so these features will most likely be added after this term.
I have attached a picture of my board below.