Want to snap a selfie and put a smile on the face of the camera? David Crookes meets SelfieBot

After Sophy Wong’s SelfieBot wakes from a snooze, it makes a cute noise, sings a song, winks at a passer-by, and then blinks silently. Or at least, it does if it’s left alone for long enough: its ability to capture fun photos and print them on to thermal paper ensures it’s nearly always in demand.

SelfieBot sprung into life in 2017 when Sophy and her husband Kim Pimmel created an early version for their local Seattle Mini Maker Faire. “We thought that if we created a fun selfie-taking experience, with something visitors could take home like a printed photo, it would encourage people to the booth and give them another way to interact with our projects.”

The plan worked a treat. SelfieBot – mains-powered and made from laminated laser-cut plywood – went down a storm, so the couple decided to refine the concept for 2018. Rather than have it tethered to one location, they opted for a mobile version.

“I redesigned the circuit so that it could be powered by a small 7.2 V NiMH battery like the ones in radio-controlled cars,” Sophy explains. The idea of putting a Raspberry Pi 2 at its heart remained, however.

"We hardly print anything these days, especially photos, so it's a lot of fun"

The Pi is connected to a Pi Cobbler which routes all of the Pi’s GPIO pins to a Perma-Proto board. A Pi Camera Module V2 is used to take photos, while a mini metal speaker is hooked up to an Adafruit mono 2.5 W class D audio amplifier, to allow the SelfieBot’s sounds and jokes to be clearly heard.

For its face, which beams bright from a 5-inch HDMI display, the couple conducted a lot of research. “We analysed the features of cute robots and scary robots, knowing that we wanted a face and sounds that were appealing, cute, and non-threatening,” Sophy says.

Kim created the code for this, producing animated faces – made up of individual images played in sequence. “When paired with sounds, which are recordings of my voice, the illusion is complete. We used the Pygame engine to drive the graphics and sounds, and CUPS for printing.”
 When the accelerometer detects it has been placed on its back, the SelfieBot falls asleep and shows a snoring animation.

And action

Photos are outputted to a portable thermal printer. “It’s very satisfying to watch the image print before your very eyes,” Sophy says. “It seems like we hardly print anything these days, especially photos, so it’s actually a lot of fun for people playing with SelfieBot.” She says folks love tearing off and keeping their photo, leaving with as big a smile as that on SelfieBot itself: “When a photo is printing, SelfieBot makes a cute face which is intended as a second reward… It feels like a big win".

Quick facts

The case is made from three acrylic panels: > Wall sections and handles are 3D-printed > SelfieBot does an impression of a dot matrix printer > It takes 15 seconds to print a photo > Sophy toyed with adding Twitter to SelfieBot

More Raspberry Pi projects like this one

This story is an excerpt from The MagPi magazine Issue #77, written by Sophy Wong. Interested in regular updates from the world of Raspberry Pi? Become a subscriber.

From The MagPi store