We love watching 3D prints magically grow, through the power of timelapse videos. These are easier to make than ever, due in no small part to a vibrant community that’s continuously refining tools such as Octolapse. Most people are using some camera they can connect to a Raspberry Pi, namely a USB webcam or CSI camera module. A DSLR would arguably take better pictures, but they can be difficult to control, and their high resolution images are tougher for the Pi to encode.
If you’re anything like us, you’ve got a box or drawer full of devices that can take nearly as high-quality images as a DSLR, some cast-off mobile phones. Oh, that pile of “solutions looking for a problem” may have just found one! [Matt@JemRise] sure has, and in the video after the break, you can see how not one but four mobile phones are put to work.
It seems a simple enough concept: as a 3D printer consumes filament, the spool becomes lighter. If you weighed an empty spool, and subtracted that from the weight of the in-use spool, you’d know how much filament you had left. Despite being an easy way to get a “fuel gauge” on a desktop 3D printer, it isn’t something we often see on DIY machines, much less consumer hardware. But with this slick hack from [Victor Noordhoek] as inspiration, it might become a bit more common.
He’s designed a simple filament holder which mounts on top of an HX711 load cell, which is in turn connected to the Raspberry Pi running OctoPrint over SPI. If you’re running OctoPrint on something like an old PC, you’ll need to use an intermediate device such as an Arduino to get it connected; though honestly you should probably just be using a Pi.
On the software side, [Victor] has written an OctoPrint plugin that adds a readout of current filament weight to the main display. He’s put a fair amount of polish into the plugin, going through the effort to add in a calibration routine and a field where you can enter in the weight of your empty spool so it can be automatically deducted from the HX711’s reading.
Hopefully a future version of the plugin will allow the user to enter in the density of their particular filament so it can calculate an estimate of the remaining length. The next logical step would be adding a check that will show the user a warning if they try to start a print that requires more filament than the sensor detects is currently loaded.
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].