Final Project Idea

Long-Distance Board Game

For the final project, I knew that I wanted to create some kind of device that would take information from human interactions with a physical object and then transfer that information over the internet and output it in another physical interface. For a fun application that would be relatively simple since I have very little experience designing electronics, I decided to look at board games, focusing on an older game such as chess or checkers to avoid any intellectual property rights issues. My idea is to create something in between traditional board games and completely electronic or online games. The electronic game board would capture data about where the pieces are located, send that information to your computer and transmit it to someone else's board, a few feet or thousands of miles away. A completely physical user interface would connect to a computer via USB or Bluetooth, and then transmit information about the board setup to family members or friends. This type of game could be especially attractive to families and people who want to avoid eyestrain from staring at a computer and the hassle of trying to mirror game setup via a webcam.

Prior Art: Electronic Chess Boards

There are a number of electronic chess boards on the market that combine a physical board with an in-system computer or USB connector. These boards are mainly designed for users to play against a computer program, with the option of also using it as a a normal chess board for face-to-face play. These types of devices can sell for as much as $500 to $1000. While their advantage is that they have more computing capacity to track games and calculate the best moves, the user interface is still sub-optimal, as users have to either see the move on the screen or wait for the software to call out the move over the speakers.

There are also some DIY examples of these boards, where they built a grid of momentary switches into an existing chess board. Each switch is connected to a small dowel which protrudes up through the board. They also added a small doughnut of foam to the bottom of each playing piece, so that when you press down on the playing piece, the switch will be activated and the move will be registered. Another design incorporates a homemade board, where they used aluminum foil to make the connections. However, it is not clear how and if this DIY set-up recognizes which type of piece is located in each square and that could be an opportunity for improving the design. There are also some interesting examples of ways to output information about the other players moves, which could be interesting to explore further.

My board will not include some of the features of more expensive boards (such as game memory and computer move checking) but I will attempt to design a better output interface for learning your opponent's moves and adjusting the board accordingly.

Design and Fabrication Steps

The board: I decided to vinyl cut the circuits, and laser cut a foam covering. The board will actually have a two layer circuit, with the LED array on the bottom, separated by a layer of foam from the touch sensor array, which is separated by another layer of foam from the top plastic sheet, which will have copper contacts affixed to the bottom side. This will give a clean appearance to the outside layer.

The pieces: I will cast the pieces out of Drystone.

Sensing the location and type of each piece: I will make a matrix of low-cost touch switches by sandwiching a layer of foam between the copper vinyl contacts. Since I will only have one type of piece, it won't need to differentiate between the pieces.

Sending that information to a computer: The microcontroller will send information of when a button is activated to the computer. The computer will store that information in an array and update the user interface. If the switch is activated again, the computer will update its array, which will be sent to the other computer to use as reference.

Sending the info to another computer: How to automatically send the board file to another person over the internet?

Transmitting the info to an output device on the other board: I wanted the squares to light up in a different color, but maybe I can just make the two squares flash instead to save $ on LEDs. So basically, you move your pieces physically, and the array of LEDs would automatically update once your friend moves.

To reduce the number of components and the cost and complexity of the project I decided to do a checkers game instead. One option is to make a charlieplexed array of RGB LEDs, but as each RGB LED is actually 3, it would require 11 pins compared to the 7 required for a single color LED array, and would be much more expensive. I can also matrix the input devices, by connecting each button in series with a LED, which would allow me to control output, and give some feedback on the input side. This method would also require 7 pins, or 8 to avoid ghosting. Either method would require more than one microcontroller or one with a greater # of pins. I also considered other input options such as phototransistors or hall effect sensors, but once again it comes down to the number of pins required to fabricate a matrix of components on two boards.

I will vinyl cut all of the circuits, which will allow for a greater area and more flexibility. I think I'll transfer the circuit to a piece of vinyl for soldering and then transfer the vinyl to something more rigid, such as a thin sheet of plastic. To keep it from being too rigid, I want to sandwich layers of foam, laser cut to allow room for the LEDS, between two sheets of plastic. These layers could be glued together or I could 3D print snaps. For the pieces, to save materials and time I'll just cast a complete set, 8 of each pattern, using a different top mold and the same bottom mold.

For this project in order to make two boards, if I used buttons I would need at minimum 32 red, and 32 blue (~$12) and 64 green LEDS ($24), 64 buttons ($53). I'm starting to see why other boards are so expensive. I can replace the buttons with a touch sensor (as Sarah Hirschman did last year), but if I don't use the green LEDs, I would have to matrix the touch sensors. The foam barrier would be a good touch switch for the circuit, and as the user would only be pressing one piece at a time, there is less risk of a ghosting issue because only one point is activated at a time.

The most difficult part will be learning how to connect the two microcontrollers and how to make the two boards talk to each other over the internet, which is why I tried to make the electronic circuit as simple as possible to leave more time for debugging that step. I'll build the circuit and practice coding it this week. If it works, then I will build another, add the protective layers, and fabricate the pieces. I anticipate that waiting for the Drystone to dry for each piece will take a long time so I will make the mold by the end of this week and alternate casting and coding. If I have any time left over, I'll work on an improved computer interface.