Newly built Voron: motors reversed, homing the wrong way or endstops not responding
Guide based on the manufacturer's official documentation; usi3d has not yet verified it on a machine.
Technology: FDM · Brand: Voron · Symptoms: Homing or a sensor fails (endstop, levelling), Problems after a firmware update · Updated on 9 October 2026
Symptom
During the first startup of a Voron running Klipper, the toolhead homes to the wrong side or diagonally, a motor buzzes without moving, the wrong motor moves, or an endstop always reads «triggered» (or never triggers).
Likely causes, from most to least likely
- A motor direction is inverted in the config: the dir_pin has an extra or a missing «!».
- On CoreXY (V0, Trident, 2.4) the A and B motors are swapped: stepper_x is motor B and stepper_y is motor A.
- The motor is plugged into another board port, or enable_pin or step_pin are wrong (it does not move).
- Bad motor wiring: it buzzes without making clean steps.
- The endstop is inverted in the config or badly wired: stock Voron endstops are normally closed to ground, so if one needs «!» it may point to a wiring fault.
- The toolhead cannot reach the endstop because rubber rail stoppers were left on or the gantry is racked.
Checks to tell which one it is
- Run STEPPER_BUZZ on each motor (it moves 1 mm and back, ten times): check that the expected motor responds, moves cleanly and which way it goes first. On the V0, Trident and 2.4, stepper_x is the rear left motor and stepper_y the rear right, and both turn clockwise first.
- With the motors disabled and the toolhead in the centre, send QUERY_ENDSTOPS: everything should read «open». Push the toolhead to the right until it clicks and repeat: only X should read «triggered». Do the same for Y.
- Try G28 X and then G28 Y separately, ready to stop the machine, and note where it goes each time: on CoreXY you need both axes before deciding what to change.
- Watch whether, before moving in X, the bed (V0, Trident) or the gantry (2.4) moves in Z the wrong way.
Before you start
Before taking anything apart, cleaning or adjusting it, switch the printer off and unplug it, unless a step says otherwise, and do not touch the nozzle, the heater block or the bed until they have cooled down. If in any doubt about electricity, heat or moving parts, stop and ask a professional.
Step-by-step fix
Have a way to stop it
Before moving anything, make sure you can stop it instantly: the stop button on the display (on the Mini12864, the small one under the knob) or a computer next to it with M112 or RESTART already typed. Switching off at the power switch is the last resort, because it can corrupt the Raspberry Pi SD card. After a shutdown, use FIRMWARE_RESTART.
Check: You have tested the stop method and Klipper halts.
If that does not fix it: Do not continue with homing tests until you have a reliable way to stop.
Test every motor
Send STEPPER_BUZZ to each motor. If it does not move, check enable_pin, step_pin and that the driver has power; if it does not return, check dir_pin; if it runs backwards, add or remove the «!» on dir_pin; if another motor moves, check which port it is plugged into; if it buzzes without moving cleanly, check its wiring. After each change, save, RESTART and check with STATUS that the config loads.
Check: Every motor responds, moves cleanly and in the direction Voron's guide gives for your model.
If that does not fix it: Switch off and unplug the printer before touching connectors and check the motor cable.
Fix the endstops
If an endstop reads backwards in QUERY_ENDSTOPS, add or remove the «!» on its endstop_pin, although on a stock one this points to a wiring fault. If you cannot reach it, remove the rubber rail stoppers and check the gantry is not racked. If it responds slowly, it may need a pull-up (^) on the pin, although nearly all boards already have one.
Check: Each endstop reads «open» at rest and «triggered» only when pressed.
If that does not fix it: With the printer off, check the endstop cable and connectors.
Fix the homing direction on CoreXY
Run G28 X (the toolhead should go right, to the X endstop) and G28 Y (towards the back; on the Switchwire, which is CoreXZ, the bed moves forward instead). If something is wrong, use the motor table in the startup guide: depending on the case, invert the dir_pin of one motor or, if it matches the bottom row of the table, swap the A and B motor connectors on the board with the printer off.
Check: G28 X and G28 Y take the toolhead straight to its endstop.
If that does not fix it: If the machine moves the wrong way in Z before heading to X, fix the Z direction (next step).
Fix the Z direction
When homing starts, the nozzle must move away from the bed: on the V0 and Trident the bed drops a little; on the 2.4 and Switchwire the toolhead rises. If it does the opposite, invert the Z motor direction in the config and try again.
Check: The first thing homing does is move the nozzle away from the bed.
If that does not fix it: Repeat STEPPER_BUZZ on each Z motor to find the one running backwards.
Prevention
- Follow Voron's startup guide step by step before the first print, and run RESTART and STATUS after every config change.
- Back up printer.cfg and shut the Raspberry Pi down from the web interface instead of cutting the power.
Still not fixed?
Tell usi3d's AI about your case: choose your printer, describe what you see and add photos if you like. It proposes checks step by step, with their sources.
Printers it applies to
Voron's FDM printers: 2.4, Switchwire, Trident and V0.2.
Official sources
This guide summarises the official documentation linked here:
- Initial Startup · Voron Design
This guide is general information: usi3d has summarised it from the official documentation linked here, and it may not match your model, its version or its firmware. If in doubt, follow the manual and the support of your printer's manufacturer. You decide what you do with your machine, and working on it may affect its warranty.