.
La única pega que le veo al sistema es que no reconoce qué pieza pisa cada cuadro, lo que obliga a resetear el tablero al comienzo de la partida y a hacer un seguimiento de cada movimiento para saber quién es el que se ha movido.
Visto sin mayor profundidad, no parece representar mucho problema el seguir el movimiento de la piezas. Me imagino que se podrían dedicar 64 bytes de ram para guardar el estado del tablero completo en todo momento. Tampoco veo mayor problema en jugar partidas ya empezadas, o desde posiciones "no estándar" (como en el ajedrez aleatorio). Lo único que se puede hacer es confiar en que el usuario coloque correctamente las piezas en el tablero al iniciar.
La mayoría de los programas de ajedrez para pc no tienen la capacidad de comunicarse directamente con estos tableros. Pero lo que si se puede hacer (la trampa

) es crear un programa que actúe como si fuera un motor (chess engine) que haga de "intermediario" entre el programa y el tablero. Y lo mejor es que alguien ya se encargó del trabajo sucio y se estos programas intermediarios se encuentran disponibles para bajar sin dificultad.
El tema es que, según el protocolo xboard para comunicación con motores de ajedrez, el programa de la pc no se hace cargo de verificar movimientos ilegales por parte del motor. Y esto hace necesario tener que seguir la partida desde el tablero para no mandar cualquier cosa a la pc.
Pero también es necesario si se quiere adicionar la posibilidad de guardar partidas en algún medio extraible, con el fin de poder analizarla más tarde.
Los sensores de contacto me va pareciendo cada vez más adecuados. Sin duda son la opción más barata

, aunque habría que ver cómo hacer para que no queden estéticamente desagradables. ¿Tal vez usando lámina de cobre en vez de aluminio?
