Valentines Day Romance Bot

About the project

What's more romantic than having a robot pour wine for you? Lots of things? Fair enough, it's still kind of fun all the same.

Project info

Difficulty: Easy

Platforms: ArduinoSeeed Studio

Estimated time: 1 hour

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Seeed Studio Grove - Water Sensor Seeed Studio Grove - Water Sensor I used a more generic water sensor x 1
Ultrasonic Sensor - HC-SR04 (Generic) Ultrasonic Sensor - HC-SR04 (Generic) x 1
SG90 Micro-servo motor SG90 Micro-servo motor I used a 20kg servo x 1
Arduino UNO Arduino UNO x 1

Software apps and online services

Arduino IDE Arduino IDE


If you think there's anything more romantic than an Arduino setup that pours boxed wine, it's ok to be wrong. To help you feel better about how wrong you were about romance, Romance-Bot is here for you! Boxed wine never tasted so good, in part because I didn't program in a way for it to tell when you've had too much. Good luck and happy valentines day!

How it works -

The idea behind the robot is fairly straightforward. We use a water sensor to check the amount of wine in the glass and see if it's full enough. As you may notice, without a wine glass there it will always read as empty, so we need to check to see if there's a wine glass there before bothering with the liquid readings. That's where the ultrasonic sensor comes in. It checks if there's an object in range and gives you a second to get the glass in place. At this point, we check the liquid levels and pour until either the failsafe kicks in (which is a timed pour so we don't go too crazy regardless) or the liquid levels say the glass is full enough. When it's done pouring, it also gives a window of time for you to move your wine glass away so we don't have any incidents of wine pouring onto the floor.

The code and schematics are attached to the project. The setup was able to avoid the need for a breadboard to keep the wiring simple and the parts-list shorter, with the added bonus of having less electronics to hide from sight :P.

The setup -

To actually put this into action, the servo needs to be able to pour the wine simple by moving. I didn't include the troubleshooting steps in the video above because it was making it kind of boring, but we'll go through the nitty gritty of how to make this thing cooperate here. This would be generally much easier with a simple button that needed pressed, but the boxed wine I was using utilizes more of a pinching action where both sides need pulled up instead. I was still able to use the servo (which was a 20 kg servo for a bit of extra force) to push it up in place, but it needed a bit more finagling.

First, the boxed wine is just cardboard. I found it necessary to reinforce the cardboard itself so that the servo didn't just force the cardboard back as it tried to push the button upward. Second, I found it helpful to use a rubber band that was able to tightly hold the other side of the pinch button, rotate once at the top, and hold the other side where the servo hit. This seemed to make it easier for the servo to pour the wine correctly. Last, I found it helpful to add a bit more substance to the servo itself so there was more pressing against the wine box button. I just used a pen cap for this and it worked fine. Clearly, this was a very romantic pen cap.

Lastly, the water sensor does retain liquid on it, so I'd recommend placing a drip catcher. I only had a few drops from this, but that's still a few drops that would've been on the floor.

Ready to rock!

This is just a quick for-funzies project, so at this point it's ready for action. But, it does actually work pretty well so maybe it'll be worth revisiting in a more permanent capacity in the future (since attaching it to boxed wine clearly has an end point for usage). The areas of improvement I see are - the liquid sensor takes too long to reset due to retaining liquid (even water) and may need a way to be automatically cleaned, and it'd be fun to have some amusing aesthetics for a more long term solution. What do you think it needs?

Schematics, diagrams and documents

Romance Bot Schematic

It's a schematic for the arduino setup needed for romance bot



This is the full code for romance bot. If you follow the schematic as well, it should just work :).


Photo of donutsorelse


I like to make stuff and make something different every week!


Leave your feedback...