Hacker News new | past | comments | ask | show | jobs | submit login

Not sure if I missed it, but I didn't see any mention of how player moves are detected. Is there a camera and CV? It's always seemed like a fiddly problem to solve with electronics as you end up needing a matrix of sensors so there's a lot of wiring.





I’ve always wanted to try making a smart chess board (with no moving parts; merely detecting moves rather than making them).

I’ve thought of:

- RFID. Have 64 antennas and multiplex them to detect which piece is on which square (idk much about RF so this felt tough)

- Vision with a fiduciary mark under each piece, and an acrylic board

- Hall effect sensors, where instead of knowing which piece is which, it instead assumes the normal starting position and pays attention to which square was picked up from and which square was placed onto to infer which piece moved.

I think with any of these approaches it’d be fun to make a tiny, single-PCB board.


> RFID. Have 64 antennas and multiplex them to detect which piece is on which square (idk much about RF so this felt tough)

The professional-level boards by DGT use RFID and retail for about $500.

I looked into building a competitor some time ago. 64 RFID antennas alone would have eaten up that budget. I believe they do something smarter like having 8 antennas and arbitrating the signals. They have some patents in this area.

I've seen Hall effect and barcode-based systems too. They've always been a bit less reliable than DGT. Actually DGT is not all that reliable: if you are broadcasting a 20-player tournament you will need to manually update the broadcast around once per round. However I think the position detecting (hardware side) is solid and they could do with improving the move detection in software.

None of this is meant to deter you from building this as a hobby project! I think all the approaches would be fun to try.


DGT uses a (patented, expired [1]) resonant LC circuit, not RFID.

[1]: https://patents.google.com/patent/US6168158B1/en


Extremely interesting, and kind of ingenious. Thank you.

I was trying to do something like this a while back, our approach was to have a different color underneath each piece, with an elaborate setup to get the colors reflected into a camera, but I could never get the color detection working reliably with the way we were doing it. It was a fun project though, there's got to be some easy way to detect moves and get a cheap-ish internet-enabled board.

Yeah there are some trainer chess boards that use hall sensors to track piece movements. But I think there is a possibility to actually encode pieces with different magnetic field strengths and flip them for each player. That way you can just do stateless reads and you'll always get the correct readout, plus you can recover from illegal states.

I did a project [0] a few years back that did this absolute encoding for senet, since there is only one type of figure and two players so just flipping the magnetic field worked really well once calibrated. I still need to make a proper writeup/video on that thing one day...

[0] https://imgur.com/a/a29CTXl


I don't think 64 RFID antennas would be that bad - you can etch them onto a PCB. That would be a pretty large PCB, I guess, but you could segment it if necessary.

Put an ultrasonic emitter and an accelerometer in each piece. When a piece completes a move emit an ultrasonic pulse pattern unique to the piece. Pick that up with 3 ultrasonic microphones places around the board and use the time differences between when the pulses arrive at the 3 microphones to find the location of the piece.

Maybe use 6 different frequencies (one for the white King, one for white pawns, and one for the rest of white, and similar for black) to make it easier to handle moves that affect more than one piece.

The moves that involve more than one piece are captures (one piece of each color), castling (one King and one Rook), and pawn promotion (one pawn, one piece of the same color that the pawn promotes to, and possibly one piece of the opposite color if the pawn captures during the promotion).


Yeah, the transparent board with fiduciary marks and a camera was the road I was going down at one point.

There's also a really neat solution that involves a matrix of wires, one for each row and column, and then running a current through the wires. The pieces then each interact with the current in a unique way producing a signal. You then do some clever stuff to figure out all the pieces that are on a given wire. Cheaper than RFID, and you don't need a sensor for each square and can do some multiplexing. I think it possibly uses magnets in the pieces? You can tell electronics is my strong point!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: