Wen Hui’s Status Report for 3/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).

  • I worked on enabling the other UARTs on the RPi5 by changing the configuration files /boot/firmware/config.txt. I also refactored the code to be generalizable such that in the future when we expand to more rows, we would be able to easily specify which UART to use. 
  • I also soldered the remaining pogo pins and Pico needed for the blocks in order to have sufficient resources for one complete row of testing.
  • After Alexis built the circuitry for 4 sets of pogo pins (pos_0 to pos_3) simulating one row in the grid, I worked on testing each of the Pico + LCD circuits to make sure they are functioning well. Each of the pogo pins on the grid can be accessed by indexing through the multiplexer. I managed to get two Picos with all the required functionalities working (receiving word from RPi, receiving query for word, changing color of LCD). I also tested the loading of one word to a Pico from one position (eg. pos_0) and reading the word from the Pico from another position (eg. pos_3). This verifies that the code we have written for the Rpi and Pico are correct.
  • One of the pogo pins on the Rpi did not seem to be functioning so I soldered a new set and now the grid circuitry has been verified to be completely functioning.
  • During the process of testing, I discovered some potential points of failures:
    • Some of the wires for the UART communication were coming loose during the testing process, causing the UART communication between the Pico and RPi to be unstable.
    • Some of the Picos were only able to receive from the RPi but were unable to send ACKs back. I tried checking the connectivity of the wires by making sure the TX/RX were connected correctly to the right pins. The soldering and wiring also seemed well-connected. I suspect that there might be issues with how the female header pins have been soldered onto the Pico which I will test in more detail.
    • There is also latency in setting the LCD color and word, hence I refactored the code such that we only update the LCD when we receive a word or a color from the RPi instead of setting it every iteration of the while loop so as to reduce the UART read latency.
    • There is also latency in the UART communication. Some Picos are able to respond within 0.1s but some Picos require a longer delay time. As such, we might have to experiment with different delay timings in between UART retries to ensure it works for all blocks in the same manner.

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

  • As of today, my schedule is slightly behind because we are supposed to have built the 4 block prototype to completion by Sunday but we are having issues with getting all the Picos working. I would try to find 2 more Picos out of the remaining Picos we put together that are working so that we have one complete row of blocks for testing purposes.

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

  • In the next week, I hope to finish building the 4 blocks entirely by early next week. I hope to then more on to end-to-end testing by integrating with the webapp code which Nicole has ported over to the Rpi. I will have to integrate the embedded controller code into the webapp codebase.

Leave a Reply

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