Fei’s Status Report for Mar 29

I worked on creating the CAD file using onshape and the physical build of the vending machine. We successfully built the vending machine by laser cutting the wood board and creating the first prototype of our final product. Additionally, I enhanced the playability of the challenge mode by introducing velocity changes to the bird after some time has passed. I am currently on schedule with the project plan. For next week, besides the interim demo, I plan to work on our website deployment and focus on debugging to ensure it matches our MVP. And if possible, continue refining the vending machine prototype by adding some decorative elements.

Fei’s Status Report for Mar 22

This week, I completed the code for our challenge mode, including bird movement, gravity, generating the pipes and gaps, collision detection, and score tracking. I also ensured that everything worked smoothly when uploading to the rpi without displaying errors. In addition, I spent time refining the mechanics to make the gameplay feel smooth and responsive. After meeting with the TA to test play the game, I received helpful feedback on how to better engage users and made several adjustments, such as improving font readability and refining various UI elements. I am currently on schedule with the project plan. In the next week, I plan to physically build the vending machine by laser cutting the wood board and creating the first prototype of our final product before Wednesday. If time allows, I will also begin working on our website deployment.

Min Ji’s Status Report for March 22

This week, I mostly continued working from where I left last week.

3/17:

  • Improved candy dispensing screen flow on the touchscreen interface
  • Added functionality for the “go back” button in all screens
  • Adjusted the overall UI/UX to closely match the provided Figma design specifications.
  • Work time: approximately 2.5 hrs

3/20:

  • Troubleshoot audio narration problems
    • Note: due to unresolved technical issues, I temporarily disabled audio narration to ensure reliable touchscreen testing. I am planning to add that back once I figure out the issue. I am assuming it’s because I did not connect the touchscreen HDMI with the Rpi micro HDMI. I now have the cable, so I will try testing that out next week.
  • Work time: approximately 6.5 hrs

3/21:

  • Purchased wood boards from Techspark with Vicky and discussed initial designs for the physical construction of our trivia kiosk.
  • Had a meeting with David and received valuable advice about environment variables and setting permissions correctly for kiosk mode.
  • Work time: approximately 2 hrs

My progress for this week is mostly on schedule. While encountering audio narration issues set back my initial timeline slightly, I managed to remain productive by pivoting my focus toward essential touchscreen UI/UX tasks without the audio narration function and physical design preparations. To prevent future delays, I ordered the HDMI converter promptly, and next week’s tests should resolve the audio issue, allowing me to get back on track.

For the upcoming week (3/23–3/29), I plan to achieve the following:

  • Conduct thorough testing using the newly received micro HDMI-HDMI cable to resolve and verify audio narration functionality on our touchscreen interface.
  • Start on the physical building of the machine, now that each component of the vending machine has reached a decent level for the demo.
  • Write the initial code for the Rpi to send a 4-digit signal upon candy selection(we have four candy selection slots), enabling communication between software and physical components so that Vicky can continue from there for candy dispensing.
  • Deploy our project website, enabling integration into kiosk mode for better UI/UX design.

I have an exam on Wednesday, so I will be working mostly after the exam this upcoming week, but I will make sure that I achieve my plans.

Team Status Report for March 22

 

  1. 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? (written by Vicky)
    => As our project moves forward, here are some possible risks:

    1. The challenge mode game on touch screen is experiencing some latency in the touch response. This does not affect the gameplay significantly but improving the response time will make it more user friendly and help players gain points more easily. This will be done by modifying the current program.
    2. We have decided to use ¼ inch thick MDF board to build the machine body and ⅛ inch thick board for the inside compartments. The advantage of using thicker walls is the interconnection between perpendicular sides will be fixed together more securely as a bigger touching cross sectional area has higher friction. The disadvantage is this will make the final product slightly heavier. This is a light trade-off.
    3. For the refill of items, our current solution is to fix the servo motors to the spirals (in which the items are filled), and fix the arduino board at the bottom of the machine. With a long connection line made secure, the user can take out the spirals like a tray and refill there.
    4. Our current planned view of the gameplay was done by implementing kiosk mode on the rpi system. This seems to be difficult during system development when we need to access code files when running the web page. We plan to switch to chrome browser kiosk only so it’s both easier to exit kiosk mode and make other rpi file edits.

  2. 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? (written by Fei)
    => Yes, a change was made to the existing design plan. We initially planned to use wood purchased from Amazon to build the vending machine and use wood glue and nails to hold the structure . However, after the ethics lecture and the discussion around E5, we found their method was more stable. Thus, we decided to purchase the wood directly from TechSpark which fits our needs better with its larger dimension.This change does incur additional costs, as the Amazon purchase had already been made. However, these costs are justified by the reduced risk of structural failure which minimizes the chance of rework. Moving forward, we will pay more attention to make sure the construction method is a good choice early on to avoid last-minute adjustments and additional expenses.

  3. Provide an updated schedule if changes have occurred. This is also the place to put some photos of your progress or to brag about a component you got working. (written by Min Ji)

=> This week, our group successfully purchased wood from Techspark to construct our trivia kiosk and discussed detailed plans for assembly. Min Ji improved the touchscreen UI/UX, aligning it closely with our Figma design, and temporarily disabled audio narration for reliable testing. Vicky completed Arduino code tests for candy dispensing functionality, confirming the reliability of our motorized dispensing mechanism. Fei resolved some minor bugs within the challenge mode gameplay, ensuring smoother user interaction and reliability for the upcoming demonstration.

For the upcoming week(3/23-3/29),  we will prioritize the following tasks, with smaller numbers indicating higher priority:

  1. Physical Assembly of Kiosk Structure(All)
    Vicky will create laser-cut CAD files based on our recent design discussion and will assemble the machine. The aim is to finish assembly ideally before Wednesday. Min Ji and Fei will focus on helping assemble the structure by Wednesday(3/26).
  2. Motor and Dispensing Hardware Integration.
    Vicky will create spiral helixes using wires and attach them securely to the motors. Long wires will initially be used to allow easy refilling of candy.
  3. Integration of Raspberry Pi & Arduino (Min Ji + Vicky)
    Min Ji will test and finalize the Rpi functionality to send a 4-digit GPIO signal upon candy selection, confirming that signals are reliably received. Vicky will then adapt the existing Arduino dispensing code to trigger the candy motors based on Raspberry Pi signals.
  4. Kiosk Mode and Audio Narration Testing (Min Ji + Vicky)
    Min Ji will use the micro HDMI-HDMI converter to resolve the audio narration issue and thoroughly test kiosk mode interactions. Vicky and Min Ji will collaborate to confirm environment settings and permissions are optimized for the kiosk deployment.
  5. Website Deployment (Optional, Lower Priority)
    We will maintain our current UI as is for the interim demo, but we plan to deploy our existing website for testing the kiosk mode if sufficient time remains. This task is a lower priority, considering our current UI is functional and presentable for the demo.

Notes:

  • Tasks 1 and 2 are critical and must be finished early in the week (by Wednesday 3/26) to allow ample time for debugging and refinement in the latter half of the week.
  • Integration tasks(Task 3) and focusing on debugging any bugs seen in the gameplay follow immediately afterward. Our main goal for the interim demo is to have a clearly working gameplay.
  • Kiosk mode(Task 4) and website deployment(Task 5) are also critical but slightly lower priority than full assembly and hardware integration, so we scheduled it to be after initial assembly completion.

Fei’s Status Report for Mar 15

Over the past week, I focused on developing a working version of Challenge Mode. This involved implementing the gameplay and scoring system, designing four gaps between pillars where players input answers, and adding game loss logic for incorrect answers or collisions with pillars. While the core functionality is working, I am slightly behind schedule. To catch up, I plan to dedicate the entire day tomorrow to finalizing the implementation. Next week, I aim to complete the upload to the Raspberry Pi and begin the physical assembly of the box.

Min Ji’s Status Report for March 15

This week, I dedicated a significant amount of time implementing the key aspects of our SweeTrivia project:

1. software development(pygame & web interface)

2. touchscreen testing

3. troubleshooting hardware-related issues(speaker & timer malfunction).

3/10/25:

  • Developed the Pygame-based home screen and tried integrating it with the basic gameplay loop. I only coded for the home screen for now for basic testing.
  • work time: approximately 4 hrs

3/11/25:

  • Tried connecting the local code to the rpi and tested with the new touchscreen.
  • Found out that the ratio was different on my local laptop vs touchscreen, so recode to adjust
  • work time: approximately 3.5 hrs

3/13/25:

  • Completed the implementation of the web-based standard mode, completing 7-8 screens, without having minor UI/UX adjusted based on the Figma.
  • Had a meeting with the professor and learned more about how to use the LovableAI for web-based programming
  • work time: 3 hrs

3/14/25:

  • Had trouble linking the lovable git to our public SweeTrivia git, and fixed the git link issue that was preventing the version control version.
  • Tested the new software version on the touchscreen including screen transitions for most of the game flow.
  • Had a meeting with Alex and asked for technical advice and the budget question
  • Emailed the professor to get feedback on the potential fixes that will be mentioned later in the problems.Video link: Touchscreen & Web Testing for 3/15/25

    Currently, my progress is on track, but I have several tasks to fix the issue. I have to debug and resolve the infinite narration loop issue that stops everything. This includes the timer malfunction and the touchscreen not responding, but I figured out that this is due to the infinite narration. Our current game is that the timer starts once the question narration is done, but because the narration sign is blinking infinitely, everything stops. I need to check again with that and maybe ask for help from the instructors.

In the upcoming week(3/16 – 3/22),  I am planning to do the following:

1. Enhance UI/UX and do some research on Kiosk Mode to improve the touchscreen interaction flow based on testing and feedback(by 3/16)

2. Speaker & Timer Debug(by 3/21)

– figure out the root cause of the infinite narration loop.

3. Order missing parts(MDF board, plastic sheet)(by 3/15)

4. Start building the physical vending machine and finish by the end of the upcoming week(by 3/25)

– Bend wires + glue them to the motors

– 3d Design how to mount the touchscreen to the MDF

Team Status Report for March 15

  1. 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? (written by Vicky)
    a. A narration stuck issue when running standard mode game on web, the issue is only present on the rpi touchscreen and not on local server run so it is tricky to debug. One way to manage this is to build a test program with an audio output and see what is wrong with the speech module on web run.
    b. For the physical build, the MDF board available for purchase has a smaller size than we need, so we need to find a way to securely connect the boards together into a bigger panel that supports the board’s weight. We plan to use either glue or metal connectors for the flat connections and furniture connector for corner connections.
    c. The integration of challenge mode and standard mode, as currently the standard mode is being run on web and challenge mode is written in python. We plan to convert the python code and integrate both games in web-run format.
    d. For the webpage to accept user question-answer upload and rpi local download, we need to integrate a cloud database and add a ‘synchronize’ control on the game interface, working with cloud databases is new and might take some time to build this part of our system.
  2. 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? (written by Fei)
    In the implementation of the game, we switched from Pygame to Loveable AI. This change was recommended because Pygame’s complexity exceeded the requirements of our game. The transition simplifies development while preserving functionality. However, it introduced new challenges, such as display errors on our touchscreen. These costs will be mitigated by priority in debugging the display error for next week.
  3. Provide an updated schedule if changes have occurred. This is also the place to put some photos of your progress or to brag about a component you got working. (written by Min Ji)
    There are no big changes in the schedule. We need to order more MDF boards and a plastic sheet to be ready to build the machine. Our group is planning to have the games work by 3/21 and the physical building to be done by 3/25.

Video link: Touchscreen & Web Testing for 3/15/25


Attached above are the video of testing the web and the touchscreen using the rpi and a screenshot of the challenge mode code.

Fei’s Status Report for Mar 8

This past week, I focused on implementing the planned Flappy Bird logic for sweeTrivia’s Challenge Mode. My primary efforts were directed toward refining the game mechanics, ensuring smooth obstacle generation, collision detection, and responsive player controls. While I made significant progress in developing the core logic, I was unable to fully integrate it into the Raspberry Pi due to my travel plans, causing a slight delay in my schedule. To catch up, I will allocate additional hours this coming week to finalize the Challenge Mode implementation and ensure integration onto the Raspberry Pi. I plan to prioritize debugging and performance optimization to prevent latency issues and unexpected game behavior. For the upcoming week, my primary deliverable will be to fully implement Challenge Mode and deploy it onto the Raspberry Pi, ensuring that it functions as expected. I will also begin initial user testing to validate game responsiveness and mechanics. By the end of the week, I aim to have a working version of Challenge Mode that is stable and ready for integration into the final system.

Min Ji’s Status Report for March 8

This week, I finished developing the AI audio narration of the trivia game wherein both the question and all four answers are read aloud, moving from espeak-ng to pyttsx3. To achieve this, I converted the Google Spreadsheet database to a formatted JSON type so that the system can dynamically retrieve and narrate questions. The local testing is completed, and I am waiting for the new touchscreen to arrive so that I can test it with the built-in speaker(estimated delivery date: 3/10). I also finished polishing the Figma design, refining the UI/UX aspects to match the project vision.

My progress is so far on schedule. Finishing up the audio narration feature is a major part of the development, and I am prepared now to test it with the touchscreen’s built-in speaker when it is delivered. In the upcoming week, while I wait for the touchscreen, I plan to continue working on building the website. I will also start the physical building aspect of the project to get a head start. This includes cutting and assembling MDF boards, gluing the transparent plastic board, bending wires, and assembling them with the motors. Once Vicky completes her portion—the Raspberry Pi standard mode code for touchscreen controls and motor controls—I will create the UI/UX of the touchscreen interface. I aim to finish audio narration testing and the physical assembly by 3/14, then transition into polishing the UI/UX and debugging the website up until 3/21. If there are any unexpected delays, I will perform tasks that can be executed in parallel.

Vicky’s Status Report for March 8

This week I continued working to configure the rpi 4, setup the rpi headless connection and put in the default trivia question database and the python control code for the standard mode game. During touchscreen’s late arrival delay, I will continute to work on the arduino control for the servo motors and the website build. Our progress is slightly behind due to order delays and mismatches. We will shift our task orders and work on more meetings outside of lab sessions. For the next meeting, I hope to show the rpi standard mode interface as well as the arduino control test program for a generated dispense signal.