Ashira’s Status Report for 4/26/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 worked with Anna to finalize our final presentation slides during the first half of the week. We also received our new RPi 4 this week, so we spent some time getting the RPi up and running with all the functionality we’d implemented before our other RPi had burnt up. Once we got that working, we  were eventually able to get all the motors working as intended with the protoboards that Anna and I had soldered last week. After verifying that all 6 worked with our GUI code, I was able to attach all the motors to the dispenser coils I’d made earlier and mount them all inside the vending machine. In the midst of burning out the RPi, we’d also found out that our speaker bonnet stopped working (most likely burnt out) last week, so we had to order new speaker components. Once this was delivered, I worked on soldering the connections onto the new bonnet and integrating speaker code with the GUI. At this point, we were able to get everything electrically integrated and mount all of our components into the machine. We had to do some integration tests to debug some of the main dispensing functionalities and make sure that the timing of all the components made sense, like getting rid of some obvious lags between when the snacks would get dispensed and the LEDs + speakers would do their thing. Once this was finalized, I worked debugging and integrating the proximity sensor to make sure that it’s functionality conformed to what we had outlined in our use case requirements. This mainly consisted of tweaking the sensor sensitivity + output hold time, as well as playing around with some logic relating to when the timer would pause and resume, since we needed to factor in the fact that the PIR sensor would generate a response only when it detected motion, rather than continuous presence (what we want). Once this was integrated, we were able to get some end-to-end tests recorded.

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 schedule after our road bump last week with the burnt out RPi, but it was made up for with everything that we were able to accomplish this week as a team.

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

This upcoming week, my focus will be on getting the final poster finished, as well as prepping for the final demo and reports due this week.

Team Status Report for 4/19/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 getting a new RPi environment up and running. Since we fried our old RPi, we ultimately are unable to proceed with any other changes until we can reboot. We’re all currently putting all our efforts in getting this new environment set up again in hopes of having something to show by our final demo next week.

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? 

We attempted to migrate our circuit to protoboards, but in the process of doing so, burnt out our RPi 4. As a result, we’ll be using an RPi 3 lent from Professor Benson to get our system back up and running.

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 4/19/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 rest of the motors to work. We consulted a TA to help us figure out why expanding the motor driver circuit to power all 6 motors kept giving us problems (burnt out components), and we deduced that it was probably due to the breadboard’s inability to handle the amount of current needed to power all 6 motors. We were advised to migrate the circuit to a set of protoboards to handle this issue, so throughout the second half of the week, Anna and I worked on soldering the motor drivers to their own protoboards. We were able to successfully test each of them one at a time on their own with the power supply/voltage regulator still coming from the breadboard and verify that they worked, but when we then moved the power supply onto its own protoboard and tried to spin the motors using the motor drivers again, they would jitter inconsistently and never respond to the motor control code. I’m thinking this might have been an issue with bad connections between the voltage regulator and protoboard, but when we measure the inputs and outputs between the regulator and drivers, their values were as expected. Just as we were debugging this, we also realized the RPi had turned off unexpectedly.  We weren’t sure if this was a coincidence or a result of the potentially faulty regulator/driver connections, since the only thing that was connected between the regulator and RPi circuits was a singular ground pin, but unfortunately we haven’t been able to get the to RPi turn on again. After consulting the internet, it seems like we fried our RPi, since only one red light was blinking, indicating that the Pi wasn’t reading from the SD card. We were able to put in another purchase order for a new RPi 4 and are currently also borrowing an RPi 3 from Professor Benson in hopes of getting something to work before our final demo next week.

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 in pretty behind due to the unexpected setbacks we experienced. We’re probably going to put all our efforts this week yet again to rebooting our new RPi and trying to get back to where we were last week and hopefully have some motors moving.

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

This upcoming week, my focus will be on getting the RPi to work with our original environment and get some motors to spin.

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?

Throughout this entire process, I was able to learn more about the RPi environment and how versatile it was in being able to support project like ours. I also found however, that integrating multiple peripherals was not as easy as it seemed. In the end, we were able to get each component working to some extent as needed for our project, but most of the issues would come in making them work altogether. Because of this, one of the skills I found myself developing the most was being able to identify a root cause. This not only took persistence, but also tested my understanding of how each component worked, since identifying a bug required me to identify discrepancies between an expected output and a real output. I was able to utilize forums and example tutorials which were posted online to help me with debugging, which in the end was what I think contributed the most to my learning. I also learned the importance of good time management, especially for a large project with a long timeline such as this one. Being able to accomplish what we had required lots of planning, communication across our team, and an ability to prioritize.

Team Status Report for 4/12/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 getting the motors to work, since the functionality of our entire system relies on our motors being able to work on command and actually vending snacks when needed. Currently, we’re having trouble getting all 6 motors to work in parallel; the max we’ve been able to control all together is 3 motors. We’re dealing with this road block by putting all our efforts this week in getting the motors to work. We’re thinking of buying more motor drivers in case we end up burning out  the ones we currently have and also potentially purchasing a motor shield, which is something we realized could be a better option to use. We also are working on getting our new PIR sensor up and running, since we only made the new sensor change and got it in late last week.

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

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. 

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. 

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.

Team Status Report for 3/8/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 risks as of now are getting the manufacturing and assembly of the enclosure finished by this week. Our manufacturing timeline had to get pushed back by one week, since we had some road bumps relating to material sourcing and selection last week, so we will put most of our effort this week into laser cutting and assembling everything to get back on track with the original deadline by next week. On the software + electrical sides, we were able to bootload the RPi and get it up and working, and in an effort to support the mechanical side of things more this week, we were able to finish the general layout of our GUI ahead of schedule. We had also originally dedicated some effort to submitting purchasing requests this week, but since we were also able to get that done earlier, we’re able to consolidate more efforts towards manufacturing 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? 

Nothing significant was changed in our design; however, there were some small size changes made to our CAD enclosure – namely, making the dimensions a little smaller in an effort to reduce unused space.

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. 

A was written by Ashira, B was written by David, and C was written by Anna.

Please write a paragraph or two describing how the product solution you are designing will meet a specified need…

Part A: … with consideration of global factors. Global factors are world-wide contexts and factors, rather than only local ones. They do not necessarily represent geographic concerns. Global factors do not need to concern every single person in the entire world. Rather, these factors affect people outside of Pittsburgh, or those who are not in an academic environment, or those who are not technologically savvy, etc.

Our vending machine’s design considers global factors in supporting user interface that is easy to understand and interact with. Our machine’s UI will be mounted will using a touch screen display, which will allow users to make selections and interact with the machine with steps and effort, an aspect that could be important for users who are not the most tech savvy. We also intend to include symbols and images during the timer & snack selection process in our GUI’s design, which would be important in cases where language or literacy barriers might arise. In addition, our vending machine’s notification system will include features which communicate a finished state through both visual notifications and sound as well, which is something that could be important for users who might be hard of hearing.

Part B: … with consideration of cultural factors. Cultural factors are encompass the set of beliefs, moral values, traditions, language, and laws (or rules of behavior) held in common by a nation, a community, or other defined group of people.

Our vending machine project considers cultural factors by ensuring accessibility, inclusivity, and user-friendly design. We use a touchscreen interface with simple language options to accommodate different users. The machine provides both visual and audio notifications, making it easier for people from different linguistic backgrounds to use. Additionally, we follow safety standards and design rules to meet different community expectations. If placed in a specific location, we can adjust product choices based on cultural preferences or dietary restrictions. By considering these factors, this is a vending machine that respects and serves a diverse group of people.

Part C: … with consideration of environmental factors. Environmental factors are concerned with the environment as it relates to living organisms and natural resources.

VendiBaddie takes environmental factors into account by considering the materials used in its construction, potentially reducing waste. The enclosure has been designed to be made of affordable wood panels which tend to be sturdier and more durable, ensuring longevity and minimizing the need for frequent replacements. Additionally, the machine utilizes a touchscreen interface which will effectively help with reducing the need for physical buttons or extra hardware by making the user interaction more flexible and thus lowering electronic waste in future iterations. While our current design does not prioritize energy efficiency, future improvements could explore the use of recyclable or sustainable materials, as well as energy-efficient components or alternative power sources to enhance sustainability and reduce environmental impact.