This week, I focused primarily on finishing up the MVP requirements for the Flappy Bird gameplay and helping a bit with motor control integration. While the basic game flow is now functional, I also started exploring post-MVP features like adding sound effects and moving gaps after hitting a score threshold. I am slightly behind schedule, as I was hoping to finish everything this week, but with other coursework wrapping up, I should be able to catch up soon. Looking ahead to next week, I plan to continue developing the post-MVP features, work on the final poster, and support the team with demo preparation and final polishing to ensure everything is ready for our final presentation.
Min Ji’s Status Report for April 26
This week I worked on:
- Finalizing final presentation slides and presented in front of the class.
- Assembly work on a machine with Vicky:
- Recoil the 4 slots to right gap and length + test 20+ times
- Glue motors back on to lower position than before
- Reconnect wire connections
- Glue backpanel with the side panels
- Laser cut 8 coil holder walls
- Laser cut plexiglass
- Stick on LED strip
- Finished 1st draft and 2nd draft of final poster.
- Prepared for shooting final video, filmed the intro.
My progress is on schedule. I still need to finish debugging the QR-code before the final demo.
In the upcoming week, I plan to finish the poster, final video, and get ready for the final demo.
Team Status Report for April 26
- 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? (by Vicky)
Our project is at the final stage of integration. Currently the box is fully assembled (all panels glued except for the front panel for emergency debugging/refill) and the standard mode game logic and dispense is fully tested. The post-mvp features (shopping mechanism at candy selection, QR code) are still being added. The most significant risk now is that our code base does not have the updated challenge mode logic:
a. Each correct answer is now worth 10 points while it should be worth 15.
b. The questions in challenge mode now are not being pulled from the database but instead using same questions for each round.
c. When bird hit the ground the error message is ‘incorrect answer’ instead of ‘hit ground!’.
d. The score does not start from zero in an entire new round. (Started after a dispense round).
A teammate has been working on these features, if our code base is not updated in time, our contigency plan is that Vicky and Min Ji will write the code to fix these issues. - 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? (by Fei) We made some modification on the height of the candy slot back panel. It didn’t take us much time to reprint it, as we had learned how to use the more advanced laser cutter in TechSpark. However, the change wasn’t particularly helpful, as we later learned from our ME friend that the coil needs to touch the ground to better support the weight of the candy. Our original plan was to use a taller panel to place the motor higher, but because of this requirement, the idea didn’t work out well.
- 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. (by Min Ji)
No big schedule changes. Will plan to finish the following:
- final poster
- final video
- prep for the final demo
- List all unit tests and overall system test carried out for experimentation of the system.List any findings and design changes made from your analysis of test results and other data obtained from the experimentation.
– Design changes: we purchased a different coil (for 25 dollars ouch) that is harder and stiffer which should work in our favor, but the coil is ready-made and the size does not match the box’s internal dimensions. We then seeked help making some mechanical analysis and lowered the position of the coils so that the weight of the items are sitting on the shelf panels not the coils. This fixed the coils being bent out of shape during rotation and make the dispense smoother and more sustainable.
– Overall system test: made 3 dispense test (full dispense from full to empty) on all 4 candy slots to make sure every motor and coil are working properly.
– Tested the synchronization of audio and sound effects. works great, no overlapping/discontinue issue.
Vicky’s Status Report for April 26
This week I worked on:
1. Finalizing final presentation slides 2nd draft.
2. Aseembly work on machine with Min Ji:
– Recoil the 4 slots to right gap and length
– Glue motors back on to lower position than before
– Reconnect wire connections
– Laser cut plexi glass
– Stick on LED strip
3. Finished 1st draft and 2nd draft of final poster.
4. Prepared for shooting final video, wrote video script/cues.
My progress is on schedule. I still need to finish the shopping mechanism before we shoot the video.
No deliverables next week except for the final demo.
Fei’s Status Report for Apr 19
This week, I focused primarily on debugging and integration for our project, as well as the final presentation ppt. While the challenge mode are now can either start a new round or transition to the candy selection page, I encountered an issue on my end where the game is currently not running as expected. I’ve been investigating the root cause and testing different parts of the code to isolate the problem. I am slightly behind the schedule due to this setback. Looking ahead to next week, I plan to resolve the current runtime issue, complete the full integration of the gameplay flow, and support the team with final testing and polishing to ensure the system functions reliably in preparation for our final demonstration.
Vicky’s Status Report for April 19
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 worked on:
- Spray painting the 6 outer boards of the machine box and the “SweeTrivia” letters together with Min Ji. Laser cut the front, back, and left boards and the decoration letters.
- Due to some code changes with Min Ji’s rpi download implementation, the audio narration and dispense programs were taken out, so I added the backend narration control code and i2c communication code back in to fit the updated rest of the code base.
- Implemented the sound effects for correct and incorrect answer selection for user engagement. Added 2 types of background music for the round over screen and the candy selection screen.
- Worked on final presentation outline structure, hardware (page 5&6), testing (page 9&10), design tradeoff (page 11).
Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?
What deliverables do you hope to complete in the next week?
My progress is on schedule! I will work next week on:
- The new coil is crazy expensive and did not work. Will go back to hand-made coil and try shaping it to make it more stable.
- Finalize final presentation slides.
- Glue the motors and coils and attach all hardware in place on the machine.
- Shoot final video.
- Debug the QR code upload with team.
- Add shopping mechanism code.
- Work on final poster.
Team Status Report for April 19
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? (by Vicky)
- Sound effect and audio: we were having some conflicts before on getting the sound and audio to work together with the rpi download, Vicky fixed that by adding back the narrate and sound endpoint api-server.cjs.
- Rpi download: Min Ji added an customization question category and fixed the google cloud drive csv management and the rpi local download. Now the player can upload personal questions and directly check if they are included.
- Dispense program: Added back i2c communication code in the new api-server.cjs file, similar code as before in server.js only updated the host address. Arduino and motor wire connections are the same as before.
- Paint: We tried to enhance the look of the machine box by spray painting the MDF boards. The spray paint was hard to work with but we did multiple layers to achieve an even finish.
- Board reprint: We laser cut new boards for the front, left and back panel for a clean edge that will hold on more tightly for the finger joints.
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? (by Fei)
Yes, a change was made to the visual design of the system—specifically, the appearance of the letters on the front panel was modified to better align with the desired squid game theme aesthetic. This change doesn’t introduces any additional costs and the team are all very satisfied with the current style.
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. (by Min Ji)
No schedule changes.
Min Ji’s Status Report for April 19
This week, I focused on repainting the left, top, and front panels as well as the letters. After painting them, I assembled all structural components, including the inner panels. The coils are not here yet, so I wasn’t able to glue them, but other than the coils, the box assembly is done.
For the software tasks, I successfully deployed the website to production at www.sweetrivia.me. The Rpi question download bug was fixed(had an incorrect Google Drive ID), and the QR code functionality on the website to link to the upload interface was attempted. I also completed preparations for the final presentation slides.
I am on track overall. The major deliverables, including the structural assembly, paintwork, website deployment, and challenge mode integration, have been completed as planned. The only issue still being resolved is the QR-code-triggered cloud download functionality on the RPi. I am planning to continue debugging into next week to ensure a seamless sync between the frontend and backend.
For the upcoming week, I plan to
- Finalize the QR-code-based cloud download pipeline, ensuring that the RPi correctly pulls and processes the selected CSV from Google Drive
- Prepare and present our final presentation
- Polish UI/UX elements
Fei’s Status Report for Apr 12
This week, I worked on both the software and hardware aspects of our project. On the hardware side, although the structure is functional, the inner divider panel needed to be reprinted, as the original top panel was unstable and couldn’t close properly. I redesigned and reprinted the panel to resolve that issue. On the software side, I enhanced the challenge mode gameplay by introducing velocity changes to the bird after a certain amount of time to make it more engaging. I also completed several updates, including increasing the vertical gap between barriers, enlarging the score and lives-left displays, and updating the background to a new pink theme. In addition, I tried to implement the correct screen flow so that after each round, players are taken to a continue/exit screen—selecting “continue” starts another round with the score persisting, while “exit” leads to the candy selection page, which then returns to the home screen. I am currently on schedule with our project plan. For next week, I plan to focus on integrating the software with the vending machine hardware and collaborate with the team to add decorative elements to the vending machine.
Vicky’s Status Report for April 12
- 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).
Audio narration fix: (Min Ji was working on the audio narration prior to this week and because she became stuck on the task, I took over the audio narration.) Confirmed espeak-ng on Raspberry Pi is installed and configured. Created Backend API Endpoint in server.js, added route /narrate to receive narration text from the frontend. Also I created NarrationControl.tsx that calls speakWithEspeakNg() and controls narrate time and content. Inserted narration state variable inside TriviaCard.tsx to ensure the screen does not respond to user touch until the narration is complete. video
Ordered new coil, paint, and more compatible-shaped candy.
Rpi Download: work together with Min Ji on rpi-download testing. - 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, I plan to implement my tasks according to schedule posted in team report. - What deliverables do you hope to complete in the next week?
Sound effects: when correct answer, wrong answer, game over, candy selection page, and candy dispense complete.
Shopping mechanism: implement reduction logic eg. player has 40 points in total, can have multiple opportunities to select affordable candies such as 10+30 or 10+10+20
In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?
Dispense: meets accuracy and time requirement in use case.
Webpage ux design: meets intuitive ux flow for user to input questions.
Audio: meets design requirements and achieves desired features in timing, voice type, clearness.