BMO has always been one of my favorite characters from Adventure Time. More than just a gaming console, BMO is portrayed as a companion, friend, and entertainment device with its own personality.
This project began as an attempt to recreate that concept in real life by building a portable companion robot that combines custom hardware, embedded software, entertainment features, and interactive applications into a single platform.
The result is BMO, an ESP32-S3 powered companion robot featuring a custom 3D-printed enclosure, FreeRTOS-based software architecture, motion sensing, audio playback, educational applications, and built-in games.
Design and DevelopmentThe entire system was designed from scratch, including the enclosure, electronics integration, software architecture, and user interface.
The hardware is built around an ESP32-S3 microcontroller and integrates a graphical display, motion sensing, audio playback, battery power, physical controls, SD card storage, a custom PCB, and a fully custom 3D-printed enclosure.
The enclosure was modeled in Fusion 360 and optimized to accommodate all internal components while maintaining the recognizable appearance of BMO.
Software ArchitectureThe software is based on FreeRTOS, allowing different functionalities to run as independent tasks.
The architecture separates display management, user inputs, motion sensing, audio playback, game execution, storage management, and system events into dedicated tasks. Communication between modules is handled through queues and event-driven mechanisms, resulting in a responsive and scalable design.
This approach allows multiple features to operate smoothly while maintaining system responsiveness.
FeaturesBMO is designed as a multifunctional companion device and currently includes:
EntertainmentBuilt-in games
- Built-in games
Flappy BMO, inspired by the classic Flappy Bird gameplay
- Flappy BMO, inspired by the classic Flappy Bird gameplay
Interactive graphical user interface
- Interactive graphical user interface
Audio playback from SD card storage
- Audio playback from SD card storage
Music player functionality
- Music player functionality
Recording playback capabilities
- Recording playback capabilities
Voice recording through the integrated microphone
- Voice recording through the integrated microphone
Storage of recorded audio files on the SD card
- Storage of recorded audio files on the SD card
Playback of saved recordings
- Playback of saved recordings
Music playback through the integrated speaker system
- Music playback through the integrated speaker system
Interactive quiz application
- Interactive quiz application
Multiple-choice questions displayed on the TFT screen
- Multiple-choice questions displayed on the TFT screen
Score tracking and progress monitoring
- Score tracking and progress monitoring
Educational content designed to make learning more engaging
- Educational content designed to make learning more engaging
Motion sensing using the integrated IMU sensor
- Motion sensing using the integrated IMU sensor
RGB visual feedback
- RGB visual feedback
Vibration feedback
- Vibration feedback
Menu-driven interaction system
- Menu-driven interaction system
A dedicated web portal was developed to extend the functionality of the device beyond the hardware itself.
Through the web portal, users can:
Submit custom questions for the quiz application
- Submit custom questions for the quiz application
Manage educational content
- Manage educational content
Expand the available question database
- Expand the available question database
Personalize the learning experience
- Personalize the learning experience
This allows new content to be added without modifying the embedded firmware.
ChallengesOne of the main challenges was integrating multiple peripherals into a single embedded system while maintaining reliable performance.
Developing the FreeRTOS-based architecture required coordinating display updates, user inputs, sensor readings, audio playback, SD card access, and game execution simultaneously.
Designing a compact enclosure capable of housing the display, battery, PCB, controls, and audio hardware while preserving BMO's iconic appearance was another significant challenge.
Hardware debugging, PCB integration, storage management, and peripheral communication also played an important role throughout development.
Future DevelopmentBMO is intended to become more than a handheld gaming device.
Future versions will focus on expanding the companion robot concept through features such as:
Voice interaction
- Voice interaction
Emotion recognition
- Emotion recognition
AI-assisted conversations
- AI-assisted conversations
Enhanced animations
- Enhanced animations
Wireless synchronization
- Wireless synchronization
Additional educational applications
- Additional educational applications
Expanded game library
- Expanded game library
The long-term goal is to transform BMO into a fully interactive companion robot that combines embedded systems, artificial intelligence, education, and entertainment in a single portable platform.
ConclusionBMO combines embedded software, hardware design, real-time operating systems, PCB development, mechanical engineering, and interactive applications into a single device.
- Beyond recreating a beloved fictional character, this project demonstrates how embedded systems can be used to create engaging educational and entertainment experiences while serving as a foundation for future companion robot development.







_t9PF3orMPd.png?auto=compress%2Cformat&w=40&h=40&fit=fillmax&bg=fff&dpr=2)




Comments