We’re often asked how to make great looking time-lapses with a digital camera and our Original Prusa i3 3D printers. While OctoLapse is a good solution for some users, we’re using something a bit more special – a custom-made remote trigger, which is controlled by the Einsy RAMBo board. It’s not too difficult to make one and we’ll show you how to get started. However, if you would like something simpler and solder-free, wait until next week – we will show you how to make a Bluetooth shutter compatible with pretty much all modern smartphones.


A bit of theory

To record a timelapse of a print, a couple of things are needed:

  • Original Prusa i3 MK3/S or MK2S / 2.5 / 2.5S 3D printer
  • A digital camera with a port for a remote trigger (power adapter recommended)
  • Video editing software
  • Custom-made cable (see below)

Our solution has some pretty good features: the cable can be made with just a few basic (and cheap) components, so it can be tailor-made to suit your setup perfectly. We’re using custom G-code to move the extruder aside and push the print bed all the way forward to have those clean, nice-looking shots. The cable is essentially a remote camera trigger, which is controlled by activating a pin on the Einsy / mini RAMBo. There’s one downside: remote shutters differ based on the camera manufacturer, so every cable will be slightly different depending on the camera model. The main difference is usually the connector, the way how the wires are connected and the voltages for the focus and shutter functions.

Some cameras have proprietary connectors, which usually means that you need to buy a pre-made remote trigger, disassemble it and modify it.

We’re using Panasonic Lumix digital cameras, so the sample cable described in this article is meant to be used with a Lumix camera. However, you can find a comprehensive list of popular camera brands at www.doc-diy.net along with diagrams depicting the parts required for making these cables. The way it works is pretty basic: three wires are all you need – ground, focus, and shutter. Once you connect the focus or shutter wire to the ground, the camera will perform the required action.

How a Lumix remote shutter works (by Doc-diy.net)

Making a cable for a Lumix camera

All cables will have two input wires: +5V and ground. We’re using a Toshiba TLP621 transistor as a switch to activate a separate trigger circuit, and an LED to check whether there’s power on the input pin. The “U2” part on the right is actually a 4-segment 2.5mm jack that will be plugged into the camera. The complete diagram is below:

If you decide to solder your own cable for a different type of camera, the parts to the right from the TLP621 will be different (namely R3, R4, R5, and U2).

Here’s a complete list of all required parts for Lumix cameras:

  • 2x jumper wire with a male connector – for MK3/S
  • 2x jumper wire with a female connector – for MK2.5/S
  • 2x 68k resistor
  • 1x 2.2k resistor
  • 1x 470 resistor
  • 1x 1k resistor
  • 1x LED
  • 1x Toshiba TLP621 or another optocoupler with the same parameters
  • 1x cable with a 2.5mm 4-segment jack (we recommend buying a 2.5mm jack with a cable already soldered to it for easier setup)

The total price for the needed parts is roughly 5-7 USD, but the overall price will be a bit higher since many of the parts can be bought only in larger quantities. You can even buy pretty good sets of various types of that part, so you have some extra stuff for future projects. 🙂

Connecting the cable to the MK3/S

We have designed the cable to fit the Raspberry Pi W Zero port on the Einsy RAMBo motherboard. As long as you are not using the RasPi, the port is free (and if you have a RasPi Zero, you are most likely going to use the OctoLapse plugin anyway).

There are two ways how to connect the wires to the RasPi port – either from inside the case or from the back. The choice is yours. We found it to be a bit easier to remove the back door from the case and connect the wires from the back. Just remember to do this when the printer is turned off!

Please refer to the illustrations below to learn how to connect the wires correctly

It’s always better to test the cable before you connect it to the camera. Simply run the modified G-code without the camera connected – the blinking LED will tell you whether the connections work.

Connecting the cable to MK2S / 2.5 / 2.5S

As described in the previous chapter, our solution is designed to work with the MK3/S primarily, since the cable is connected to the Raspberry Pi port, which is not present on older Mini RAMBo motherboards. With a very limited selection of pins, the easiest option is to disconnect the filament sensor and plug the timelapse cable in its place – see the illustration below.

Remember that you will need to use the latest MK2.5 firmware for the M42 Gcode to work!

This also means that the cable is connected to a different pin than in the case of MK3/S – it’s P20 instead of P73, so the G-code you’ll find in the next chapter needs to be modified. We’ll show you how.

Preparing the G-code

The best way how to create fluid timelapse is to take a picture after each layer. This is done by adding a piece of custom code to every layer change. Slic3r PE can do this for you.

The code we’re talking about is this (for MK3/S):

G1 X5 Y205 F{travel_speed*60} ;Move away from the print
G4 S0 ;Wait for move to finish
G4 P500 ;Wait for 500ms
M42 S255 P73 ;Trigger
G4 P200 ;Wait for 200ms
M42 S0 P73 ;Untrigger
G4 P500 ;Wait for 500ms


In case you have an MK2.5/S, you need to change the pin number to P20:

G1 X5 Y205 F{travel_speed*60} ;Move away from the print
G4 S0 ;Wait for move to finish
G4 P500 ;Wait for 500ms
M42 S255 P20 ;Trigger
G4 P200 ;Wait for 200ms
M42 S0 P20 ;Untrigger
G4 P500 ;Wait for 500ms

Let’s take a look at each step:

G1 X5 Y205 F{travel_speed*60} – this code tells the extruder to move all the way to the side and the print bed to move all the way forward

G4 S0 – waits until these moves are finished

G4 P500 – wait 500 milliseconds

M42 S255 P73 – M42 G-code activates pin 73 (P73) with 5V. S0 = 0V, S255 = 5V. Since we’re using fixed (manual) focus, we don’t need to worry about focusing the camera first

G4 P200 – wait 200 milliseconds

M42 S0 P73 – disabling (S0) pin 73, aka “untrigger”

G4 P500 – wait 500 milliseconds

After these actions are performed, the printer returns the extruder and print bed back to the original position and continues the print. This procedure won’t affect the look of the model in any way.

Adding custom G-code is easy. Open Slic3r PE, go to the “Printer Settings” tab and look for “Custom G-Code” section. Add the code above into the “After layer change G-code” textbox and save the profile as something easy to remember – e.g. Original Prusa i3 MK3S Timelapse. It’s advised to save this as a new printer profile, because when you slice an object with these settings, it will always perform the “move to the side” action after each layer, no matter whether a camera is connected or not. This, of course, makes the printing times noticeably longer.

Once you have the custom G-code implemented, you can slice the object as usual – you can choose any layer height or material.

Keep in mind that printing objects with the timelapse mode on will extend the print time noticeably.

Setting up the camera and preparation of the timelapse

To make a good looking timelapse video means first and foremost to ensure stable lighting conditions in the environment. If you have the printer located in a room where there’s a lot of sunlight and the lighting conditions change during the day (and people are often using light switches at night), the timelapse video will be extremely inconsistent.

A good solution is to place the printer in a dedicated room with minimum “traffic”. Sunblinds on a window are recommended. Set up artificial lights, so the 3D printer is nicely lit – we are regularly using “arch lamps” such as this one: https://www.thingiverse.com/thing:3469190 It’s easy to print and it creates some really good lighting conditions. And by the way, if you want to learn more about 3D printing and LED lights, check out our previous article!

Mount your digital camera on a tripod, change the focus mode to manual and push the print bed all the way forward – this will be the position where the printer will move the print bed during timelapse videos. Don’t zoom all the way in – you can easily do that in post-production.

Set up the camera and get it ready for shooting single photos (not a video). Keep in mind that longer prints can take many hours to complete, so using a power adapter is a good option. Otherwise, you may run out of batteries before the print finishes.

Turning photos into a timelapse

There’s a number of ways how to turn hundreds or even thousands of pictures into smooth videos. Most of them require a professional video editing software (such as Adobe Premiere Pro or DaVinci Resolve) and you can find plenty of tutorials for these programs online.

However, there’s a nice little app available for Windows directly on Microsoft Store. It’s called Time Lapse Creator, it has a simple interface and it’s completely free.

Time Lapse Creator is free and has an easy-to-use interface

Basically, all you need to do is to click the Select Photos Folder button and point the app to the folder where the timelapse photos are stored. The length of the video is controlled by the number in the TimeSpan (ms) field – the number tells the app how long a single image should be displayed. Lower numbers will lead to faster speeds. Once you’re happy with the result, press the Save Video button to save the video as an MP4 file.

Other solutions

Using a DSLR camera and a custom-made cable turned out to be our favorite way of capturing timelapse prints. However, we understand that some users don’t have a digital camera, or don’t know how to solder. In our next article, we will show you some other solutions on how to create a print timelapse – with a regular smartphone and no soldering whatsoever. Stay tuned and don’t forget to share your timelapses on social media. Also, check out our Weekly Prints page where we publish new timelapse videos every week!