Aesthetic Electromechanical Chessboard
2013 Senior Design Project - Funded in part by NASA Space Grant Consortium
The central goal of this project is to make a device that uses modern technology to play a game of chess, while maintaining the aesthetic quality of pre-20th century craft. To do this the interface is unique, hand-crafted, and it does not use the standard buttons or LEDs that virtually all modern electronics use. All of the stone chessboard tiles are capable of moving up and down by means of a servo pushing them from underneath. This vertical movement allows the chessboard to show which moves are a valid when the player picks up a piece. It also indicates the move that the on-board computer opponent chooses to make.
There are still plenty of things I need to do with it, like finishing the woodworking, so I will try to keep this page updated as progress is made. For an overview of the project you can just scroll down, but if more detail is needed you can download the final report below.
- An array of Hall-effect sensors sense where each magnetic chesspiece is
- 64 servos push the tiles up or down to tell the player the valid moves when they pick up a piece
- Board turns on upon a magnetic token being placed in to the socket
- System is powered by a 5200mAh Li-ion Battery
- Each of the 64 tiles are constructed from 5 slabs of either black jasper or sandstone
- Four custom 20 channel servo controller circuits were built
- The frame is hand-carved black walnut
Cam Followers and Servos
The chessboard needed a way to raise and lower each of the 64 tiles individually, and it needs to do it with the following concerns in mind:
- Cost: 64 actuators can get very expensive, very fast
- Simplicity: Both the electronics and mechanism need to be simple in order for the project to have any chance of getting done in time (and actually fitting in the enclosure)
- Battery Usage: The tiles need to hold their positions without any power being used. This thing shouldn't need to be hooked up to a dryer outlet
So, a cam follower mechanism was chosen. Cams can be easily cut from an aluminum sheet and placed on the servo, and the servo can then push the spring loaded rod with the tile attached up and down. Also, for the electronics, a 64 channel servo controller is a lot easier and less bulky than a 64 channel stepper controller.
Below is an overview of the three main circuits designed to make the chessboard work.
There are two main jobs of the main controller circuit: providing power to the whole system and controlling how the chess game progresses. To do this, it communicates with all of the peripherals, e.g, telling the servo controllers which servos should move, telling the battery charger what charging voltage and current to use, etc.
The circuit is centered around a PIC18F4680 microcontroller that has all of the chess logic and other firmware on it (written in C).
Servo / Sensor Controller
To remove some of the strain of generating up to 80 PWM signals and scanning 64 sensors from the main controller, a dedicated servo / sensor controller was developed. Also, having dedicated servo controllers makes the wiring much less complicated because all of the servo headers can be plugged directly into a circuit board close by. Four of these controllers are used in the system, and they each control a 4x4 region of tiles. Each has the following abilities.
- Control up to 20 Servos
- Monitor 16 Hall Effect Sensors
- Generate an interrupt request when one of the sensors changes
- Automatically limit the number of servos that can be receiving control pulses at one time (current limiting)
- Receive SPI commands from Master
The final circuit simply detects whether or not (and which) token was placed in the socket – enabling the chessboard. To do this, every token has up to 3 neodymium magnets, oriented in either north or south direction. Underneath the socket there are 3 analog Hall Effect sensors (SS495) which detect a change in the magnetic field. The arrangement of magnets allows each token to have a 3 bit ID.
As of late April 2013, I was able to get the basic prototype done. At this stage two human opponents can play each other, and all of the electronics and other hardware function. There is still plenty that will be done with it in the future though. Below you can watch a quick clip of it functioning!
- Finish woodcarving and apply finish.
- Implement AI opponent on onboard ARM development board.