Team Status Report for 2/22

  • 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?
    • The most significant risk that could jeopardize the success of the project is the communication between the RPi 5, pico, and LCD not working properly. If this communication doesn’t work, then we need to rethink the entire embedded communication portion of the project. To manage this risk, we have tested basic UART communication between the RPi and pico, and SPI communication between the pico and the LCD, and found both to be working separately. We plan to test the full path of communication before moving forward with building more blocks. If we run into issues with our single block prototype, our contingency plan is to swap out elements based on what is not working. We do not expect the RPi5 and pico communication to fail since these are widely-used components that many people have successfully used in other projects . Most likely, if the LCDs are the problem, we will pivot to the familiar RGB backlight I2C LCDs from 18-100.
    • Additionally, there are physical design risks such as the acrylic blocks being too thick for the pogo pins to stick out of (thus preventing a good connection to the grid’s pogo pins), the fact that the USB-C ports on the batteries require us to drill right on the seam of the battery holder in order to make an accessible charging port, and the fact that the LCDs have female header pins for the picos that force us to solder wires onto very small contact points on the LCD manufacturer’s board, which could be less secure and take longer to fabricate. To mitigate these risks, we will fabricate 1 block to see if these physical design specs will work out. Afterwards, we will adjust our components and construction plan accordingly if certain approaches or components do not work out.
  • 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.
    • No changes were made to the existing design of the system since last week, when we fleshed out the details for our design presentation. However, we have updated our schedule to take into account shipping/ordering delays in retrieving our parts. As part of our risk mitigation plan, we are ordering parts in batches to make sure we don’t spend all our budget on parts that won’t work for our project. However, this strategy increases the waiting time between stages of our project as we have to wait for parts to arrive every time we order. This updated schedule can be seen in our Gantt chart.
  • This is also the place to put some photos of your progress or to brag about a component you got working
    • We setup, implemented, tested, and verified that UART works between RPi5 and RPi pico using Micropython and pogo pins.
    • We were able to get SPI LCD displays working with the pico.
      •  
    • We finished implementing most of web app frontend + backend (game controller just needs to call backend API functions to control game flow display on web app) — still need to use Merriam-Webster API instead of free Dictionary API.
    • We tested and verified that I2C works between RPi5 and row LCDs.

 

Nicole’s Status Report for 2/15

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

  • This week I made progress on the web app. I set up the Flask backend, began the registration process for Merriam-Webster Dictionary API, cleaned up the NYT Connections Dataset that we will be using, and implemented the custom word upload, hint retrieval, and definition display functions of the web app. For now I used the Free Dictionary API, but will change this to Merriam-Webster API once registration is complete. I also made a Github repo for the web app.
    • Video demo of web app progress so far: link
  • Additionally, I made a detailed FSM for the display (web app frontend that interacts with backend and game logic) and a flow diagram for the game flow logic.
FSM for display logic
Flow diagram for game flow logic
  • I prototyped a paper cube to get a feel of what size we should make the blocks, and consequentially discovered that 3″x3″x3″ is ideal, and 4″x4″x4″ is the max size holdable in a single hand.
Paper cube prototype, 3″x3″x3″
  • I also worked on the Design Presentation slides.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

  • My progress is mostly on-schedule. I still have to complete work on the frontend, mostly the portion of the web app that has to do with communicating with the embedded controller signals.

What deliverables do you hope to complete in the next week?

  • Next week, I hope to have the Merriam-Webster dictionary API up and running, implement the “existing puzzle retrieval” method for the web app, implement the remaining frontend pages, and hopefully try to host the web app on the RPi if possible.

Nicole’s Status Report for 2/8

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

  • This week I made a Figma board for our web app that shows all the different pages and the different flows that the user may go through.

  • I finalized the resources and APIs we will need for the web app after doing some research about different databases and web app backends. Ultimately after taking a look at the functions and load of the web app, I decided on Merriam Webster Dictionary API, Flask for backend, React for frontend, and CSV file or SQLite for database.
  • I also started coding up the frontend for our web app in React and Typescript, creating the reusable components that we will be using for the different pages and finishing most of the pages’ front end.

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

  • My progress is on schedule.

What deliverables do you hope to complete in the next week?

  • Next week, I hope to have a cleaned NYT Connections Dataset for our MVP in the form of a CSV file.
  • I also want to make more progress on the web app frontend as well as setting up the Flask backend.
  • I also hope to have the basic game logic planned out (pseudocode + flowchart).