Smooth Moves: Making a Working Camera Slider With LEGO

A smooth-moving camera slider can add a professional touch to your videos and brickfilms, creating dynamic shots with ease. In this article, I’ll show you how I built a fully functional camera slider for a smartphone only using LEGO.

It’s a simple yet effective solution for adding cinematic movement to your footage. So as we wrap up Engineers’ Week, I’ll even provide some guidance on how to build it yourself.


Better a Good Copy Than a Bad Original

Before starting a project, I always like to research how other engineers have tackled similar challenges, especially when working with LEGO. With experience on film sets, I’ve seen a wide range of camera sliders in action. For this project, I specifically looked into three-axis motion-controlled sliders to understand their design and functionality.

Professional three-axis camera sliders are designed to perform three out of six fundamental camera movements. Every high-end slider includes pan and tilt controls, along with some form of linear motion—such as dolly, truck, or pedestal—to enhance shot composition.

Familiarizing yourself with these movements will provide a clearer understanding when they are referenced later in this article:

  • Pan – Rotating the camera left or right on a fixed axis.

  • Tilt – Angling the camera up or down.

  • Dolly – Moving the camera forward or backward in a straight line.

  • Truck – Shifting the camera left or right without changing its angle.

  • Pedestal – Raising or lowering the entire camera setup.

Image by Rasmus Brønnum

Professional motorized camera sliders with motion control typically cost between $500 and $2,000, depending on weight capacity and the number of axes you want to control. My goal was to create a camera slider that met the following criteria:

  • Budget-friendly alternative with three-axis control (Pan, Tilt, Truck).

  • Remote operation from a tripod head.

  • The ability to flip the slider upside down for overhead shots.

I also chose to build it mostly from black LEGO parts to minimize reflections, ensuring that no unwanted color tints appear in filmed footage.

Of course, professional sliders are built for high-end cameras and come with advanced features like timelapse recording and precise speed and position control. While these are great functionalities, I haven’t implemented most of them—after all, we’re still working with LEGO.


Smartphone or Camera?

About a year ago, I built a motorized camera slider for my Sony A6300. While this camera isn’t as heavy as a full-frame setup with large lenses, it still required precise positional control. However, programming it was a hassle, and the weight of the system made smooth movement difficult. The tracks needed constant support—without it, they risked breaking apart under the strain.

It worked well, and I was really happy with the results! You can see it in action in this video about my soccer shooter that I made a year ago!

Last summer, I got the iPhone 15 Pro, which offers impressive video recording straight out of the box, including Apple ProRAW. If you’re not a camera nerd like me, that basically means you get more image data, giving you greater control in post-production. The trade-off? Large file sizes.

With smartphone cameras becoming increasingly advanced, I decided to redesign my camera slider specifically for phones. This not only makes it lighter and smoother but also ensures it’s more accessible for readers who want to build their own version without needing heavy, professional camera gear.


Motion on a Sturdy Track

Creating a reliable camera slider requires a strong and stable base, and sturdy guide rails are essential for achieving smooth movement. To ensure maximum rigidity, I combined LEGO Technic elements with SNOT (Studs Not On Top) techniques, reinforcing the structure in all directions. This approach minimizes track deviation, providing a stable and precise truck motion as the camera moves side to side along the slider.

See trough view of the track

Additionally, I opted to use the new wormscrew part instead of traditional gear racks. In previous designs, gear racks introduced minor bumps that affected the smoothness of the camera’s movement. By integrating the wormscrew, I was able to achieve a more consistent and fluid motion, enhancing the overall performance of the slider.

To achieve the smoothest possible camera movement on the slider, minimizing vertical clearance is essential. Any up-and-down play in the system can introduce instability, so the design must ensure a snug yet frictionless fit.

Contact points between the slider and the track

The wheels also play a crucial role in reducing friction. They need to roll smoothly over the track to prevent unnecessary resistance, ensuring that the motor can drive the sliding motion efficiently. Additionally, for the slider to function upside down, it must be supported from both above and below, maintaining stability in any orientation.

To prevent lateral movement (which is unwanted), I incorporated 2x2 round bricks and plates inside the track. These components keep the slider securely in place, ensuring consistent support on all sides and allowing for precise, controlled motion.

I also added gears ranging from 8 to 40 teeth, implementing a 5:1 reduction to ensure the motor enables slower truck movement.


Perfecting the Pan Movement with LEGO Technic

When building my first camera slider, achieving smooth pan movement was one of the biggest challenges. Using a standard LEGO Technic turntable wasn’t ideal—especially for heavier setups—as it didn’t provide the necessary stability or smoothness.

To solve this, I incorporated the Gear Rack 6 x 6 curved piece, introduced in the UCS AT-AT set. This part has a unique groove that allows 1x1 round tiles to function as ball bearings, significantly improving the smoothness of the pan motion. Additionally, I added two gears to drive the gear rack, ensuring an even more stable and controlled pan movement.

Gear rack 6×6 with the 1×1 round tiles inserted

However, there was a downside—if the slider was flipped upside down, the 1x1 round tiles would fall out. To prevent this, I had to come up with a solution that would keep the turntable secure while maintaining smooth rotation. I used 1L tow balls to lock the assembly in place. This ensured the correct height while minimizing additional friction, keeping the pan movement both stable and fluid in any orientation.

Additionally, I added gears here for smooth pan movement. First, the motor has the same 8-to-40 gear reduction, providing a 5:1 ratio. It also includes a 12-to-60 gear, which results in another 5:1 reduction. When combined, these reductions create a total gear reduction of 25:1, significantly slowing down the motor for precise and controlled panning movement.


Smooth Tilts, Turntables, Gear Ratios, and Beating Motor Stutter

The tilt mechanism was by far the easiest to figure out, with the only real challenge being the choice of the right turntable. In my experience, the older Technic turntable with 56 teeth provides smoother rotation, especially when subjected to a sideways load, compared to the newer 60-tooth turntables. I encountered this issue when designing the first version of my slider, so choosing the 56-tooth turntable was a no-brainer for me.

gearing of the tilt mechanism

Aside from building a cage where the phone could be mounted using rubber parts and an elastic band to keep it securely in place, the only remaining task was choosing the right gear ratio. I opted for a 35:1 ratio, significantly reducing the motor speed for smoother tilt movement. From my experience, in the types of shots I create, I don’t tilt as frequently as I pan. To ensure the motor runs smoothly without stuttering, I decided on a higher gear ratio for the tilt axis compared to the others.

rubber parts holding the phone in place

Motor stuttering occurs when the speed sent to the motors is too low, causing inconsistent movement. In the current design, this isn’t a major issue, but it could become problematic later when I implement a new feature: the ability to record and playback movements.

For this functionality, it’s crucial that the motors run smoothly without stuttering, as any instability would introduce unwanted shake in the final image. The stuttering happens because, at very low speeds, stepper motors can struggle with insufficient microstepping or resonance issues. If the stepper driver doesn’t receive enough pulses per second, the motor may not transition smoothly between steps, leading to noticeable jerks in movement. Additionally, low-speed resonance can cause the motor to vibrate instead of moving fluidly.


Implementing It All With Pybricks

Block programming in pybricks and python code in pybricks

If you’ve never heard of Pybricks, it’s a fantastic open-source platform that lets you program LEGO Powered Up hubs using Python. Unlike the official LEGO apps, Pybricks runs code directly on the hub, so you don’t need to stay connected to a phone or computer. It supports wireless Bluetooth communication, allowing multiple hubs to work together and enabling advanced features like remote control, automation, and real-time data sharing. These capabilities made it the perfect choice for the slider I wanted to use, so using Pybricks was an obvious decision. If you’d like to learn more, Ronald Vallenduuk has written an excellent article on the topic!

Since I have two hubs working together to enable remote operation, each plays a specific role. The first hub is mounted on the tripod head, responsible for gathering motion data and sending to the slider. The second hub is placed on the slider itself, reading out the motion data converting it and providing power to the motors.

I won’t go into the code in full detail, but I’d like to highlight some of the most important aspects.

TRIPOD MOUNTED lego TECHNIC HUB

The script for the tripod turns a LEGO Technic Hub into a motion-tracking system that controls a motor, reads movement data, and broadcasts it over Bluetooth in real time.

At its core, the system relies on an IMU (Inertial Measurement Unit)—a sensor that tracks motion, orientation, and acceleration using a combination of a gyroscope and accelerometer. This allows the hub to precisely measure tilt and pan rotation, ensuring smooth and accurate movement control.

Technic hub mounted on tripod with attachment to control the truck movement

When the program starts, the hub powers up, turning its LED green. The motor then calibrates itself by running until it stalls, resetting its angle to 90 degrees to ensure a consistent starting position every time. Once everything is set, the script runs in a loop, constantly checking the IMU for movement data. At the same time, it tracks the motor’s angle to calculate slider speed, keeping movement fluid and controlled.

The processed data is then sent wirelessly over Bluetooth and printed for debugging. A short 100ms delay keeps updates frequent without overwhelming the system.

I have created a studio file for this tripod mount linked to below. Keep in mind that every tripod has its own method of mounting a camera. If you plan to build this slider, you may need to design a custom solution for attaching the hub to your tripod.

Slider mounted LEGO technic hub

This script transforms a LEGO Technic Hub into a fully responsive motion control system, seamlessly adjusting panning, tilting, and sliding in real time based on incoming Bluetooth data.

As soon as the hub powers on, it quietly prepares itself. The default stop button is disabled, ensuring uninterrupted operation, and the hub’s LED remains off until it receives a signal. The three motors—slide, pan, and tilt—each wake up, stretch their limits, and reset their positions, making sure they start from a reliable reference point. The slide motor even runs until it stalls, feeling out its boundaries before settling into place.

technic hub mounted on the slider

With everything calibrated, the system enters its continuous loop, waiting for incoming movement data. If no signal arrives, the hub’s LED turns red, signaling a connection issue. But as soon as data comes through, the LED flashes green, and the real magic begins. The tilt and pan motors smoothly adjust their positions, while the slide motor shifts speed dynamically—but only if it stays within its movement range.

At any moment, if the hub’s buttons are pressed, everything comes to a controlled halt. The motors return to their starting positions, and the hub powers down gracefully, ready for its next session.


Starting Up the Slider

Starting the slider from the same reference point every time is crucial. When the slider powers off, it will always return to that exact starting position, ensuring consistency in movement.

To make this work smoothly, it’s important that the startup process happens with the pins inserted, as shown in the picture. These pins help the system establish its zero point. However, once the hub is powered on, the pins should be removed, allowing the slider to move freely without restrictions. This simple step ensures precise and repeatable motion every time the system starts up.

Inserting technic connectors to get the right reference points

Once the pins are removed, start by turning on the hub on the slider. This ensures the system initializes correctly. Next, check that the hub on the tripod head is level in the tilt direction. This helps maintain smooth and accurate movement during operation.

Once that’s set, turn on the tripod hub. It will go through its calibration process first, finding its reference point. After calibration, make sure the slider’s movement is set to zero, preventing it from bumping into itself when it starts moving. Following these steps ensures everything runs smoothly and avoids unnecessary strain on the system.


Roll Camera!

That’s it—you’re all set to start capturing your shots!

I like using AirPlay to mirror my iPhone’s screen to a MacBook or I’ll cast it to a TV for a bigger view while filming. It makes framing and adjustments much easier. The slider might have a few small bumps, but modern smartphones have great stabilization, so most of those imperfections get smoothed out automatically.

Here are some shots I captured using my brick-built camera slider:


Build It Yourself

I had a blast making this slider! I’ve also made a digital version in Studio, so if you’ve ever wanted your own camera slider for filming LEGO, now’s your chance!

Here are links to everything you will need:

I might add some features to the code later and try to improve some latency issues and mechanical issues so it runs smoother, so I’ll keep the GitHub updated. If you’ve got any suggestions, let me know—I might be able to add them to the build or the code!


What other problems have you solved with LEGO? Let us know in the comments below!

Do you want to help BrickNerd continue publishing articles like this one? Become a top patron like Marc & Liz Puleo, Paige Mueller, Rob Klingberg from Brickstuff, John & Joshua Hanlon from Beyond the Brick, Megan Lum, Andy Price, Lukas Kurth from StoneWars, Wayne Tyler, Dan Church, and Roxanne Baxter to show your support, get early access, exclusive swag and more.