moodbot
a little robot with an animated oled face. it runs on an esp32 and an arduino, and you drive it from your phone over its own wi-fi.
2025-11-01 | hack
i wanted to build something that felt alive, not just another screen. it was also my first time with an arduino, so it took about a thousand tutorials, and it was a lot of fun.
it's a classic hobby robot, built over three days from parts most starter kits have:
| part | what it does |
|---|---|
| esp32 | runs its own wi-fi network and the control page, and draws the face |
| arduino uno | drives the motors and reads the distance sensor |
| l298n motor driver | switches the two motors on and off |
| hc-sr04 ultrasonic sensor | measures how far away the nearest thing is |
| 128×64 oled | the face |
you join its wi-fi from your phone, open a page and drive it with arrow buttons. the face is a few drawn shapes with a random blink, and you pick the mood on the same page: happy, sad, angry, curious, excited or sleepy. the only mood it picks on its own is curious, when something's in its way. in auto mode it drives forward, and when something is closer than 25 cm, it backs up and turns a random way. the motors are just on or off. there's no speed control.
the hard part was the link between the two boards. the uno talks to the esp32 on pins 0 and 1, the same serial line its usb uses. so i couldn't use the serial monitor to see what it was doing, and every upload meant unplugging wires first. i'd run everything from the esp32 alone, so there's no link to debug.