3D Printer Time Lapse Videos Ditch The Blur

Example output of Octolapse with the print head absent from the images.

Most time-lapse videos of 3D prints show a steadily growing print with a crazy blur of machine movement everywhere else. This is because an image is captured at a regular time interval, regardless of what’s physically going on with the machine. But what if images were captured at consistent machine positions instead? [FormerLurker]’s Octolapse plugin for OctoPrint came out of beta recently and does exactly that, and the results are striking. Because OctoPrint knows where a 3D printer’s print head is at all times, it’s possible for a plugin to use this information to create time-lapse videos where the print head position is consistent instead of a crazy blur, or even have the print head absent from the shot altogether.

[FormerLurker] had originally created stabilized time lapses by hand editing G-code, which had great results but was inefficient and time-consuming. This plugin is the result of his work at automating and enhancing the process, and is also his first serious open source programming project. We’ve covered upgrading a 3D printer with OctoPrint before, and the plugins functionality of OctoPrint means features can be added independently from the core system, which itself largely remains a one-woman effort by creator and maintainer [Gina Häußge].


29 thoughts on “3D Printer Time Lapse Videos Ditch The Blur

      1. Could also take video of the entire process then post process frames that lack the head but this seems a bit easier and more practical given you already know when the head is out of frame and can simply take the photo then.

    1. First generation didn’t bother with synchronizing, they just added a steel wedge to the propeller so it wouldn’t break. Unfortunately the main bearing wore out much faster instead (just to add insuly to injury since the pilot already had to endure a spray of laxative trying to keep it lubricated).

  1. This could be done without changing the gcode (and thus print time or thermal properties) by just taking the photo when the head is nearest the xy origin on each layer. This would give a nice “deposition” effect as the object seems to come out of the nozzle fully formed.

    1. It’s possible to do something similar with Octolapse, though it doesn’t have a built-in gcode pre-processor at the moment. However, it does have a ‘gcode trigger’ that allows you to insert a special code that triggers a snapshot. One could insert the gcode into the slicer’s layer change script. I’m guessing that some slicers at least would be able to align the seams similarly to the way you describe. Also, the stabilization can be turned off per axis, as well as the z-lift and/or retract, which would (not exactly) mimic the behavior you are suggesting.

      However, a perfect implementation would need a preprocessor of some kind so that each snapshot point could be determined ahead of time. Currently Octolapse consumes a line-by-line stream of gcode right before it is sent to the printer, limiting its ability to gain information about the layers, like min-x min-y, etc. This would be a great enhancement, and would allow a ton of other new features.

          1. @FormerLurker: Isn’t it possible to have one single pin trigger on OctoPrint? Because then all you’d need is an optoisolator and a trigger wire to the camera to fire a Canon.

          2. @Phrewfuf, It’s not possible from Octolapse yet, but it might be possible in conjunction with some other plugins (Gcode System Commands plugin comes to mind). At some point GPIO support for OctoPi will be added. I thihnk it could be useful for other things too, like lighting control. I think one could also probably write a bash script to trigger USB IR emitter, though it would probably take some effort to make that work.

  2. If the build platform is stationary, you could also use an ND filter and a very long exposure time like every 30 seconds. The flurry of the print head whizzing to and fro may look nice too, like a ghost laying the layers one by one :)

  3. My wife has an older Canon T1i. You can trigger it remotely. I found this page take talks about the interface to the Canon and I think to many other cameras. I like to hack with stuff I have, using this I could have an arduino listen for the pulse on the Z drive and snap a picture using the arduino and relay. That would be cheap and easy and fun to try out.

    What is a good way to take all the pics and make a movie from them?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.