OpenSlider

A phone-controlled motorized camera slider I built for my high school ICT final project, with a Flutter app, Arduino electronics and 3D-printed parts.

Juho Torkkeli

A phone running the OpenSlider control app, with arrow, rotate, position and record buttons, in front of a camera mounted on the slider.

Overview & background

For my final project in the ICT track at Kerttuli High School, I wanted a topic that was both interesting and technically challenging, and one that let me show a wide range of skills.

I had always wanted a camera slider that I could control from my phone and that could repeat the same movement many times. That became the project: a wireless, phone-controlled slider that needed everything from app development to 3D modeling and electronics.

Commercial camera sliders are often expensive or can’t be controlled from a phone. OpenSlider is an affordable, customizable alternative with app control and repeatable motion.


Development process

I built the app with Flutter, a cross-platform framework I already knew. The hardware is based on Arduino, which I had used before. For the link between the phone and the slider I chose Bluetooth: it suited the job, and Flutter had good packages for it.

The electronics took several iterations before they worked reliably. The mechanical frame also went through several versions to make it both compact and sturdy. A key mechanical challenge was a dual-slider mechanism that effectively doubles the travel distance, and it brought several engineering problems I had to solve.


Outcome

The result is a working motorized camera slider controlled from a phone app. In the app you set keyframes, and the camera moves between them. The app can also start video recording on the camera.

Watch the OpenSlider video on YouTube.


Next steps

  • Add support for timelapse photography.
  • Improve the UI and UX of the mobile app.

Technologies & tools

  • Dart / Flutter
  • Fusion 360 (3D modeling)
  • EasyEDA (PCB design)
  • PrusaSlicer (3D printing)
  • Arduino (microcontroller)