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.
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.
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.