All projects
Projects / BMO

BMO

BMO / ASSEMBLY3D VIEW
Drag to rotate · Scroll to zoom
ExpressionLoading expressions…
The whole iterative CAD design

BMO

Growing up, BMO was my favourite character from the show Adventure Time. So I decided to give it a shot and make one.

For the AI, I use models hosted by Groq, alongside open source Python libraries for speech recognition, voice synthesis, facial animation and motor control. Whisper handles speech recognition, Piper gives BMO a voice, and Rhubarb helps match the mouth to what it’s saying. Wheel encoders provide feedback for driving and turning, and an ultrasonic sensor measures the distance to obstacles. The hardware also includes a gyroscope and accelerometer for sensing rotation and acceleration.

Explore the code on GitHub
Beyond the face

What can it do?

Here’s what I’ve built into BMO’s software so far.

01

Have a conversation

Wake BMO up simply by saying “Hey BMO”. Whisper converts your speech into text and sends it to Groq to generate a reply. Piper then reads the response aloud.

02

Show some personality

BMO blinks, listens, thinks and talks through animated expressions. Rhubarb synchronises the mouth movements with its speech.

03

Drive and turn

Ask BMO to drive forwards or backwards, turn left or right, or follow a sequence of movements. Wheel encoders help track distance, while the gyroscope helps measure rotation during turns.

04

Stop near obstacles

BMO can approach an obstacle and stop at a requested distance. It also uses the ultrasonic sensor as a safety measure during normal driving and turning to help avoid collisions.

05

Look things up

Search the web, answer questions, share a fun fact, check the weather for a location, or report its battery level.

06

Use physical controls

Wake BMO with the triangle button, or stop and shut down with the large red circle. Use the directional buttons to move the mouse cursor and the small green circle to click.

Open the design

Make it your own

Download the original Fusion assembly and individual components. The ZIP contains 18 Fusion design files in .f3d and .f3z formats.

Fusion source files · ZIP · 74 MB

Unzip the folder, then import the designs into Fusion.