Klipper firmware/software combination

Code hacking talk

Klipper firmware/software combination

Postby aerogeek » 2017-Dec-Fri-07-Dec

Hi All, has anyone tried the klipper firmware on the printrbot board rev D or any of the printrbot boards? https://github.com/KevinOConnor/klipper

What is your experience of it?
  • 0

aerogeek
I'm an end stop.
 
Posts: 62
Joined: 2013-Jan-Sat-14-Jan
Reputation: 0

Klipper firmware/software combination

Sponsor

Sponsor
 

Re: Klipper firmware/software combination

Postby RetireeJay » 2017-Dec-Fri-09-Dec

Looking at the description, it appears that implementing Klipper will require you to be rather expert in both hardware and software, because it's generic (written for many different hardware platforms). You will need to customize it for the Printrboard and the specific printer. All of that is do-able, but you can find versions of Marlin that are already configured for your specific hardware so you'll have less of a learning curve (or no learning curve) to get all the pieces of the system working together. If you do decide to implement Klipper, please post here so others can benefit from your discoveries.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4900
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 491

Re: Klipper firmware/software combination

Postby Mooselake » 2017-Dec-Fri-11-Dec

Klipper is similar to the Sailfish firmware for Makerbots, offload part of the processing from the lower powered MCU to another processor.

IMHO it's part of the ongoing death throes of underpowered 8 bit controllers, trying to substitute an 8 bit low (by today's standards, still way faster than mainframes when I started and PCs of 30 years ago) speed processor for a similar price device that's 10 to hundreds of times faster with considerably more firmware and ram space. Remember these AVRs we're already considered underpowered (but cheap!) when they picked them for Arduinos, and more so when the 3D printing pioneers hacked grbl for firmware
  • 0

Modified KickStarter Classic Plus 7/2012
KS Thingybot Delta Pro 10/31/16
User avatar
Mooselake
My next printer is...
 
Posts: 3561
Joined: 2011-Dec-Tue-23-Dec
Location: Moose Swamp, Upper Michigan, USA
Reputation: 171

Re: Klipper firmware/software combination

Postby aerogeek » 2017-Dec-Fri-14-Dec

Hi Guys, thanks for the heads up Jay. I'll stick to marlin. I want to do more and as a ex hardware engineer programmer and mechanic I know I could learn to so it just keep forgetting that as a parent life may want me to do something else.
  • 0

aerogeek
I'm an end stop.
 
Posts: 62
Joined: 2013-Jan-Sat-14-Jan
Reputation: 0

Re: Klipper firmware/software combination

Postby frankv » 2017-Dec-Fri-23-Dec

I differ a bit from Mr Moose's and Mr Jay's positions.

My understanding is that klipper originated on a Mega2560 client and a RPi host, although it has been migrated to other platforms. So migrating it to a PrintrBoard should be just a matter of assigning the correct pins to the correct functions.

There's also a project called Pacemaker which IMHO has more promise than klipper in that it moves away from G-code. Having said that, the klipper project is moving at a very fast pace (but in the wrong direction?) whereas Pacemaker doesn't seem to be moving at all.

Whilst a 32-bit processor might give you 10x the processing power, the limitations are more about physical constraints like acceleration and deceleration rates. So going to a super-fast processor isn't going to give you super-fast processing; conceivably you could get smoother prints by increasing micro-stepping, although the consensus seems to be that there's little benefit in more than 32x. And it isn't going to speed up the transfer to the printer either. OTOH, we are running up against RAM size limits, especially for graphic displays, so there is benefit to be had by increasing that.

IMHO 3D printing is increasingly being constrained by the limitations of STL and G-code (notably straight lines and flat triangles, effectively no curves), and klipper is a step in the right direction. Although, IMHO not a big enough step. OTOH, on my desktop, I have a computer with a brain the size of a planet that sits idle 99% of the time; it doesn't seem to me sensible to put a brain the size of the moon in my printer, which will also be idle 90% of the time (even while it's printing). I think it's sensible to give all the heavy-duty math and calculations to the slicer on the desktop, and have a relatively dumb printer that just controls temperatures and drives stepper motors. I don't really care whether the printer controller is 8 or 16 or 32 or 64 bits, or whether it runs at 4.77MHz or 3GHz; the important thing is to integrate motion control *calculations* into the slicer. For example, perhaps the path of the nozzle could be described by a start point and a series of coefficients for a quadratic or perhaps an even higher-power equation. A single command could draw an entire ellipse of any size, or a Bezier curve, or any arbitrary curve. Or perhaps 3 or 4 or 5 or 6 speed vs time curves could be described to the printer as coefficients of higher-order equations, one for each stepper motor. The printer generates the individual steps to match the speed profiles. e.g. if X and Y are sinusoidal the nozzle will move in a circle (I think). If E is a sawtooth with the same frequency as X and Y , then one side of the circle will be heavily extruded, and the other thinly. All of a sudden, fading from one colour to another is simple; just ramp E0 up at the same rate that E1 is ramped down. Compare that to G-code where you have to give a command for every individual colour change, and also for each direction change (if the G2 command isn't implemented).
  • 1

frankv
First blob a success!
 
Posts: 519
Joined: 2015-Jan-Thu-12-Jan
Reputation: 18

Re: Klipper firmware/software combination

Postby RetireeJay » 2017-Dec-Sat-07-Dec

I totally agree with Frank's remarks about processing power; what good does it do anyone to have a CPU that's executing No-Op instructions 90% of the time? And on my printer with my materials and models, I never run more than half the maximum possible speed, so a faster processor would do very little for me.

On the other hand, the case for replacing G-code is a perfectly rational ideal but probably never going to happen. In an ideal world, we'd be typing on Dvorak keyboards instead of inefficient QWERTY layouts. We'd all be using the Metric system and nobody would ever have to figure out the size of a 13/64 inch drill or the number of teaspoons in a gallon. Everyone in the world would drive on the same side of the road. There would only be one standard for television. And so on. G-code is a pre-existing standard that the first people exploring the world of 3D printing adopted to save themselves a ton of work. It wasn't a perfect fit, but it worked "well enough". Now it's used by so many different organizations that it's an embedded standard and essentially impossible to replace. The best scenario I can imagine is a pre-processor that takes G-code and intelligently examines it to produce an intermediate code for the actual printer CPU and hardware to use. Kinda like back in the old days of computer programming on the Apple II, where you wrote in a high level language that got translated into "p-code" which then got compiled into machine code.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4900
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 491

Re: Klipper firmware/software combination

Postby aerogeek » 2017-Dec-Sat-10-Dec

Standardisation around G code is probably what has helped hobby 3d printers. I would imagine with a bit of effort the additional processing power offered by the more powerful boards even 8bits/16bit running much higher clock speeds would be in the loop adaptive printing where the axis positions are accounted for and adaptive printing is made possible. I have seen adaptive machining use to good effect and thought klipper would allow that additionally/capability.
  • 0

aerogeek
I'm an end stop.
 
Posts: 62
Joined: 2013-Jan-Sat-14-Jan
Reputation: 0

Re: Klipper firmware/software combination

Postby Mooselake » 2018-Jan-Wed-15-Jan

32 bit processors offer more speed to allow higher order acceleration, quicker recalculations during moves, better path planning, better extruder coordination and physics handling, and vastly increased memory that allows greater buffering and look ahead. Plus there's 9000 point <ducks> probing and autoleveling. My plywood V1 Plus is already limited by Marlin's step rate in X.

Faster microstepping helps with the chopper effect, but some of the new driver chips (like the Trinamics) will smooth out the choppy pulsy microstepping currents, another reason why replaceable driver chips is a good thing.
  • 0

Modified KickStarter Classic Plus 7/2012
KS Thingybot Delta Pro 10/31/16
User avatar
Mooselake
My next printer is...
 
Posts: 3561
Joined: 2011-Dec-Tue-23-Dec
Location: Moose Swamp, Upper Michigan, USA
Reputation: 171


Return to Hack talk

Who is online

Users browsing this forum: No registered users and 1 guest