This week I focused on designing and fabricated our PCB. I used an online PCB designing tool called easyeda.com. It allowed me to set up all the components for needed for a row of the board. This week I also worked on a ethics assignment that was due this week. The last thing I worked on was the setting up the Raspberry Pi OS, so that it can be ready for our Web-App communication. In terms of of keeping up with schedule, I am a bit behind in terms of the hardware design, however a lot of work was able to get done and we should be back on track by Monday. By Wednesday, the logic to control the logic on the muxs will be completed on the Arduino. I will also by Friday have the board laser cut and engraved the braille.
Edison Aviles’s Status Report For 03/18
This week I worked alongside Mukundh to make progress on both the hardware and software aspects of the project. I utilized a large portion of the JavaScript code written to communicate with lichess.org from our web application, in order to communicate from our move validation script with lichess.org. I setup some of the endpoints that we will later call from our python script once moves have been validated. Mukundh and I made modifications to the existing python script to communicate with the JavaScript code and vice versa. We drew out some diagrams in order to better understand how we want information to flow and case based on the current chessboard state. This helped us understand our needs and better approach challenges that arose as we worked on the code.
Furthermore, I worked closely with Mukundh to debug, setup, and test our hall effect sensor circuit. We wrote a basic arduino script to measure voltage drop across and LED based on the polarity of the magnet and distance from the magnet to the sensor. I also setup two parallel circuits on a breadboard in order to test for sensor sensitivity, that is if the surounding sensors would pickup noise or the magnetic field on the neighbording tile. In order to accomplish this I simply measured the distance between the sensors to be 2 inches – which is the size of a tile, and varied the distance between the magnet and sensor. I found that after 0.5 inches, the sensor was able to detect a change in magnetic field and the voltage across the LED varied noticeably.
In terms of schedule, right now we have been able to start picking up on a lot of the areas we had originally fallen behind. With most of our basic sensor testing done and a better understanding of our hardware needs we hope to make large strides on our chessboard next week. On the other hand, with respect to software progress, we hope to finish most of the scripts by early next week according to schedule.
Team Status Report for 03/18
Our current risks are the arrival of our PCBs on time and the manufacturing of our hardware components, which involves laser cutting the board, 3D printing the pieces, and ordering the PCBs and the required components to make the connections on the PCB. We have Juan working on this and placing the orders this weekend so that we can test our circuits and place our order for all 8 columns soon. We also plan to split the task of printing the pieces and have Mukundh and Edison also involved in the manufacturing of the board.
We decided that instead of 3D printing the board, we were gonna laser cut it, to give it the same textures as before. This was a cheaper option given the scale of our board. Apart from this, we have been modifying our software systems. We are reconsidering the use of the Web Application, and also how we want to store, send/receive, and handle data to ensure minimal latency.
Mukundh Balajee’s Status Report for 3/18
This week, I was able to test our Hall Effect Sensors, which arrived late. I designed the circuit needed for each tile and tested out our magnets. I was also able to place the order for the magnets, on my own, to ensure it arrives on time, and we can decide our magnetic strength range for each unique piece. On the software side, I was able to help make our code modular, and separate it into different scripts. I was able to make major progress on the move validation, and integration with lichess.org. Our code currently has endpoints that can be connected to for full functionality. Once our PCB arrives and we can connect the hardware portion.
Currently, my progress is on schedule. I was able to catch up over spring break and keep our progress on schedule till this week. We have been behind on our hardware side, however, Edison and I have been able to catch up on a lot of the work on the software side of our project.
By next week, we hope to have our board laser cut, and PCB tested and ready for use. e also plan to have our pieces made (with magnets inside the piece and pegs placed at the bottom), and 3D print all the pieces. We plan to have some form of established communication between our board and RPi.
Edison Aviles’s Status Report 03/11
For the past two weeks, my main focus has been updating the web application logic to load and update the displayed FEN entirely based on communication from lichess.org. This proved to be difficult since the formatting of the JSON strings being received from lichess.org isn’t in the form of a FEN, it’s actually being sent as an array of moves made during that specific game, ordered from first move to latest move. From this list, I then have to calculate the actual FEN to then display. From here I continue to receive moves in the form of an array of all the moves made in the game and filter out the old moves in order to apply the new moves on the displayed board. Furthermore, I worked with Mukundh to finalize some final tocuhes of the move verification script using Stockfish. We added some classes and methods to mainstream the code and make it easier to understand. Apart from this, the team focused a lot of time on working on the system design report which was submitted last Friday.
In terms of software on the web application portion and Stockfish portion, the team is on track to finish everything on time. This next week we want to push communication between the web app, lichess.org, and the RPi in order to make sure we can play an entire chess game from the RPi and view the game from our web application.
In terms of new technologies used – In order to complete the software portion of the project, I’ve had to learn how to use various libraries including Chess.JS, React Chessboard, Stockfish, and Lichess.org’s public API. I will also have to learn how to use the RPi and the available drivers in order to use the RPi speakers. The team chose to use these specific technologies, mostly based on the fact they all have extensive documentation and have previously been used in similar projects to the one we aim to complete.
Team Report for 03/11
Currently, the delay in the arrival of our Hall Effect sensors, adds an extra time crunch to send our PCB out for fabrication as soon as possible, which would involve testing the sensors as soon as they arrive. Mukundh and Juan are currently learning how to use Autodesk and Eagle to help with PCB Fabrication, and they have also gone over their circuits to check for any theoretical flaws they were able to identify. We have moved our schedule around and worked on future tasks to help keep us somewhat on track.
We decided to get rid of an Arduino Uno, and instead just use an 8-channel ADC, as we realized that this was a cheaper option and did exactly what an Arduino Uno would do. This helps us use our budget for other purposes and be economically wise.
As highlighted in our individual Status Reports, for this week, we have identified some technical challenges which we would haveto overcome. For instance, Juan and Mukundh are learning how to use AutoDesk and Eagle, Edison and Mukundh are learning how to use an RPI as this is their first time using it, and also how to connect the RPito a web app and to the Physical Board.
Below is our updated gantt chart which takes into consideration the delays we’ve experienced with the delivery of our sensors. Due to these set backs, we’ve had to readjust the dates for sensor testing, as well as PCB fabrication – since our PCB will be based on the results of our testing.
Mukundh Balajee’s Status Report for 03/11
For this week, I was mainly focused on assessing the different sections of our design report, to ensure we tackle every portion of our project with careful consideration. Apart from that, we were able to finalize our pieces and have them 3D printed for our first prototype. Our sensors are still stuck with the vendor, which has pushed our sensor testing off by one more week. We have been in touch with Quinn and our TA about this.
Currently, we followed a similar strategy to last week and moved our schedule around to account for the delay of the sensors. We got a head start on our web app, scripts that will run on the RPi, and also communication between the RPi and lichess.org. This has helped us stay somewhat on track with our schedule and get some future work out of the way.
Next week, we hope to receive our sensors, test them and send the PCB for fabrication. We also plan to finalize our board and the components we will be attaching to it. Apart from this, we plan to work on integrating the sensors and the RPi to ensure we have proper data collection.
After this week’s design report, we were able to come up with different subsystems required for our system, and we realized that we have some extra learning to do for PCB Fabrication, using an RPi and uploading scripts to it, communicating between RPi and web app and RPi and physical board. We plan on reading through datasheets for different components in our circuitry and on our board, to help us get an efficient circuitry and have correct connections and functionality.
Juan Mejia’s Status Report for 2/25/23
This week was mostly focused on the fabrication of the physical board tiles and pieces. I started designing the pieces from scratch, however Mukundh found existing 3D models and took over the work on Rhino. I designed a test board that has a 2×2 tile design to represent the black and white tiles( see attached picture). There was delay in the arrival of the hall effect sensors because we had to order new ones, so the unit testing that I wanted to do this week, didn’t get done. I have begun setting up the circuit for the PCB, need to call AutoDesk to ask for the correct library for the hall effect sensor.
This coming week I hope to finish 3D printing all the pieces for the board that we need for testing and finalizing the dimensions and design for the tiles and chess pieces. Once the hall effect sensors arrive, I plan on working with Mukundh to do the unit testing and finish designing the row PCB, in order to send it for fabrication. I also hope to get the micro SD for the Raspberry Pi, in order to set up the OS and connect it to our WebApp.
Team Report for 2/25
We currently do not have the parts for our circuit, so this has set us back and affected our timeline. We are currently looking at different circuit options to help finalize our circuit. We hope to be able to have our circuit done and ready for fabrication by the end of this week (the beginning of Spring Break) in order to fix any possible mistakes on the PCB as soon as we return from Spring Break.
We have updated our team work assignments to take into account the delay of our hall effect sensors and PCB fabrication. We also had a few miscommunications that lead to the board design and pieces not being printed on time. In order to account for our schedule changes we have moved things around in our gantt chart and prioritized specific tasks. The top priority for this coming week is PCB fabrication, the reasoning behind this was to match delivery time with Spring Break and begin testing as soon as we return. This coming week we have divided up the work as follows:
Edison: Finalize move legality script and its respective testing script, finish web application board and lichess.org live game communication.
Mukundh: Unit testing for the hall effect sensors, adding braille notation to 3D designs, begin and finalize autodesk design for PCB
Juan: Finish the 3D printing of two board and piece design in order to test for the best configuration. PCB design. Also work on piece vocalization using Raspberry Pi/Arduino
We had no major design changes this week. We had to order new hall effect sensors in order to test on a breadboard, prior to fabricating our PCB. This lead to an increase cost of $16 for the unit testing. The vocalization change cost has not been determined as we might be able to get a free speaker for the Arduino in a kit that Juan has.
We updated our schedule to account for certain issues that came up. We ordered the wrong part, so we had to push our circuit testing by a week, and move certain tasks earlier to account for the delay. The updated schedule has been attached here.
Mukundh Balajee Status Report for 2/25
For this week, I was able to design our board on Rhino, and 3D print a test piece to make sure our pieces and board were as expected. I was able to access the Stockfish API and use it to generate and play a game.
This week, we had to reorder our Hall Effect Sensors as we initially ordered the wrong parts. This has set us back a little bit, so we were able to catch up on other tasks and get ahead on them to make up for this loss of time.
By next week, we hope to test our circuit and start/send our board for PCB Fabrication. We also hope to have our chess board modeled with Braille notations and spaces for external elements. We also plan on setting up our RPi and uploading our scripts to make sure we can proceed with further development of the accessible features.