Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteiTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Yes—you can build a 3D-printed marble-run clock with scrolling text, but it is most reliable when treated as four connected systems rather than one oversized print: a gravity-fed track, a lift that returns each marble to the top, a controller with sensors that schedules movement, and a separately mounted text display. Choose and measure the marble first. Its actual diameter determines the rail width, pocket depth, gate openings, and lift geometry. A practical build can use an Arduino Nano-class controller for local timekeeping or a Raspberry Pi Pico W when Wi-Fi and NTP synchronization are useful. Add an infrared gate sensor to confirm that a marble has cleared before advancing the mechanism, and keep the scrolling display electrically and mechanically independent so a long message cannot stall the lift.
What architecture works for a marble-run clock with scrolling text?
The dependable layout is a loop. Marbles leave a top hopper, travel through a sloped track, pass timing gates or a bell, collect at the bottom, and return through a powered elevator. A controller starts and stops the elevator, reads a passage sensor, and advances the schedule. A text panel sits beside or above the track where it can be read without becoming part of the marble path.
The gravity-fed track
The track converts height into motion. Use a continuous slope with transitions that do not launch a ball over the rail. Curves, funnels, stops, and counting gates should all be modeled around the same measured ball diameter. A short removable section is valuable because it lets you test a slope or rail change without reprinting the whole clock.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11The lift and return path
The lift must pick up one marble, hold it positively while moving, release it at the top, and route it back to the start without allowing a second marble to enter the same pocket. A hopper at the bottom and a single-ball throat are easier to tune than a wide opening that feeds several balls at once.
#1 Best Overall
- Original ATmega328P CH340 chip is used. Improved new version CH340G Replace FT232RL.
- LAFVIN Nano V3.0 card is 100% compatible with the Nano card, and fully compatible with Windows, Mac and Linux operating system.
- Works the same as original Nano, runs perfectly on programming software.
- Using Atmel Atmega328P-AU MCU, Support ISP download; Support USB download and Power.
- LAFVIN Nano CH340 controller is a compact board similar to the R3 board, smaller and breadboard-friendly than Diecimila.
The controller and sensors
The controller supplies timed motor motion and can use a reflective infrared sensor to verify that a marble has passed a gate. This feedback lets the software wait for a clear path before the next movement instead of relying only on elapsed time.
The scrolling-text panel
Make the display a replaceable module. Reserve an opening and cable route in the frame, but choose the LED matrix only after the available panel size, viewing distance, voltage, and current budget are known. Display refresh should run in its own software task so message length never blocks motor control.
Which marble size should you design around?
Use one standardized rolling element throughout the clock and measure the balls you will actually install. Published marble-clock examples use several incompatible sizes, so copying a rail or lift dimension from another project without changing the ball will cause binding, drops, or double feeds.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →| Documented project or example | Rolling element | Related hardware or design note |
|---|---|---|
| The Hour timekeeping marble run | Four 14 mm marbles | Raspberry Pi Pico W, GeekServo and TCRT5000 sensor |
| Marble Clock “Time Rolls On” | 3/8-inch steel bearings | Arduino Nano or equivalent, NEMA 8 stepper and DRV8825 driver |
| Other published clock examples | 15–16 mm glass marbles or 16 mm steel balls | Dimensions must be recalculated for the selected diameter |
Nominal packaging sizes are not enough. Measure several balls with calipers and design from the largest measured diameter. Check the finished ball against every narrow feature: rail spacing, pocket depth, stop height, sensor gap, funnel throat, and the opening at the top release. If you later change from a 14 mm marble to a 16 mm steel ball, reprint those interfaces rather than sanding the entire mechanism.
How do I design and test the marble track?
Print a small test set before committing to the full clock. A straight, a curve, a stop, and one elevator pocket expose most geometric errors while material and print time are still low.
- Measure the ball. Record the largest diameter in your chosen batch and use it as the master parameter in the CAD model.
- Print a straight rail. Test whether the ball rolls freely without side-to-side binding. Inspect the underside for elephant-foot distortion that can narrow the channel.
- Print a curve and a stop. Roll the ball repeatedly at the intended slope. Increase the wall or add a higher outer rail if the ball climbs the curve, but avoid creating a tight corner that traps it.
- Print one pocket and gate. Confirm that a single ball seats fully, that the next ball cannot overlap it, and that the sensor can see a passage without touching the ball.
- Measure the slope under load. Test with the complete number of balls, not just one. A train of balls can slow on a shallow section and collide at a stop.
- Add cleanout access. Leave a removable cover or opening near every likely jam. A clock that cannot be reached without destroying a panel will be difficult to maintain.
Keep the track modular with screws, captive nuts, or heat-set inserts where repeated removal is expected. Avoid permanently gluing rail sections until the clock has completed a long run.
How can the lift recirculate marbles without jams?
A reliable elevator combines controlled feeding, positive capture, and a defined release. Two approaches are documented: a worm-style elevator and a stepper-driven lift wheel. Either can work when the pocket matches the ball and the top and bottom transitions are constrained.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #2
- Powerful ESP32-S3 Microcontroller: The Arduino Nano ESP32 is powered by the ESP32-S3 chip, featuring a dual-core Xtensa 32-bit LX7 processor running at up to 240 MHz. This high-performance microcontroller offers excellent computational power for IoT, wireless communication, and advanced embedded applications like real-time data processing, voice recognition, and machine learning at the edge.
- Comprehensive Wireless Connectivity: The board supports both Wi-Fi and Bluetooth 5.0, enabling seamless communication with other devices, networks, and cloud platforms. Whether you're building a smart home system, wearable tech, or remote sensors, the Nano ESP32 offers reliable and high-speed connectivity for wireless data transfer and control.
- USB-C for Power and Programming: With the modern USB-C port, the Nano ESP32 ensures faster programming, better power delivery, and a more stable connection compared to traditional micro-USB boards. This makes it easier to work with, especially in development and prototyping stages.
- HID Support for Advanced Applications: The board supports Human Interface Device (HID) profiles, making it ideal for projects that require integration with keyboards, mice, or other HID peripherals. This feature allows you to create custom input devices, virtual controllers, or even USB-based projects that interact directly with computers and other devices.
- MicroPython Compatible: The Arduino Nano ESP32 is compatible with MicroPython, a streamlined version of Python designed for embedded systems. This makes the board perfect for rapid prototyping, educational projects, and developers who prefer Python over C/C++ for ease of use and faster development cycles.
Worm-style elevator
Adafruit documents a fully 3D-printed marble run that uses a worm-style elevator to lift ball bearings. The screw-like geometry can present balls one at a time and is useful when the lift must be narrow. It still needs a hopper throat, a pocket that cannot let a ball roll backward, and a top chute aligned with the track.
Stepper-driven lift wheel
The “Time Rolls On” design uses a NEMA 8 stepper, a DRV8825 driver, and a 12 V supply to turn a lift wheel. The design targets an Ender 3-class printer and recommends a glass surface for a flat lift-wheel face. A wheel gives direct control over indexing, but its pockets must be deep enough to retain a ball through the full rotation and shallow enough to release it cleanly at the top.
Design the feed and release as one mechanism
- Hopper: slope the bottom toward a single entry so balls cannot stack beside the pickup.
- Single-ball throat: make the opening only large enough for one measured ball and provide a second stop behind the pickup.
- Positive capture: use a pocket, worm flight, or retaining wall that holds the ball if the motor pauses.
- Top release: align the release with a short guide that prevents a ball from bouncing back into the lift.
- Return path: give the ball a clear route to the track and keep the next pocket empty before advancing.
- Power-loss stop: include a mechanical stop that holds the train and prevents a column of balls from free-falling when the motor is unpowered.
Leave room to remove the motor, driver, sensor, and hopper independently. A cleanout opening at the bottom of the lift is especially important because a skewed ball can block every subsequent pickup.
What motor, controller, driver, and sensor do I need?
Choose the electronics from the lift design and the clock’s connectivity requirement. The documented local and networked options are different rather than interchangeable recipes.
| Use case | Controller | Motor and driver | Sensor and timing capability |
|---|---|---|---|
| Local clock with no network time | Arduino Nano or equivalent | NEMA 8 stepper with DRV8825; 12 V supply in the documented design | Can be paired with a passage sensor; the published bill of materials specifies the controller and lift hardware |
| Wi-Fi-synchronized clock | Raspberry Pi Pico W | GeekServo in The Hour reference | TCRT5000 infrared sensor detects marble passage; NTP and daylight-saving logic are handled in software |
| Worm-lift experiment | Controller depends on the implementation | Motorized worm elevator documented by Adafruit | Use a gate sensor if the software must verify each release |
Stepper option
A stepper gives repeatable lift-wheel indexing. Set a conservative initial speed, then increase it only after the pocket, shaft, and release guide are aligned. The DRV8825 must be mounted and wired according to its manufacturer’s current and cooling requirements; keep the driver ventilated and route its motor cable away from the infrared sensor cable.
Servo or geared lift option
The Hour reference uses a GeekServo with a Pico W. A servo can simplify a short indexed movement, but the mechanical stop and sensor still matter: stop the motion only after the TCRT5000 confirms that the previous marble cleared the gate.
Infrared passage sensing
Mount the TCRT5000 or equivalent reflective sensor where the ball interrupts or changes the reflected signal consistently. Shield it from direct room light, keep the sensing distance fixed, and test with the exact finish and color of the chosen marbles. In software, debounce the signal, wait for a clear state, and reject a second trigger until the first ball has left the gate.
Rank #3
- The Nano is using the chips ATmega328P and CH340, not FT232 as official Arduino. It works just like the original Nano board and is very cost-effective for beginners.
- Uses atmega328p-AU as MCU, support ISP download; Support USB download and power supply. Compatible with Arduino Nano, fully compatible with Windows, Mac and Linux operating systems.
- The Nano board can be powered via a USB C connection; 6-12 V unregulated external power supply or 5 V regulated external power supply. The Nano automatically detects and switches to the power source with higher potential, no power selection jumper is required.
- The Nano board has 14 digital I/O pins (6 of which can be used as PWM outputs), 6 analogue inputs, a 16MHz quartz oscillator, a USB C power socket, an ICSP port and a reset button.
- The Nano board has numerous possibilities for communication with a PC or other microcontrollers and is fully compatible with the operating systems Windows, Mac and Linux. This board is particularly breadboard friendly and the connections are very easy to handle.
How do I add scrolling text without interfering with the clock?
The reviewed marble-clock designs establish the mechanical clock and, in one case, animated LED strips, but they do not define a complete scrolling-text module, font layout, or firmware for this exact project. Treat the text display as a separate design decision and reserve its space, wiring, and power before finalizing the frame.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Reserve the mechanical envelope
Place the panel where a viewer can see it from the normal operating distance, not directly behind a rail or in the path of falling balls. Add a bezel that can be removed from the front and a strain-relieved cable route from the display to the controller or a dedicated display board. Keep the panel clear of the lift’s service cover.
Choose the matrix after measuring the frame
Select pixel pitch and panel dimensions from the opening you can actually print. A fine-pitch matrix can show smaller characters but may consume more current and produce more heat; a coarse matrix needs a shorter message or larger lettering. Verify the matrix voltage and peak current before choosing the supply. The mechanical envelope, viewing distance, and available power should determine the module—not the other way around.
Separate display and motion software
Run a motor state machine and a display animation task independently. The motor task should always be able to stop, home, or recover a jam even while the display is shifting text. Store the message as a queue of characters, update the display at a fixed refresh interval, and let the lift task respond immediately to a sensor trigger. If the display uses a separate controller, share only the message data and a power ground; do not make the lift depend on a display refresh response.
Plan readable messages
Use a short status line for the normal clock and reserve longer scrolling messages for events such as synchronization or a jam warning. Test the actual font at the intended distance and with the room lights on. A display that is technically bright enough can still be unreadable when its bezel reflects light from the moving marbles.
What 3D-printing settings and printer requirements matter?
Print quality at the lift and track interfaces matters more than cosmetic surface detail. Adafruit lists 0.2–0.3 mm layer heights and 50–70 mm/s speeds as starting points for its related motorized marble run, with supports required for its motor bracket. Use those values as a calibration range, then tune for your printer and material.
Bed and lift-wheel preparation
The “Time Rolls On” description warns that the build plate must be level and recommends glass for a flat lift-wheel surface. A warped first layer can change pocket depth enough to make a ball scrape or escape. Re-level after moving the printer, and check the wheel face on a flat surface before installing the shaft.
Rank #4
- Powerful: The Arduino Nano V3.0 Board Microcontroller Built with ATmega328P and CH340 chips instead of FT232, Improved new version CH340G Replace FT232RL, making it ideal for beginners
- Seamless Compatibility: Fully compatible with Arduino Nano, supporting Arduino IDE, ISP programming and USB download. Works seamlessly with Windows, Mac, and Linux operating systems for a hassle-free experience.
- Versatile I/O & Compact Design: Features 14 digital I/O pins (6 PWM outputs), 6 analog inputs, a 16MHz quartz oscillator, USB-C power socket, ICSP port, and reset button. Its compact, breadboard-friendly design ensures easy handling and integration.
- Flexible Power Supply Options: Supports multiple power sources, including USB-C, 6-12V unregulated external power, or 5V regulated external power. The Nano board intelligently switches to the higher voltage source automatically—no jumper selection required.
- Excellent Communication Capabilities: Designed for seamless communication with PCs and arduino microcontrollers, the Nano board is fully compatible with multiple operating systems and offers stable and reliable performance for a variety of projects.
Calibration coupons
- Print a rail coupon to check the measured ball against the channel.
- Print a pocket strip with several depths and select the shallowest depth that retains the ball through the lift.
- Print a shaft and bearing test to check alignment before the full wheel.
- Print a sensor bracket with adjustable slots so the TCRT5000 can be moved by a few millimeters.
- Print the motor bracket with the support strategy used for the final material, then inspect the mounting holes for distortion.
Printer size and outsourcing
The documented ball-clock listing targets an Ender 3-class printer, but your largest frame panel may still exceed the available build volume. If a part does not fit, split it along a serviceable joint with alignment pins and fasteners. Adafruit notes that readers without a printer can use a 3D-printing service, library, or makerspace; outsourcing is preferable to shrinking the entire mechanism and changing its clearances.
What is the best assembly and calibration sequence?
Assemble from the interfaces outward so every failure has a visible cause.
Recommended Free Tools
- Prepare the frame. Install captive nuts or heat-set inserts in panels that will be removed for service. Confirm that the display opening and lift access covers can be reached after the clock is on a table.
- Install the track. Join the straight and curved sections loosely, place one measured ball at a time, and adjust the slope until it rolls without jumping.
- Fit the lift shaft and wheel or worm. Turn it by hand through a complete cycle. Correct shaft misalignment before connecting a motor.
- Set the hopper. Add the selected number of balls and verify that only one enters the pickup at a time. Open the cleanout if two balls try to occupy one pocket.
- Mount the motor and driver. Secure the bracket, provide ventilation around the driver, and keep motor leads separated from sensor wires.
- Install the sensor. Position the TCRT5000 at the gate, then observe several passes while adjusting its threshold or distance. Confirm that an empty gate returns to the clear state.
- Run the lift manually. Command one index at a time. Check capture, rotation, top release, and return routing before enabling automatic timing.
- Enable scheduling. Start with slow motion and generous delays. Add the clock time source, then test a long unattended run with the display disabled before combining both subsystems.
- Install and tune the display. Secure the matrix behind its bezel, measure supply voltage under peak animation, and verify that scrolling cannot delay the sensor or motor task.
What problems are most likely, and how do I fix them?
The ball stops on a straight rail
Check for first-layer swelling, a seam inside the channel, or a section that has sagged. Measure the printed width against the largest ball and reprint the coupon before sanding a long track. A slightly steeper transition may help, but increasing the slope can make a curve launch the ball.
Two balls enter one lift pocket
Narrow the hopper throat, add a second retaining stop, or change the pocket timing so the next ball cannot reach the pickup until the previous pocket is clear. Do not solve a double feed only in software; the geometry should physically prevent it.
The lift turns but drops balls
Inspect pocket depth, wheel flatness, and shaft alignment. A level bed and smooth, flat lift-wheel surface are important in the documented stepper design. Add a retaining wall or adjust the top guide so the ball remains captured until the release point.
The sensor triggers twice
Move the TCRT5000 to a fixed, repeatable distance, shield it from ambient light, and add software debounce plus a lockout until the gate is clear. Check that the sensor cable is not routed alongside motor leads.
The clock stalls when text is long
Separate display refresh from lift control. The motion task should use its own timer or state machine and should not wait for character rendering, scrolling delays, or a display acknowledgement.
Best Value
- Compact and Powerful – The Arduino Nano [A000005] is a small yet powerful microcontroller based on the ATmega328P, making it perfect for projects with limited space. Its compact design allows for easy integration into embedded systems, wearables, and portable applications without compromising performance.
- Versatile I/O Options – Equipped with 14 digital I/O pins, 8 analog inputs, and PWM support, the Nano enables precise control of components such as sensors, motors, and LEDs. This versatility makes it ideal for robotics, automation, and interactive projects requiring multiple inputs and outputs.
- Easy USB Connectivity – The built-in mini-USB port allows quick and hassle-free programming, as well as power supply without additional components. It simplifies prototyping and development, making it easy to upload sketches, communicate with the board, and integrate with other devices.
- Arduino IDE Compatibility – Fully compatible with the Arduino IDE, the Nano supports a vast library of pre-written code, examples, and community projects. This makes it accessible for beginners while offering advanced users the flexibility to develop custom applications with ease.
- Ideal for Prototyping & IoT – Perfect for makers, students, and engineers, the Arduino Nano is widely used in IoT applications, robotics, and embedded systems. Its small size and powerful features make it a great choice for prototyping, experimentation, and building compact, high-performance devices.
The mechanism is hard to service
Redesign the panels around the actual failure points: hopper, pickup, sensor, motor bracket, driver, and display. Captive nuts or heat-set inserts make repeated access practical, while a dedicated cleanout opening prevents a jam from becoming a complete teardown.
Which documented architecture should I choose?
Use the following decision table to select a starting point, then redesign the interfaces for your own ball diameter and frame.
| Priority | Suitable starting architecture | Why it fits | Trade-off to plan for |
|---|---|---|---|
| Network-synchronized time | Pico W with GeekServo and TCRT5000 | The Hour reference includes Wi-Fi/NTP synchronization and daylight-saving logic in software | Requires network setup and careful sensor-driven motion handling |
| Simple local control | Arduino Nano with NEMA 8, DRV8825 and 12 V supply | The documented lift-wheel clock provides a local controller and stepper bill of materials | Time synchronization is not provided by the basic arrangement |
| Narrow printed elevator | Worm-style lift | Adafruit documents a fully printed worm elevator for lifting ball bearings | Pocket and release geometry still need tuning for your measured ball |
| Large, visible text panel | Any of the above with a separate LED matrix module | Independent display hardware prevents scrolling from blocking the lift | Panel voltage, current, pixel pitch and firmware must be selected separately |
How should I maintain and operate the finished clock?
- Keep a measured spare set of balls; mixing diameters changes every clearance.
- Inspect the pickup and top release after a jam before restarting automatic mode.
- Check screw tightness and shaft alignment periodically, especially if the clock is moved.
- Keep the driver ventilated and do not enclose it against a warm display power supply.
- Disconnect power before reaching into the lift or removing a panel.
- Use the software’s sensor-clear condition and mechanical stop when recovering from a power interruption.
- Run a short manual cycle after maintenance, then a longer unattended test with the display enabled.
A marble clock is successful when the mechanical path, sensing logic, and display can each be serviced without disturbing the others. Fixing the ball diameter first and validating one interface at a time is faster than troubleshooting a full-size print.
Frequently Asked Questions
Can I mix glass marbles and steel balls in the same clock?
Do not mix them unless you redesign and recalibrate the entire path. Their diameters, masses and surface finishes change rail clearance, lift-pocket retention, sensor behavior and the energy available on a slope; select one measured batch and keep it with the build.
How do I recover the clock after a power outage?
Cut power, use the mechanical stop and cleanout access to remove any ball that is between pockets, then rotate or index the lift by hand until the pickup and top release are empty. Restart in single-step mode and let the passage sensor confirm a clear gate before returning to automatic timing.
Can the scrolling message share the motor’s power supply?
Only after you verify the display’s voltage and peak-current requirements and that the motor driver remains stable during acceleration. A separate regulator or supply rail is often easier to isolate; in every case, share a defined ground and keep display load changes from resetting the controller.
What should I print first if my printer has a small build volume?
Print the rail, curve, stop, pocket and sensor-bracket coupons first, then split large frame panels at serviceable joints with alignment features and fasteners. Do not scale the whole clock down until you have recalculated the ball and lift clearances.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

