4 z axis motors, moving bed

Is there a configuration for 4 individual z axis motors for a moving bed ?
I did see the gantry mode, but it says it is for a moving gantry.
There is a gantry moving over this bed with two separate motors, what are possibilities there ?
Especially with homing.

Thanks !

Check the Voron config: Voron-2/Voron2_SKR_14_Config.cfg at Voron2.4 · VoronDesign/Voron-2 · GitHub

From firmware perspective it does not really matter if you move the bed relative to the gantry or vice versa .

Hi Sineos
That looks promising !

That’s what I would have thought as well, in the documentation it says :


Moving gantry leveling using 4 independently controlled Z motors. Corrects hyperbolic parabola effects (potato chip) on moving gantry which is more flexible. WARNING: Using this on a moving bed may lead to undesirable results.

How does this routine work ? especially interesting when homing. When are the motors unsynced , could be before the home move , then all motors moved to their home switch, each motor homes, then synced again ? Is there a home offset from the switch ?
How would I home an " inelligent" drive, it does the homing by itself, after it is ordered to do so and then replies. Are there are pins already reserved for this kind of operation ?

Thanks again


I have no experience with [quad_gantry_level]
But for your issue, rather check klipper | Klipper is a 3d-printer firmware

That’s where I got this text from.

I’m referring to [z_tilt] and Z_TILT_ADJUST

ah, ok
I just had a look at example-delta.cfg, there is no mcu mentioned, is there a default mcu ?

When I don’t need onboard stepper drivers, I would just use arduino dues and a raspberry pi ?
the communication is over USB, How many external MCUs could I connect ?
Is there a special protocol used ?

Is there any communication over ethernet as well ? To tell the external drives to home for example.


It is just the kinematic example. You will need to combine it with the respective MCU you are using

I do not know where the limit of MCUs is. But for precise positioning, it makes sense to have all relevant steppers controlled by one MCU. This means for example that all 4 Z-steppers are controlled by one MCU while X,Y and extruder is controlled by another MCU.

For external drivers you will basically need 3 pins for each driver: Enable, Direction and Step-Pulse.

The Klipper instance running on the RPi will do all the math for calculating the tool-paths and then send the information to the MCU (e.g. an Arduino). The MCU will then control the respective pins telling your motion hardware what to do

Ethernet is not supported, AFAIK, but Klipper does support CAN bus. See Huvud, a 3D Printer Tool Head Controller Board | Hackaday.io

Thanks for your comprehensive answers !
I ordered an raspberry and will see what happens. Just hope there is not too much linux involved.#
So all the arduino boards laying around get a new task.
I would use the due for x,y and e ? a mega for the zs ?
The 2 motor gantry would be homed similar to the zs ?
Is there an option for sending additional signals to an external amplifier or would I do that manually ?