EmoBot
#machineLearning, #AI, #HRI, #playfulInteractionDesign, #socialBotsCan a robot teach you how to feel?
EmoBot is a tiny robot with a playful interface that challenges users to mimic its expression through positive and negative audio-visual reinforcements.
It shows a different face every time a user picks it up and shakes it. If the user mimics the emotion and expressions correctly, EmoBot rewards them with a heart emoji. And if they get it wrong... it shows a poop.
How to play?
Pick it up and shake it to get a random expression, then try to mimic it!
If the user shows the correct expression, EmoBot rewards them with a heart emoji and a satisfying success sound. If the user's face doesn't match, EmoBot responds with a snarky poop emoji and a failure sound.
After 3 successful trials, the user hears the level complete sound indicating that the game is over and they've won. If the user fails 3 times, they hear the game over sound, which encourages them to try again.
What’s the point?
- Explore how people engage with a playful robot telling them how to feel
- Learn more about physical computing, microcontrollers, and detecting sensory inputs
How is it made?
EmoBot is a 9V-battery-powered 8x8 LED Matrix and gets its smarts from an Arduino 101. Using the analog gyroscope sensor and the BLE communication feature, EmoBot changes its face when a user shakes it, and then wirelessly transmits that face to a custom iOS app through a BLE connection.
The iOS app grabs the EmoBot’s face, and uses the front-facing phone camera to detect the user's face and analyze their emotional characteristic using the Affectiva SDK in order to determine whether their expression matches EmoBot’s.


Convoluted minimalism
I enjoy making things that appear simple—maybe even silly—but that are actually fairly complex and powerful. I like making the interface disappear to make the communication between human and machine as seamless and friction-free as possible.
I like to think of this as, for a lack of a better phrase, convoluted minimalism —maximizing the complexity of building the product to minimize and simplify the end interaction and create a stellar experience.
Expressions
Below is the full array of faces EmoBot can display (some clearly better than others - there's only so much you can do with an 8x8 matrix...).
What’s with the poop?
- The shape of the poop emoji is almost the exact opposite of the heart emoji, so it makes for the perfect counterpart—together they are in harmony.
- I wanted a whimsical emoji so that the disappointment of losing wouldn't be too scarring. At least people would get a laugh out of it.
- I'm personally just a big fan…
Resources
GitHub
Affectiva SDK
Arduino 101 - CurieBLE
BLE for iOS tutorial, RayWenderlich
Fantastic Arduino tutorials
Gameplay video