The 3D Printer Distraction

Building a Voron 2.4, a community designed, high performance 3D printer

My usual tinkering and project backlog has been set aside for the past few months. Instead, my attention was diverted to the assembly of a Voron 2.4. It is the third 3D printer I’ve owned, and I find myself reflecting on how things have progressed, and how much of that progress has been driven by hobbyists and the open source community.

My Printer

My printer is a mostly stock 300 mm Voron 2.4 R2 built from a kit purchased from Siboor.

The "completed" Voron 2.4 printer sitting in the corner of my apartment

I splurged on some options, and ended up with the configuration below.

Assembly

It took around 40 hours for the full build, configuration and tuning to the point of printing a decent 3DBenchy. Things generally went smoothly, and I took my time ensuring everything was well put together. There were a few mistakes, a lot of wasted time trying to find the correct parts in the kit and some backtracking after assembling the wrong things.

Throughout the build, I took photos when I could. They’re curated into the gallery below, which tells a nice story of the assembly process.

Current Landscape

For the uninitiated, Voron Design is a group of engineers designing, prototyping, testing, documenting and supporting high end hobbyist 3D printers. As of today, their designs are some of the fastest, highest quality, most reliable printers in their price range. Commercially, only Bambu Lab is making printers of equal calibre.

If you plan on going down the Voron pathway, be aware that you need to invest a lot of time building and tuning your printer. You’ll learn a lot doing it, but you’ll end up with an infinitely moddable and upgradeable platform. If you’d like a printer that just works and prints things, stick with a known good commercial offering.

Advancements

Since the last printer I owned (a TEVO Little Monster I purchased in 2017), 3D printer mechanics, electronics, firmware and software have advanced significantly.

CoreXY

Although CoreXY printers have been around for some time, the mechanics have slowly been tuned and the architecture has found it’s way into most high speed FDM printers. The design is perfect for 3D printing which requires lightweight and stiff mechanics that don’t experience any significant loads.

The design itself consists of a print head running on linear rails along a gantry, which itself is running along linear rails in the orthogonal direction. Two cleverly routed timing belt loops wrap around motors mounted in each corner.

An overview of the Voron 2.4 CoreXY belt and drive layout

This design has two major benefits:

  1. The two motors needed to drive the print head are stationary (in the x-y plane). This is in contrast to traditional cartesian printers where one of the motors is required to be moved along with the gantry.
  2. For linear motion in the x and y directions, two motors are driven in parallel. This allows for faster acceleration in these two directions.

3D Printer Motherboards

Electronics for 3D printers has become easy, with motherboards providing sensible interfaces to all of the types of transducers used in a 3D printer:

This greatly simplifies wiring and general electronics architecture, all while allowing for excellent extensibility for a tinkerer. A single power supply, a motherboard, an embedded computer and a solid state relay form the core of the electronics in a modern 3D printer.

Klipper

Klipper has changed how motion control works in hobbyist and prosumer 3D printing. Traditional printer firmware runs on a microcontroller, and is responsible for processing G-code and turning it into step/direction pulses for the motor drivers. These microcontrollers have limited processing power and can struggle to calculate complex motion profiles and deal with highly segmented G-code. Functionality such as S-curve acceleration or extruder pressure advance are challenging to implement.

Motion control in most 3D printers is open-loop. This means there is no feedback from the motors to the controller. The controller sends each step pulse and simply hopes that the mechanics will keep up. Klipper exploits this fact by precalculating the motion profiles and corresponding step/direction pulse timing on a more powerful computer. The resulting pulse schedule is streamed to the printer’s microcontroller for execution.

Powerful hardware and the abstractions of a high level programming language (Python) allow Klipper to use more sophisticated algorithms to shape acceleration and velocity profiles, as well as compensate for mechanical inaccuracies. Optimisation for specific printers can be done by running system characterisation tests and feeding the information back into Klipper.

Klipper can compensate for:

Of course, it’s best to limit these issues as far as possible during the design and build phase, but it is amazing how much Klipper can do to improve print performance and accuracy.

Upgrades

Since building the printer, there has been a constant stream of upgrades applied to it. These include:

Upgrades and customisation were one of the major reasons for choosing a Voron Design printer. The base design is solid, but the surrounding community is constantly improving on it. Its open nature means I can rebuild, tweak and improve on this impressive foundation while still using it as a workhorse printer with great print quality and impressive performance.