Don't laugh...
This was my first prototype for the board. Carboard base with stiff wire - what a mess.
It did work though, after a fashion. I learnt enough to make me think I could do better with reed switches that didn't stick closed or open.
So my next attempt was built on a clear polycarbonate plastic sheet. I backed it with paper then laid out tracks with Kapton tape for insulation and slug tape for conductors.
Slug tape is a wonderful thing and I had no idea. It just loves solder!
The micro-controller is a Teensy 4.1.
A board design printed on posh photo paper for the playing surface, and a little tft screen mounted underneath the plastic.
You may recognise the pieces - they are from my Centaur. I did a non-destructive modification with magnets and sticky back velour on the existing bases.
It allows slides and captures either way. Even a zig-zag slide with a flourish works! Now that would be an annoying trait in an opponent.
After that I lost my way somewhat. The plan was to make the board talk to PicoChess, but I was really struggling with understanding the Python code. So instead I started coding on the Teensy to not just generate moves, but to only allow legal moves.
The current state...
Buzzer (very annoying) and twirly button thingy added for menus. Not so pretty on the top, but easier to see and operate. No menus yet... lost my way again.
It recognises illegal moves, checks and discovered checks. It allows castling and en-passant moves and it generates and consumes FEN strings. it passes moves via USB to my Rapsberry Pi where a little Python script (yes I am learning, but the basis of it was cribbed from StackOverflow) passes the moves to Stockfish, and sends back the responses.
I haven't coded for checkmate or stalemate - seems rather daunting for me and the Teensy. Even in the current state I can play a game to conclusion - usually a loss.
My intention is still to build a highly polished wooden stand-alone board with Pico Chess built in. I want the engines, PicoTutor and move announcements.
Anyway, I'm having loads of fun on the way.
cb