Team A7: Sudo Chess

 

Chess is one of the oldest games still popular to this day. Although there are many popular websites where you can find a game, many players prefer physical boards where you can see the pieces in 3D over a 2D representation on a website.

Sudo Chess is a physical chess board that allows you to play against an opponent from anywhere in the world. When you move a piece on the board, your opponent will see  the change on a  web app. When they move a piece on the web app, the piece will move itself on the board!

Sudo Chess Demo Video

Brandon’s Status Update 11/21

This week I worked mostly on sending the move information from the webapp server to the separate running process. I also had to fix some of the messaging from last week, since I had a synchronization issue that I didn’t notice until this week.

Group Status Report for 11/14

Changes

  • We have decided to use copper foil tape for the circuitry of the board, letting us more easily integrate the detection subsystem with the movement subsystem.

Progress Pictures

  • Holes in pieces + a ferrous nut that will go inside each piece.

Brandon’s Status Update 11/14

This week I worked on the communication between an Arduino and the Webapp. I wrote a program to get basic system information from an arduino, one that controls the arduino, code to send moves to the webapp server from a separate running application, and code to relay the moves to the players in a game.

Danié’s Status Report for 11/14

This week I worked mostly on the pieces and the planning of the board top. I created the full plans for the pieces, although the designs remain pencil-and-paper, but everything is laid out. Right now I am waiting for parts.

For the pieces, I drilled holes in them, found an appropriate material for the magnet to attach to, and am waiting for my order to keep working on it. Pics in the group report.

For the board top, I’m commissioning it from TechSpark woodshop and then drilling holes into it.

Brandon’s Status Update for 11/7

This week, I fixed some bugs related to the sockets and login authentication, and started working on the arduino to computer communication.  I’ve created a separate node.js application that uses johnny five to control the arduino and mqtt to communicate between this application and the web app. Next week, I am going to work further on this, and I want to have actual integration between the arduino and web app by the end of the week.

Group Status Report for 10/31

Risks

  • Our own team deadline of November 23rd, when Tony and Danié meet for the construction of the board, is approaching and we still do not have demoable components. We are addressing this by making sure to keep in touch with each other so that no one falls behind.

Changes

  • We may have to consider using a different microcontroller due to the complexity of the calculations we need to make, but if this is necessary it’s a simple re-tuning.

Schedule

  • Minor changes to the schedule, rearranging tasks.
  • A snapshot of our schedule can be viewed here.

Progress Pictures

  • Dimensions for board after verifying the actual travel distance of our linear actuators.

Danié’s Status Report for 10/31

This week I paused work for the circuitry of the piece detection as I realized I needed to get the ball rolling on materials for the construction of the board asap. While I wait for stuff being ordered or made, I will continue to work on the circuitry. Specifically, I touched based with Tony and we made some new design desicions based on what we both have at the moment. We discussed the construction of the board top as well as constraints we must keep in mind when we put our subsystems together, and I have spent this week researching a bit more and preparing for putting orders in towards the construction of the board.

No updates to my schedule as of last week in terms of pushing anything back, but rather rearranging my tasks in order to pipeline them.

Brandon’s Status Update for 10/31

This week, I worked primarily on getting user authentication and registration working for the web app. I originally wanted to work on communicating to an arduino through the website through SerialPort, but was not able to work on that in depth, so that will be my top priority for the next week. I am slightly behind schedule, although still have a decent amount of slack, so I hope I will be able to work more this next week and get back on track.

 

login:

Brandon’s Status Update for 10/24

This week, I worked on using socket.io to add 2-player chess and I also added bootstrap to make the website look a little prettier. I underestimated how much work both the design report and working with socket.io would take, so I did not get to start working with SerialPort / getting input from an Arduino yet.

Below are some images of my progress.