Anna’s Status Report for 4/19/25

This week, I mounted the LEDs onto the enclosure and I focused on integrating the motors yet again. Our breadboard had been damaged due to drawing too much current while powering 6 motors, so following a TA’s recommendation, I began soldering 3 of the 6 motor drivers onto protoboards. I started with 1 reference protoboard, tested it to ensure it worked, and then continued with the rest. Ashira and I collaborated to test each motor driver as she helped solder the remaining 3. We carefully measured each driver’s Vref and confirmed that the motors rotated as expected with the code before soldering the voltage regulator. However, once we soldered a protoboard with 2 motor drivers and connected the necessary grounds and voltage lines onto rails on the voltage regulator, the motors stopped working and our RPi would no longer power on.

Unfortunately, these setbacks have caused my progress to fall behind. I’ve requested a replacement RPi so we can restart our work, but in the meantime, we’ll be borrowing one from Professor Benson, so we can continue testing and hopefully get at least a couple of motors running. At this point, we’re scaling back from attempting to run all 6 motors simultaneously, since every attempt to do so seems to result in some form of failure—either to our components or to our power delivery setup.

Next week, my goals are to complete the final presentation and get our hardware environment stable again. It’s been frustrating to hit so many hardware roadblocks, but I’m hoping we can make meaningful progress before the final demo.

As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge? 

One of the most valuable learning tools for me was video tutorials and community discussion forums, especially the Raspberry Pi Forum. These resources sometimes provided the insight I needed or helped me move our project one step closer to working. In addition, documentation for various components (such as the A4988 motor driver) became a critical resource once I knew how to interpret it properly.

The most important learning strategy I used was refining my research skills. Being able to narrow down what I was looking for—whether it was understanding a motor driver’s pinout or resolving an issue with GPIO behavior—made my problem-solving much more efficient. I also mainly learned by doing: experimenting with the hardware, testing individual components, and learning from trial and error helped solidify the new concepts.

Ashira’s Status Report for 4/12/25

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 mainly focused on getting the speaker and motors to work. I started working on debugging the speaker system, picking up on where David and Anna had left off earlier and checked all the connections between wires, as well as the code and packages which were in the environment. With Anna’s help, we were able to clean up some of the connections between the RPi and speaker bonnet, which in the end is what seemed to help up us get the speakers working. I then moved onto developing the code to get the speaker to play sounds on command, since that is what our system will need to do. Eventually, all we needed to end up doing is downloading pygame and using their libraries to play .mp3 sounds. However, we ran into a bug with the RPi config file, which prevented the RPi from producing sound when the pygame code was run. We eventually realized that our config file was missing a line of code which was what was responsible for actually enabling audio output on the RPi. We still need to integrate this with the rest of our code, but we decided that getting all the motors to work would be the priority at this point.  Once we got this working, I spent the remaining time working on helping David debug the motors. I worked with Anna to rewire the motors on the breadboards to see ach connection more clearly, but after connecting the motors, and running our code which we had previously been able to use to spin two motors, none of them ended up working anymore. I’m wondering if it might be a result of fault connections or motors drivers entirely, since we’ve been having lots of issues with these motors drivers specifically. We have yet to finish debugging, but once this functionality is working, all we’ll need to do is integrate and we should be good to go in terms of our MVP functionality.

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 with our original Gantt chart we made.

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

This upcoming week, my focus will be on getting all 6 of the motors to work during the first half of the week and then hopefully integration during the second half.

David’s status report 4/13/25

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 was still focused on integrating all 6 motors. I spent a lot of time reorganizing the wires, since our setup during the progress demonstration day was an absolute mess. This involved moving 3 of the motors to a third breadboard and shortening the wires so that they don’t get tangled up. We ended up having 3 breadboards where each contained 2 motor drivers. Then I tried to isolate the motor drivers one by one and debug them. This means using the same working combination of RPi GPIO pin and motor on each of the motor drivers to see which ones were faulty. We had to replace a few bad motor drivers but ultimately still haven’t achieved full integration of the 6 motors.

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

I would say my progress is behind schedule since the motors are the most important part of our team project MVP and I still haven’t been able to fully integrate them with the rest of the system due to issues above.

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

As a team, we ran into setbacks with bad breadboards (such as rails that may have been burnt out) and really faulty motor drivers, so I plan to work together with Ashira in debugging the motor drivers one by one and finishing the integration of the motors.

 

Anna’s Status Report for 4/12/25

This week, I focused on setting up and testing the passive infrared sensor. I explored multiple approaches to verify its accuracy, but unfortunately, I haven’t fully resolved the issue yet. Initially, I connected the sensor directly to the GPIO pins and printed “detection” based on the PIR’s state. However, this approach produced frequent false positives. In response, I researched alternative methods—experimenting with both the gpiozero and RPi.GPIO libraries, changing conditionals, sensitivity and timeout parameters, and even incorporating a LED diode that lights up upon detection. Despite these efforts, the false positives persisted regardless of how much I changed it. I suspect the issue may be related to the sensor’s sensitivity and timing, which I plan to debug further.

Outside of the PIR, I successfully helped Ashira get the speakers to produce sound by adjusting the wiring—this involved some frustrating debugging, but we eventually resolved it. I also assisted David with the motors by suggesting that lowering the Vref on the motor drivers could help achieve the expected rotation, which thankfully worked. Additionally, I reorganized the motor circuitry, consolidating it from 3 breadboards to 1 with Ashira.

Although I’m currently a bit behind schedule due to the PIR sensor not being integrated yet, I plan to go into the lab tomorrow to continue debugging. Hopefully, by next week, motion detection will be more reliable and we can move forward with integration.

Ashira’s Status Report for 3/29/25

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 mainly focused on finalizing some parts of the enclosure; namely, finishing the manufacturing/assembly of the front panel window, as well as getting the springs we’ll be using to dispense the snacks from the machine to attach to the springs. This mainly consisted of me working in CAD again to design these mounts, laser cut everything, and attach them to the springs and motors. Right now, rotational movement from the motors is not being translated well to the springs. There’s some jitter that occurs when the springs begin to turn, which I’m assuming is a result of not having the mounts coupled tightly enough to the motor shaft, something I plan on fixing later on. I also assisted in attempting to debug the speakers with David and Anna, since the initial tutorial we referenced to set the speaker up ended up not working for us. I tried to look at other websites and blogs for possible fixes, but unfortunately none of them ended up helping us get the components working. 

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 with our original Gantt chart we made.

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

This upcoming week, my focus will probably be on integrating all the parts into the gui again, and possibly further finalizing code. I’ll also put some more effort into trying to debug the speakers again and potentially also help bring up the new PIR sensor we plan on replacing our ultrasonic sensor with. 

David’s status report for 3/29/25

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).

Personally, I didn’t accomplish anything really significant, since I spent my entire week debugging components without much success. For the first half of the week, I spent time working with Anna on debugging the speaker and trying to get sound output. I tried soldering wires to the speaker module and connecting them to the raspberry pi. I also installed the libraries and tried making changes to the config files but that didn’t work either. Another thing that I worked on in the second half of the week is trying to get all 6 motors set up along with their motor drivers. The circuit board is set up but the motors need to be debugged. Anna and Ashira had fixed the motor code and schematic for 2 motors, but since we added 4 more motors, I haven’t figured out the issue with unstable and unpredictable movements. 

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

I’d say my progress is still on schedule but I really need to try and figure out the speaker issue and the 6 motor integration issues this week. 

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

For this next week, I will try to get all 6 motors moving the way they should when the program is running. Ashira had some suggestions about the currents going through the motors and those adjustments, so that is like food for thought for me. Hopefully, making those measurements will give me some better idea about what is going wrong at the moment. 

 

Team Status Report for 3/22/25

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 at this point would probably be in bringing up the rest of the peripherals and integrating it with the rest of the system. It took us some time to debug the motors and LED strip, as well as integrate that code with the UI, so we anticipate having similar challenges with the speaker and proximity sensor. However, since the GUI and enclosure design of our project is pretty much finished, we will have much more of a combined focus on getting the peripherals to work this week than we did in previous weeks in an attempt to offload the possibility of having to debug in later weeks. We will also need to time ourselves to make sure that we have enough time to test our system as well.

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? 

No notable changes were made in the design of the system.

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.

Ashira’s Status Report for 3/22/25

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 focused largely on getting the peripheral components to work + integration between parts. More specifically, I worked on helping David debug the motor driver circuit + code so that we could control the motors with the RPi. This consisted of looking through tutorials, as well as other existing projects which had also incorporated the same components we were using to try and see what the problem in our circuit could be. I also spent lots of time measuring voltages and currents across the circuit to make sure they were what we expected them to be.  In the end, the problem seemed to end up being incorrect motor driver step settings and also not having the GPIO output step pins oscillate between high and low at a high enough frequency. I was  able to extend this control to 2 motors, but since we ended up burning out some of our motor drivers in the debugging process, we’ll have to wait until our new motor drivers come in before attempting to integrate all 6 motors together. I also helped out Anna with integration between the LED and GUI – more specifically, figuring out how to configure the python environment we made for our LED strip functionality to work with the GUI libraries we were using. Since neither of us had super extensive experience in using python environments, we relied on forums to help us debug. In the end, we were able to begin integrating our existing motor and LED control code with our UI. 

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 with our original Gantt chart we made.

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

This upcoming week, my focus will probably be on helping to get the rest of the peripherals (sensors + speakers) up and running. I will also try to clean up some of the motor control code + extend the functionality to 6 motors so that when the new motor drivers come in, integrating those will be a lot easier.  I also need to laser cut the clear window on our front panel and get that attached, although I don’t anticipate it taking a long time. I was also planning on laser cutting some motor attachments to make it easier to connect the springs to the actual motor. 

David’s status report for 3/22/25

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).

On Monday, I worked with my team on trying to debug the motor issue that remained from last week. While I personally wasn’t able to figure out what was wrong with the schematic and code, my teammates were able to, which was awesome. They were able to get the motors to spin in a more clean motion as well.  Additionally, I’ve been spending time this week getting the schematic for the speaker to set up, installing needed scripts, and trying to run them to produce sound. Currently, no sound comes out of the speaker which leads me to believe that the wiring is wrong since there is also no indication of the speaker module turning on. I’m trying to fix that part. 

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

I believe my schedule is in progress, but that’s mainly because of the amount of help I am getting from my teammates, who are the best.

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

I hope to figure out the issue with the speakers and get those to output sound depending on what is happening in the system. Also, I think our team is trying to get the motors attached to the vending machine structure so I hope to assist with that. 

 

Ashira’s Status Report for 3/15/25

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 mainly focused on manufacturing and assembly of the vending machine enclosure, as well as finishing up the ethics assignment. Because our schedule for manufacturing was pushed back by a week into our initially planned assembly time, we had to redistribute some of our efforts to make sure that both jobs were finished by the end of the week, which we did successfully. With the help of David and Anna, we were able to laser cut all the pieces of the enclosure and assemble almost everything as well (shown below), with the exception of the dispenser springs and front panel, which we’ll install later on, when development for all the peripherals are finished and components can be mounted. I also spent some time helping David with debugging his schematic and code to troubleshoot the motor control. Other than that, I also spent some time this week working on the ethics assignment that was due on Wednesday.

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 was behind coming into the week due to delays in manufacturing, but I was able to catch up and finish almost all the manufacturing an assembly this week.

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

Since the mechanical end of the project is basically complete, this next week, my main focus will be in helping out with peripheral control, namely, getting the motors to work as needed, as well as bringing up speaker, LED, and sensor functionality. It might also be valuable to make an attempt at integration with the GUI as well, but the priority will mainly be implementing the basic functionality first.