This is my 2025 Christmas ornament project.
A fully self-contained tiny model train and diorama designed to fit entirely inside a clear Christmas ornament.
For the full context, design journey, and why some things changed along the way, watch the video above.
The goal of this project was to build a miniature train system that could live inside a Christmas ornament while still feeling like a complete, moving system.
The original concept explored an electronically driven track, using timed control to advance the train around a PCB. As development progressed and real-world constraints showed up, the design pivoted to a mechanically driven solution that was simpler, more reliable, and better suited to the timeline.
The current version uses a tiny mechanical belt system that moves a magnet beneath the board.
As the magnet advances, the train follows along the track above.
This project is still a work in progress.
- The tiny magnetic track system needs further development
- Motion is currently limited and likely needs more voltage
- Additional tuning is required for smoother and more consistent movement
All of this is discussed in the video, including why the pivot happened and what still needs improvement.
- Mechanical belt-driven magnet system
- Train follows the magnet around a fixed loop
- Ornament-sized, self-contained footprint
- Designed for continuous motion and display
- Built with iteration and modularity in mind
Future revisions may revisit electronically driven concepts once reliability and timing constraints are better understood.
- Controller: Adafruit ESP32 Feather V2
- Lighting: Adafruit wireless LED coil for flexible, wire-free lighting placement
- Mechanical components: Belts, magnets, bearings, and fasteners sourced from McMaster-Carr
- Structure: Custom 3D printed parts for alignment, mounting, and enclosure
The project combines off-the-shelf hardware with printed components to keep it accessible while maintaining precision.
This repository contains design files, firmware, and assets related to the project.
You are encouraged to:
- Modify the design
- Improve the mechanics
- Adapt it for your own ornament, diorama, or tiny controlled environment
If you build one, or make it do something unexpected, I’d love to see it.
Like most engineering projects, this one is shaped by compromise, iteration, and time.
What ships is never the first idea.
It’s the version that survives.
It’s small.
It loops.
It runs quietly in the background.
Which feels appropriate.
