This week I was able to finish testing the final PCBs. We ran into issues during testing so I replaced the multicore wire on 5 of the PCBs with single core wire. I also mounted the speaker and button modules into the encasing. We have made good progress and are on track to finish the system. I also helped Mukundh to design the new amplification circuit for the speakers.
Team Status Report for 04/29
Our most significant risk is our PCB fabrication process, as none of us have past experience, and we have been teaching ourselves ways to fabricate and debug our circuits. We have been able to make significant progress despite the delays in our orders, to have all our PCBs fabricated and tested, and ready to be integrated with the rest of our system, to ensure complete functionality.
Edison has been leading the PCB fabrication process, and has helped carry out individual tests on each row PCB as they’re fabricated, and also on all 8 of them. This has helped us understand the flaws in our soldering job and helped us fix these mistakes in future PCBs. Mukundh was able to run individual unit tests on all the software subsystems to ensure proper functionality and performance. He was also able to run some power tests on the button and speaker circuits to ensure there is no voltage issues when powering the PCBs, buttons, and speakers on the board. Apart from these technical tests, he was also able to test our board for accessibility and ease of use with our blind users and decided that we needed to increase the size of our braille annotations.
Finally, we decided to incorporate some design changes based on the research we did. We planned to move away from batteries and use just our RPi’s GPIO pins and the Arduino Uno to power our entire board. This resulted in a cheaper and more compact solution, resulting in no limit on the battery life. As mentioned in past reports, we did move away from 3D printing our board to instead just laser cutting it from wood, to reduce our costs. Lastly, we increased the size of our braille tiles to help our blind users be able to tell the difference.
Status Report for Mukundh Balajee on 04/29
This week, I focused on ensuring our PCBs were fabricated correctly and properly connected to the 9th MUX. I also helped ensure we can have our PCB neatly placed and positioned within our encasing, to provide minimal clutter and easily accessible. I was also able to run a number of tests on our software systems, to ensure that the move and board legality checker has minimal latency (<25ms) and the sub-system was able to catch all illegal board states and moves. I was able to test the board components for accessibility (braille, piece identification, ease of understanding the board), and decided to modify our braille tiles to be larger to ensure clear comprehension by our blind users. I was also able to provide that our button and speaker circuit work accurately and ensure that they can be powered by our RPi/Arduino, without affecting the performance of our system. I was also able to run some power tests on our button and speaker circuit while keeping in mind the voltage requirements of our PCBs. Finally, I was able to determine the latency for communication between the Arduino and RPi (<80ms), and also the vocalization system(~<500ms). I was able to ensure that our sub-systems were within their individual latency requirements for MVP and plan to reduce latency post-MVP.
We are slightly behind schedule because of a delay in the arrival of our magnets and PCBs, however, we plan to finish the integration by this weekend and start our system tests and integration tests next week, before our final demo.
By next week, we hope to have our project completely done and ready to be used!
Juan Mejia’s Status Report for 4/22
This week, was mostly focused on hardware. I took the time to redesign and laser cut the top of the board so that it was one piece with slots to glue in the braille tiles. I also engraved the corresponding letters around the border of the board to improve accessibility. Since the PCB arrived this week, I spent a good 12 hours soldering components to the PCBs using solder paste and using manual solder. On the second day of solder, me and Edison started to test 3 of the PCBs that we completed. We had a few bugs. There is still some work to complete as I will be mounting our internal components and soldering more PCBs, come Sunday and Monday.
Team Status Report for 04/22
Due to the delays we experienced with the parts we ordered, our biggest risk is being able to test our parts and ensure we don’t need to pivot or order any new parts. Also, because of a delay in our PCBs, we have been set back a little. We hope to finish the fabrication of all the PCBs this weekend, as we currently have 3 rows fabricated.
We made a change in our design from using batteries to instead being plugged into a wall outlet, as this would reduce costs, and also make our system more compact. Apart from this, we have not changed any of our original plans until MVP.
Our schedule has not changed significantly, even though we had delays with our parts, as we were able to catch up on some work during the week of carnival to account for any delays in the following weeks.
Mukundh Balajee’s Status Report for 04/22
This week, I was able to help Edison solder the PCB. I focused the majority of my time on the piece detection logic, by choosing accurate magnets and magnetic strengths for each piece. After that, I was able to write Arduino code to generate a move based on the number of sensors we had (one fabricated row). This way I was able to generate a move and send the move over to be validated and sent to lichess.org.
We are currently slightly behind schedule because of delays in our orders for PCBs and magnets. However, we have been able to make significant progress with fabricating our PCBs and have at least a semi-functional board by this weekend.
This next week, I hope to be able to integrate the MUX logic with our existing software logic and connect the PCBs. I also hope to be able to attach the speaker to the board and help complete the board to make it a functional product. This week, I also hope to be able to perform as much testing as possible to ensure the integrity of the product.
Juan Mejia’s Status Report for 4/8/23
This week I focused on designing the holders for all our components in side our board. I also designed the power circuit necessary to power the entire hardware system. On the side I also engrave the top of our case with slots to put the braille tiles as well as engrave the letters next to them. In terms of schedule, I am waiting on the PCB and other hardware components to finish up the board.
Mukundh Balajee’s Status Report for 04/08
This week, I ensured communication between different systems worked as expected. This includes connecting our Arduino, and RPi to communicate with each other and information flowed accurately between the two systems. I was also able to manufacture our pieces and print all pour components required for blind users to play physical chess.
Currently, we are slightly behind on our schedule as our PCBs had to be re-fabricated and re-ordered. This delay could potentially affect us, however, I have been able to simulate the testing script to ensure that our current system works correctly, so that we would only have to establish communication between the physical board and the online platform.
Regarding testing and validation, I have been able to add error logs in my software scripts to ensure I can catch any error by monitoring the errors.log file. Since we do not have our hardware components yet, we decided to simulate inputs like it would be made by a user, to play a game of chess with an online player. We also have been measuring our latency goals as we develop, to ensure we stay within our target. We have been user-testing our pieces to ensure our blind users can recognize pieces correctly, and identify the coordinates with the braille notation.
For next week, I plan on finishing the fabrication of our PCB and having our PCB powered, and connected to our software system. I also plan to ensure we have a fully functional button system for starting a game and performing other functions required for the game of chess, and also make sure we have our speaker embedded in our board.
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.