The Swirl Machine: Capturing the Spirit of a Wine Region Digitally
Santa Maria Valley: a relaxed town on California's Central Coast known for its world-class Pinot Noirs, Santa Maria Style barbecue and friendly, laid back locals. Their visitor's bureau looked to KPS3 to do something bold. So, we turned a relaxed wine tasting vibe into a complete digital experience, powered by a Swirl Machine.
If you're too busy to keep reading, just use it right now at santamariavalley.com/swirl, or watch the video. For those who want to dig deeper, enjoy.
What is the Swirl Machine?
The Santa Maria Swirl Machine is an interactive experience that allows users to control the fill level and swirl speed of a glass of Santa Maria Valley wine. The swirl machine then swirls the wine and spills it onto a piece of paper, creating your unique #SantaMariaStyle artwork to keep and share. It also gives you a personality profile and wine recommendations based on your art and swirl style.
From a technical perspective, this was no easy feat. Two raspberry pi’s, an Arduino, stepper motors, suction cups, lead screws, gripper arms, cameras, servers, and—oh yeah—it all had to be waterproof, bulletproof and run 24 hours a day.
As of January 2020, we've had more than 2,000 spills from 1,700 users across the globe interacting with more than 10,000 pages on the website. We were covered in publications like TechRepublic, MagPi, and Hackster.io, and Tide even shot us a tweet. We had mayors swirling, newscasters splashing and the industry got a taste of a player that they never thought could make that big of a splash.
The team that built it
The idea: Credit here goes to Bob Whitefiled, Rachel Curran, and myself. We were driving down to Santa Maria Valley for a meeting and the brainstorm that happened was the foundation for the Swirl Machine.
The construction: Shayna @ Dabblish, Jonathan Rutheiser (the real mastermind behind every element of this project), and myself. Four rounds of machines were built: The first was awesome and totally hand-powered; the second wasn't bad; the third was sweet, but failed halfway into the live demo at the Vintners Festival (whoops); and the fourth was, well, HUGE... but it worked and still is!
The hardware: Jonathan Rutheiser and countless hours of internet searches.
The creative: So much creative. From the actual studio set to the landing page to social posts and copy to the profiles that are generated from your spill. Jenna Hubert, Vy Tat, and Matthew Forsythe designed everything you see.
The promotion and media management: The social and PR team that managed the press, stoked the conversation, pinged brands and slid into reporters DMs all day long—Jancy Ulch, Lizbeth Alvarez, and Chrisie Yabu.
The client: The entire Santa Maria Valley team not only was supportive, but they helped create, refine and promote this crazy idea and never once gave up on it!
Let's get technical
Want to know more about our workflow? Swirlers visit santamariavalley.com/swirl, a single-page React application hosted in AWS. After joining the swirl queue, users choose their pour and swirl levels. While in the queue, users can watch a video feed of everyone’s swirls, courtesy of camera one. Once it’s a swirler’s turn, they are taken into the full-screen live mode to watch their custom #SantaMariaStyle art come to life.
To initiate the spill, the gripper arm—a servo equipped with a suction cup attached to a venturi powered by an air compressor—moves down to grab a sheet of specialized watercolor paper. The arm brings the sheet up to the paper holder, where it’s clipped into place by a custom gripper. The Arduino then commands the stepper motor, which turns a lead screw and moves the paper to its proper location: the splash zone. That's when the magic happens. The Arduino commands the pump to fill the glass to the user’s selected level. Once filled, the system begins to swirl at the user's selected speed.
Once at max speed, the system triggers the actuator to fire, launching the swirling glass forward and splashing wine onto the paper. (We basically automated Jackson Pollock.)
During the fill and swirl, camera two records the process, uploading the footage to Amazon S3. The stepper motor then spins the lead screw into the final position—in front of camera three—to capture a photo of the art. Now, wet paper isn’t perfect. It curls, it bends, and it shifts. The camera sends the not-so-great photo to an AWS Lamda worker for processing. It detects corners, filters out imperfections and brands the image. The final deliverable is a perfectly cropped, completely unique piece of art that a swirler can cherish and share.
Art tells a story, and Santa Maria Style art tells the story of the user. Once all is said and swirled, users are taken to their custom landing page, where they can download their artwork, their footage from the splash cam and a Swirl-nalysis profile based on their art.
Finally, the hardware resets. The gripper drops the paper, the wine glass goes back to its starting point and the machine sets up to do it all over again.
- Raspberry Pi 3b+
- Raspberry Pi Camera Module v1 (for live stream)
- Raspberry Pi 4
- Connected to the Arduino Micro to control the machine
- Raspberry Pi Camera Module v2 (for art still photo)
- Logitech C920 USB Camera (for splash video)
- Arduino micro
- Three cameras
- Live stream (V1)
- Swirl art photo (V2)
- Splash video (C920 Logitech)
- Air compressor
- Suction cup with venturi to convert compressed air into a vacuum
- Pneumatic cylinder (double acting)
- Diaphragm water pump
- DC worm gear motor
- In the box
- 3x relays to control the solenoids and water pump
- Speed controller for the motor
- Step down converter to provide power for high torque servos
- Hall effect sensor to position the spin plate/wine glass using a magnet
- Two servos
- Suction arm
- Paper gripper
- Lead screw
- Stepper motor and controller
- Three pneumatic solenoids
- One to control venturi
- One to control double acting pneumatic cylinder
- One to knock down the paper when it's released at the end
- Breadboards, lots of wires, and solder
- A bunch of t-slotted rails and fittings
- A bunch of HDPE and acrylic plastic for the enclosure
- Single page React app hosted in S3 and served via CloudFront
- Lambda media worker (for image processing through OpenCV)
- Lambda edge function to add OG data to results pages (since it's a single page app in S3)
- REST API server (Node / Koa / MySQL / Redis)
- Elastic Beanstalk for scaling and load-balancing of API
- API worker that processes the queue and communicates with the hardware system through gRPC
- Hardware system that is running on the RPi that handles all of the states of the machine
- Code on the Arduino to talk via USB with the hardware system and to control all of the electrical components
Shit that went wrong
From day one, this project was a nightmare—finding paper that would actually hold a spill, finding a device that could throw the wine. Heck, the sheer volume of moving parts and the fact that we were using liquid was enough to halt the project. Seriously, this project was built to fail. Yet somehow, the failures were not too much to overcome. Here are a few of the best failures:
- Here was the first swirl known to date!
- And here are all of the machines... These are in the "trash," but they helped us refine and perfect the final product.
- Using wood for the glass platform... in a box of water... in the sun. Yeah, that failed.
- The paper. Paper isn't meant to get that wet and, when it does, it curls. And when that happens, you can't photograph it!
- The damn paper gripper arm. That feature alone was insane to get working. Jonathan broke several servos, we went through hundreds of paper ideas and several iterations to get this going.
Shit that went oh-so right
You know that moment when you are so frustrated with a problem you want to throw something and then boom—it works. We had so many of those:
- The first was on week one. After we had pitched the idea and they liked it, we had to make sure it would even be possible. Boom! It was.
- The main box was on a rail system with sliders that had metal bearings in them. They would get hung up on the back pull from time to time and cause the system to freeze. We tried grease and different positions with no luck. One night Jonathan said, make them out of the HDPE. Boom! We've had no issues with those, and they still slide like butter.
- As mentioned in the previous section, getting the paper from a horizontal position to a vertical one was a real struggle. Suctioning porous paper had some downfalls. One day, as we were scratching our heads, we thought, "Why not just put tape on the back of the paper, so it forms a seal and doesn't suck through or grab more than one sheet?" Boom! Worked like a champ.
- There is something to be said about the small victories. To this day, one of Jonathan's most renowned aspect of the project is an extra step he built into the suction arm. After it grabs the paper and lifts it to its primary location and the gripper arm takes hold of the paper, the suction releases, and the arm drops back three degrees to prevent it from shifting the paper. Boom... I guess? It does look pretty sweet.
- We call this one "The Paper Blower." Basically, after about 10 swirls, the paper wouldn't fall flat anymore and would get in the way of the camera. One night, around midnight, we came up with the idea of just adding a blower to help flip the paper out of the way. Boom, no more babysitting paper.
Results to date
Overall, the Swirl Machine was an amazing project. The team discovered way more than we set out to (or even wanted to) learn. But outside of the growth and the numbers, I watched an organization get behind a project, speak perfectly about the brand and why this fits, and get excited about marketing.
However, the numbers were also a big win and they're still rising.
- 1,700 swirlers
- 2,000+ pieces of artwork created
- 10,000 page views across our websites
- More than $100,000 in publicity value
And we're still rolling! (Or, rather, swirling.)