Firmware tester

Step 1 of 7
1
2
3
4
5
6
7
Connect Diagnostics Endstops Steppers Homing Extruder Results

Firmware tester

Run this right after flashing a firmware built by the Firmware Builder. It walks you through verifying drivers, endstops, stepper directions, homing direction, and the extruder – and produces a corrected configuration if anything is wired backwards.

Run this before Printer Setup.

Catch reversed motors, wrong endstop logic, or bad UART comms here, before kinematic calibration depends on them.

Connect to printer

Not connected

Connect via USB serial. The port should appear after you click "Connect".

Configuration (optional)

Upload the JSON you exported from the Firmware Builder so the tester can compare expected wiring against what the printer reports, and produce a corrected file if anything is reversed. You can run the tests without it – the tester just won't be able to suggest a fix.

No file selected

Diagnostics

Check that the firmware is alive, all six stepper drivers respond on UART, no endstops are stuck triggered, and both thermistors read sensible room-temperature values.

Firmware identifier (M115)
Pending...
TMC drivers (M122)
Pending...
Endstops untriggered (M119)
Pending...
Thermistors (M105)
Pending...
Show raw responses

                        

Endstop walk-through

Step 1: with nothing pressing any endstop, the tester reads the initial state via M119 to check the firmware's logic-level (HIGH/LOW) configuration. Step 2: for each endstop in turn, manually press or trigger it; the tester confirms the state changes.

Before starting: make sure nothing is pressing or blocking any endstop. With everything free, the M119 reading should show every axis as open. If something reads TRIGGERED instead, the logic level (HIGH/LOW) in the firmware is most likely inverted and can be flipped in the corrected JSON.
X endstop unread
Y endstop unread
Z endstop unread
B endstop (microswitch) unread
C homing sensor (optical) unread

Currently testing

Read the initial state above, then click "Start walk-through".

X endstop pending
Y endstop pending
Z endstop pending
B endstop (microswitch on rotating arm) pending
C homing sensor (optical) pending

Stepper direction tests

The tester sends a small relative move on each axis and asks whether it moved in the expected direction. A "no" flips the corresponding invert flag in the corrected configuration.

Currently testing

Click "Start stepper test" to begin.

X axis pending
Y axis pending
Z axis pending
C axis (yaw) pending
B axis (tilt) pending

Homing direction

For each linear axis, tell the tester where the endstop is physically located. The tester compares your answer to the home direction in the uploaded JSON and flags any mismatch. No motor moves: a reversed home direction would otherwise drive the carriage into the frame.

X endstop side
 
pending
Y endstop side
 
pending
Z endstop side
 
pending

B is centred-home (no MIN/MAX choice), so the homing-direction check doesn't apply. The endstop walk-through already verified the B microswitch in step 3.

Extruder

Confirm the extruder turns in the right direction, and optionally calibrate steps/mm by extruding a known length.

Hot-end must be at temperature. Cold extrusion is blocked by Marlin's safety check (M302 disables it but isn't recommended). Heat the hot-end to at least 180°C before extruding plastic, or remove the filament and run the test dry to just observe motor direction.

Extrusion direction test

Sends G91 then G1 E5 F100 to extrude 5 mm.

Result pending

E-steps calibration (optional)

Mark the filament 120 mm from the extruder inlet. Click "Extrude 100mm" and measure how much filament was actually pulled in. The tester will compute corrected steps/mm.

mm

Results

Summary of every test, plus a corrected configuration if the tester found anything reversed.

Test summary

Next steps

Everything passed. Continue to Printer Setup for kinematic calibration.