Rodrigo Bassi Guerreiro
Smart Liquid Dispenser
Liquid Dispenser for Zero-Waste Stores
This project was developed for a zero-waste store in Cary, NC. Its goal was to reduce the manual labor required to measure the amount of product that a customer was purchasing by automatically keeping track of that quantity as it is dispensed.
The final design consists of a large container, and the volume of product inside is determined by calculations based on the readings of an ultrasonic sensor. The liquid is moved by a pump, out of a hose that can easily be placed into the customer's container. Everything is tied together by a touchscreen user interface, which allows users to select products and actively keep track of how much they have to pay.
Duration
January 2022 - May 2022
Team Size
3
Technologies
Raspberry Pi, Python, Django

Technical Details
The user interface was developed within a Django framework, which was locally run on a Raspberry Pi computer. The interface was displayed using a standard 7'' Raspberry Pi touchscreen display, allowing for a simple and intuitive user experience.
The measurement of the volume inside the container was performed by sensing the height level of the product using an HC-SR04 ultrasonic sensor. This sensor was connected to the Raspberry Pi, and the distance readings were converted to volume using an experimentally determined line of best fit.
Additionally, the sensor was secured to the top of the container with a custom 3D-printed PLA attachment.
The wooden frame was custom-made to house the 3-gallon glass container and the siphon transfer pump, which allowed for liquids of high viscosities (like lotion or conditioner) to be easily transferred to the client's containers.
My Role
I took charge of the coding and electronic components of this project. Initially, I was responsible for determining the final type of sensor that would be used, experimenting with different metrics (e.g. mass vs volume), followed by different models of ultrasonic sensors to determine what was most accurate and reliable.
I also took on the setup of the Raspberry Pi and the development of the Python code that would integrate with the sensor. I developed the user interface using Django, which was an intentional design choice given that I was familiar with this framework, and this needed to be finished quickly (in under a week) so that all hands could be on deck to polish the final prototype.
Aside from contributing to the development of the prototype, I also played an important role in keeping the team on track with the various deadlines for technical reports and oral presentations, as well as internal milestones we had set for ourselves.
Video Demo
Demonstration of how to use the liquid dispenser and interact with the interface, from selecting the desired product, to pumping it out, to checking the amount and corresponding price of the liquid.

