Team Status Report for 4/19

 

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?

Pogo pin defects

  • Some of the male pogo pins have slight manufacturing defects of or from soldering wires to the back of it. Some of the pins on the pogo pins are uneven and different height, hence even if the block is level with the grid, the pogo pins will not be well connected between the female pogo pins (on the block) and the male pogo pins (on the grid). This could be the reason why some of the blocks did not ACK back to the RPi during transmission of commands.
  • In terms of contingency plan, we have resoldered and swapped out the ones that are uneven on the grid with working ones. We also made sure to test every block with every position on the grid to make sure all possible combinations are working for pogo pins connections.

Sturdiness of the grid

  • The grid broke along the joints between two pieces during our testing process. We plan to reinforce it with wood glue again and potentially glue another piece of wood at the connection point between the two pieces of wood to ensure that the connection is secure.
  • Circuitry was also a possible point of failure. Since we have to use jumper wires to connect the LCD, buttons and male pogo pins to the RPi, the connectivity might not be the best and we encountered instances of the wires coming loose from the connection, causing malfunctioning hardware components. We have decided to solder the connection between two wires and tape them with electrical tape to reinforce it.

 

Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward? Provide an updated schedule if changes have occurred.

The height of the grid was adjusted and there is more space for the Rpi and circuitry now. This is because the circuitry turned out to be more wire heavy than expected which doesn’t fit entirely under the lid of the grid. This is more of an aesthetic change so no major schedule changes is expected. We still plan to collect all the user testing data this week and have the lid ready by the final demo.

We also changed from a Flask app to a FastAPI app for the backend of the web app. This is because after constructing the final grid and seeing that there were still alignment issues with the pogo pins that caused issues with communications not being received, we decided we wanted to notify the user of specific problematic grid indices so that they can manually adjust the alignment of specific blocks. In order to expose this info to the user, the backend needs to initiate one-way communication with the frontend, which requires the use of something like web sockets. However, the asynchronous web socket frameworks available to Flask are incompatible with the RPi’s GPIO library due to monkey patching, so we changed the backend app to a FastAPI app instead, which supports python’s native asyncio web socket package through uvicorn, which is compatible RPi.GPIO. The cost of this change was time and effort in terms of code translating/rewriting, but we were able to get it done this week so there is no change in schedule resulting form this design implementation change.

This is also the place to put some photos of your progress or to brag about a component you got working

  • Completed the production of grid and 16 blocks, together with soldered perf boards which have been tested to be working, combined with the new webapp. We also attached the pogo pins onto each 3d printed holder on the grid and glued them on. We also wired the buttons, LCD and pogo pins to the perf board and tested their functionalities individually. We have the ability to play the whole game without issues now! More photos can be found here.
  • Webapp has the added 1 away feature which tells users if their guess is one away from the correct guess.
  • Completed latency testing and webapp statistical analysis for hint retrieval on the entire dataset.
  • In the process of doing user study on ELLs and novice players this weekend.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *