It was an impulse purchase. I didn’t have a particular need for the High-Quality Raspberry Pi Camera, but the link was there, teasing, in the shiny newsletter. A click later, the order was on its way. All I had to do, is to figure out fun ways to use the kit. I have a perfectly capable (and more budget-friendly) e-Con Systems camera (review) for my Ender 3 (review) running Octoprint, but who doesn’t want to make awesome Octolapses with Raspberry Pi HQ camera?
Raspberry Pi HQ Camera
Truth be told, this isn’t a budget kit. Unlike the low-fi Raspberry Pi camera, the HQ version comes with a proper lens mount, a choice of lenses, and a massive 12MP Sony IMX477R sensor. The HQ Camera module alone will set you back £49 in the UK, and to make it usable you have to pick one of the lenses: £25 6mm wide-angle or £49.50 16mm telephoto version. Guess who got suckered into getting both? You guessed it, my Patreon supporters (you are so lovely!).
The Raspberry Pi HQ Camera is really nice. It’s well made, lenses are pretty heavy and impressive in size. One of the instant problems is: there aren’t that many enclosures for this. Thankfully, the sensor module comes with 1/4″ screw mount – the same one used on most of the photographic equipment. I have plenty of tripods laying around.
I have no regrets, making time-lapses is not the only idea I have for this kit, so watch this space for more info.
Octolapsing with Raspberry Pi HQ Camera
Adding a Raspberry Pi to a 3D printer is probably one of the better upgrades you can do. An OctoPrint server will manage the print and provide you with web access to manage printers online. It will also support Raspberry Pi & and USB cameras.
The timelapse support is already baked into OctoPrint, but to get stunning time-lapses you’ll need the Octolapse plugin. This add-on will enable custom options and add one very important feature: the ability to move the print head out of the way, and set the bed in a fixed position. You need this for the spectacular time-lapses, otherwise, your videos will look like garbage thanks to the printhead being in the way 90% of the time.
To enable “high-quality” time-lapses, you will need to edit /boot/octoprint.txt file. First, make sure the camera is set to
raspi, the auto option wasn’t changing the resolution.
# Available options are: # - auto: tries first usb webcam, if that's not available tries raspi cam # - usb: only tries usb webcam # - raspi: only tries raspi cam camera="raspi"
Then disable the USB camera by commenting it out
#camera_usb_options="-r 1920x1080 -f 10"
and enable the Raspberry Pi camera with a custom resolution
camera_raspi_options="-x 1920 -y 1080 -fps 10"
Ctrl+X to save
Y to confirm and
sudo reboot to apply the new settings. Now your renders are in FHD.
The best settings will depend on the print. For something like “benchy”, I found that taking a picture every layer works best, and moving gantry to the right to take a snapshot is sufficient. Feel free to experiment. Octolapse comes with a test option, where you can run the virtual print without extruding any filament. It’s great for testing the light and print head position.
Note that using Octolapse will increase the print times.
Octolapsing with Raspberry Pi HQ camera is pretty much straight forward. Depending on the setup, you may need a longer ribbon to connect it. I used this 1m off Amazon to connect mine. The lens is heavy, therefore I used a microphone stand to support and position it right.
Lastly, I set up two Novostella Floodlights (review) to provide consistent lighting throughout all tests.
6 mm wide angle (£25)
This lens is best for bigger prints. It can cover most of the print volume without being moved far back. It lacks refined controls like depth of field but with clever positioning and good light set up – the results are impressive.
I kept the lens about 20 cm away from the centre of the bed, elevated and pointing slightly down. This angle gives a glimpse of the print structure, revealing infill patterns and bringing up the 3D structure of the print.
16 mm telephoto (£49.50)
This is where the real fun starts with Octolapsing with Raspberry Pi HQ Camera. The lens comes with adjustable focus & aperture rings. With a careful control and a prop placed in the centre of the bed, I was able to set a razor sharp focus with a focal range enveloping the entire print while keeping the background nice and soft.
Since my lens is in the fixed position and does not travel up with the gantry, I need to make sure the the frame will catch entire print. If you are printing something more advanced than “benchy”, you will need to move the Raspberry Pi HQ Camera quite far back to achieve this.
I cranked the brightness of my lights up, so I could increase the aperture value without dimming the video too much. The lens was about a foot away from the centre of the bed.
Could be more
By this point, you probably noticed that we are shooting FHD time-lapses with a 12MP sensor capable of 4056 x 3040 resolution. Octolapsing with Raspberry Pi HQ camera is fun, but we are limited to 1920×1080. This means that the 12MP sensor module is overkill. To achieve FHD you only need a 2MP sensor.
To provide the evidence of that, I hooked up a 1080p capable webcam – Logitech C920 via USB and updated the
octoprint.txt file. It’s a quality camera with a native FHD resolution which costs about as much as the Raspberry Pi HQ camera module and the 6mm lens. You can see the results in the video:
The strongest side of this setup is the lens. A high-quality glass lens lets the light in with low refraction and artifacts, taking advantage of every pixel available. The ability to control the depth of field and fine-tuning the focus are a must if you want to create stunning time-lapses. But the FHD resolution of the plugin is limiting.
You could write a simple python script to take a picture every layer change and use the Octolapse plugin as a trigger. That way, each shot would be taken at max resolution, and you could stitch it up in post.
Is it worth getting the Raspberry Pi HQ camera for Octolapse alone? Probably not. The plugin is not capable of taking full advantage of the sensor in the current state, perhaps this will change in the future. But if you already have the kit at hand, give it a go. Showcasing the printing process is as satisfying as taking the final picture of the completed print. Got any thoughts? Leave it in this Reddit thread.