3D Printers Get a Fuel Gauge: Adding a Filament Scale to OctoPrint

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.

This is yet another excellent example of the incredible flexibility and customization offered by OctoPrint. If you’re looking for more reasons to make the switch, check out our guide on using OctoPrint to create impressive time lapse videos of your prints, or how you can control the printer from your mobile device.

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].