

BMOctoprint
BMOctoprint
An interactive, fully integrated 3D printer control terminal featuring custom PCB design, Python scripting, and modular mechanical engineering.
An interactive, fully integrated 3D printer control terminal featuring custom PCB design, Python scripting, and modular mechanical engineering.
Project Type
Interactive Hardware & Embedded Systems
Interactive Hardware & Embedded Systems
Key Skills
Parametric CAD Design, Custom PCB Design, Programming (Python), UX/UI Design, Design for Assembly (DfA)
Parametric CAD Design, Custom PCB Design, Programming (Python), UX/UI Design, Design for Assembly (DfA)
Primary Tools
Autodesk Fusion 360, KiCAD, Raspberry Pi 4, Custom PCBs, FDM 3D Printers, Flexible TPU filament
Autodesk Fusion 360, KiCAD, Raspberry Pi 4, Custom PCBs, FDM 3D Printers, Flexible TPU filament
Overview
What began as a desire for a dedicated OctoPrint terminal for my Creality CR-10S Pro V2 evolved into an intensely complex, open-source hardware build. BMOctoprint is a fully functional, interactive replica of beloved Adventure Time character BMO that serves as a smart hub for my 3D printer. The project required harmonizing a Raspberry Pi 4, a 7-inch touchscreen, custom-designed printed circuit boards (PCBs), and custom Python programming inside a meticulously engineered, 3D-printable enclosure.
What began as a desire for a dedicated OctoPrint terminal for my Creality CR-10S Pro V2 evolved into an intensely complex, open-source hardware build. BMOctoprint is a fully functional, interactive replica of beloved Adventure Time character BMO that serves as a smart hub for my 3D printer. The project required harmonizing a Raspberry Pi 4, a 7-inch touchscreen, custom-designed printed circuit boards (PCBs), and custom Python programming inside a meticulously engineered, 3D-printable enclosure.






The Challenges
Systems Integration: Packaging a Raspberry Pi 4, a large touchscreen display, I2S speakers, an amplifier, and custom button arrays into a highly compact, aesthetically accurate shell without causing thermal throttling or cable-management nightmares.
Custom Electronics Design: Translating the iconic physical face buttons into a functioning control pad, which required designing my first-ever custom PCB from scratch.
Accessible Mechanical Design: Engineering the CAD model so that it could be easily manufactured on standard desktop FDM printers with minimal support material, while retaining a polished look on all outward-facing surfaces.
Systems Integration: Packaging a Raspberry Pi 4, a large touchscreen display, I2S speakers, an amplifier, and custom button arrays into a highly compact, aesthetically accurate shell without causing thermal throttling or cable-management nightmares.
Custom Electronics Design: Translating the iconic physical face buttons into a functioning control pad, which required designing my first-ever custom PCB from scratch.
Accessible Mechanical Design: Engineering the CAD model so that it could be easily manufactured on standard desktop FDM printers with minimal support material, while retaining a polished look on all outward-facing surfaces.


The Solution & Process
Custom PCB & Hardware Architecture: To bring the physical buttons to life, I utilized KiCAD to design my first custom PCB, which was manufactured through a sponsorship with PCBWay. The internal architecture centers around a Raspberry Pi 4, wired to a 7” touchscreen and two sizable I2S speakers with a dedicated amplifier. The electronics were specifically laid out to be clean, compact, and easily accessible for future servicing or upgrades (such as adding a Pi Camera).
Mechanical Engineering & CAD: Designed entirely in Autodesk Fusion 360, the enclosure was heavily optimized for the realities of 3D printing. By utilizing smart print orientations, all outward-facing surfaces printed smoothly against the build plate. The components assemble via friction fit and removable screws, allowing for complete non-destructive disassembly. To give the piece its characteristic charm, the limbs were printed in flexible TPU and reinforced with internal armature wire, allowing for full pose-ability.
Software Integration & Python Scripting: To marry the hardware to the user experience, the system boots directly into a full-screen OctoPrint instance for seamless printer management. I then wrote custom Python scripts to allow the physical D-Pad and face buttons to trigger both practical machine actions (e.g., pausing prints, changing filament) and interactive character elements, including on-demand animations and voice lines. The whole piece gains an extra level of personality with the custom animations, including an integrated screensaver which moves fluidly back and forth between triggered voice lines.
Custom PCB & Hardware Architecture: To bring the physical buttons to life, I utilized KiCAD to design my first custom PCB, which was manufactured through a sponsorship with PCBWay. The internal architecture centers around a Raspberry Pi 4, wired to a 7” touchscreen and two sizable I2S speakers with a dedicated amplifier. The electronics were specifically laid out to be clean, compact, and easily accessible for future servicing or upgrades (such as adding a Pi Camera).
Mechanical Engineering & CAD: Designed entirely in Autodesk Fusion 360, the enclosure was heavily optimized for the realities of 3D printing. By utilizing smart print orientations, all outward-facing surfaces printed smoothly against the build plate. The components assemble via friction fit and removable screws, allowing for complete non-destructive disassembly. To give the piece its characteristic charm, the limbs were printed in flexible TPU and reinforced with internal armature wire, allowing for full pose-ability.
Software Integration & Python Scripting: To marry the hardware to the user experience, the system boots directly into a full-screen OctoPrint instance for seamless printer management. I then wrote custom Python scripts to allow the physical D-Pad and face buttons to trigger both practical machine actions (e.g., pausing prints, changing filament) and interactive character elements, including on-demand animations and voice lines. The whole piece gains an extra level of personality with the custom animations, including an integrated screensaver which moves fluidly back and forth between triggered voice lines.




Additional Photos























































