Arduino Mini BMO
BMO from Comedy Central’s Adventure Time is adorable, if only someone would make one that can walk! Atleast we can make one with a personality. Here is a build using easy to get parts including Arduino Pro Mini, Nokia 3310 LCD screen, audio playback, accelerometers, and distance sensors.
The parts added up to around $70.00
My time was taken making her voice, expressions, and personality, you could easily extend this platform and add a music player or games. If you want to add more buttons or sensors you will need to add more or bigger Arduinos. 19 of the 20 GPIO pins are taken up with controlling the audio, LCD, buttons, and sensors. I even had to use a couple analog inputs for buttons.
I admit that it was quite a challenge to pack all the electronics in such a small package. If I ever make another BMO I will use a larger LCD screen so the dimensions would be correct to use an Arduino Mega, Raspberry PI, or Beagle Bone Black.
I intended to have battery power as well however I ran into issues running on a single cell LIPO, I am not sure that I will finish the battery power feature.
Parts list:
Arduino Pro Mini
- Nokia 3310 LCD screen
- WTV020-SD Audio Player
- Audio Amplifier
- 2 Speakers
- 2Y0A21 Sharp Distance sensor
- ADXL335 Adafruit Accelerometer
- 7 push buttons
- Proto board
- Assorted wire
- USB connector
- 3.3V regulator
Video
For more info and a schematic on connecting the Arduino to the 3310 LCD display check out this post. https://electronhacks.com/2012/01/arduino-6-ai-temperature-scanner-with-lcd-display/
Donwloads
Schematic
Arduino Mini BMO Schematic .png
Download as PDF Arduino Mini BMO Schematic
Download All Assets
You can download all assets found below in one zip file here.
STL files
Just STL files in this ZIP or you can get the files at http://www.thingiverse.com/thing:448786
Arduino Sketch
There are four libraries used:
- Library for the WTV020-SD audio player
- Two Adafruit GLCD libraries, they do the heavy lifting so that you can use simple shapes and commands.
- Timer library for multitasking and multithreading, with so much going on using “Delay()” would not work.
Just the Audio Files
Scavenge your own audio files using YoutubeDownloader or if you generated your own voices you can have much more customization as the number of relivent BMO quotes are scarce.
Or, you can download my files Here