Edison Aviles’s Status Report for 04/08

This week, in order to prepare for our interim demo, I worked closely with Mukundh to solidify our communication between our RPi and Arduino. I updated our NodeJS backend communication logic to establish communication with Mukundh’s Python Serial Module Script in order to initialize the board’s calibration state before starting a game seek. I helped Mukundh debug, test, and verify his code while finalizing communication on my end. By interim demo, we had a full cycle of communication happening from the arduino, to the RPi and then to lichess. All this information would also be reflected on our custom website. Furthermore, I made some basic updates to the website’s UI and added the display of moves made by the different players. Now that we are approaching MVP, I’m starting to reinitialize focus on our post MVP goals, like our website. Mukundh and I focused on establishing the logic for move detection and communication with the arduino. Right now, we hard coded a list of moves (since we do not have our finalized hardware system yet), which the arduino cycles through and sends to the python serial module script, the script then formulates a JSON object and communicates it to the NodeJS file which then validates the move through our validation script and sends the move to Lichess if the move is valid.

In terms of our software schedule, we are making great progress to finish everything leaving a good amount of time to integrate our logic with the hardware system once it is finalized. I, along with Mukundh, will be spending the next week finalizing our move logic, as well as finalizing piece detection logic, while also writing tests in order to validate each of our individual sub systems.

Juan Mejia’s Status Report for 4/01

This week I was able to finish the Arduino code to take in the signal from all the PCB muxs and then cycle through all the different sensors using the select lines. I also set in the cases that whenever a signal on a specific tile changed it would use the Serial communication library to send a string with the corresponding chess coordinate. The other thing that I focused on was building and designing the actual physical board using laser cut and engraved plywood. I would say that I am on schedule with the encasing of the system, but had some delays with the Arduino Code.  I tried to insert a picture of the encasing, but the size is too big.

Edison Aviles’s Status Report for 04/01

Throughout this past week I worked on various portions of our project. The first few days I focused mostly on finalizing the software logic with Mukundh. We worked on centralizing the entire software communication to our NodeJS system. The JS file is now the center of communication of all of our modules and lichess.org. Initially, when a game is started, a POST request is sent to lichess.org with some basic user information, once the game is started it is reflected on our custom website and communication with the arduino is started in order to await a move on the physical board. After a move is detected it is then sent to be validated through our python validation script, based on the result of the script we send the request to lichess and vocalize some information to the user in order to inform them if the move was valid or incorrect. If the move is correct it is reflected on the lichess.org platform and on our website.

Our PCBs were also delivered this week so I began attempting to solder some of the surface mount pieces on our board. However, I ran into a few road blocks considering the pins and patches for our muxes were incredibly tiny and required an advance level soldering skills in order to solder on the PCB whilst using a soldering iron. We decided to pivot and start looking into using the soldering ovens available in techspark. Furthermore, for the interim demo we decided to provide a proof of concept using a simpler circuit on a breadboard which highlights our piece detection logic as well as the rest of our software system.

By next week we hope to have an initial iteration of a full system where a user is able to play a game of chess with the incorporation of the entire system.

Team Status Report for 04/01

The most significant risks currently are fabricating our PCB and soldering its surface mounts. This week we were able to try soldering our components, however, due to a lack of expertise, we fried two PCBs. We have contacted the ECE staff to get permission to use the soldering paste and oven to make it easier. However, if that does not work, we will use Perf boards and solder our components on it.

Instead of 3D printing our board, we decided to laser cut our board and the encasing. As for our braille notation, we decided to 3D print the portions of the board that would require braille and make a casing for these on the board. In order to differentiate between white and black pieces, we decided to incorporate a new design for the different colored pieces which essentially adds a point top to black pieces; this type of design is common in chess boards targeted for blind users.

Mukundh Balajee’s Status Report for 04/01

This week, I was able to finish up our software module, upload our code onto the RPi and enable communication between arduino and RPi. Apart from this, I was also able to write arduino code, to help facilitate some sensor measurements and voltage checks for our hardware, before we pass data over to out software component. Apart from this, I was also able to write testing scripts for some of our scripts to help ensure optimal performance.

At the current rate, we are slightly behind schedule, however, we have our physical product in manufacturing, which would put us back on track to complete our project well ahead of time.

By next week, we hope to have a functional gameplay on the software side, and a proof of concept with at least 3-4 rows working, with the ability to detect different pieces and types of actions.