Skip to main content


Showing posts from 2018

Computing Junction Deviation for Marlin Firmware

As part of developing my own 3D printer firmware, I also keep an eye on what is happening in other firmware.  One feature that is causing confusion in the Marlin community is the junction deviation setting.  Up until recently, Marlin used the jerk method (hence forth referred to as "archaic jerk") it inherited from Grbl for computing corning speed (junction velocity).  With the option now in Marlin to use junction deviation instead of jerk, there are many people who want to know what are good settings for junction deviation to insure they get reasonable movement while printing.  In this post I will give an equation for converting the jerk values into junction deviation and my derivation of this equation.

Extruder Velocity Advance

Extruder velocity advance  (EVA) has been implemented in all major 3D print fimwares (everyone has their own name for it).  It is intended to increase extrude width accuracy and reduce extruder ooze after extrusion ends.  Here's my overly simplified explaination of what it does, how it is useful and its challenges.

Extra Smooth Moves

In an effort to provide a no compromises motion controller, one major milestone is converting the trajectory planner and motion control from constant acceleration to minimum jerk.  For simplicities sake, the original Kynetic motion controller was done as constant acceleration.  I have now completed the work to make it use the much smoother minimum jerk algorithm.

Introduction to Kynetic CNC

This project started as a result of the the wildly successful Teensy 3.5/3.6 kickstarter.  At the time I was amazed by the specifications of these microcontrollers and thought, "With all of that processing power, could I create from the ground up a completely new 32bit 3D print engine that would improve upon the capabilities of the current 8 bit printer controllers?"  Soon after that, I started making notes about how I would do motion control if not limited by the power of the processor.
  After two years of part time work on this project (I have a full time job and full time family),  I'm now ready to discuss the details and where it is going.