Ch 12Checkpoint
Checkpoint 12¶
Checkpoint · Chapter 12 — Software: Pi OS image, Klipper/Moonraker/Mainsail, firmware, printer.cfg
- MainsailOS boots, is reachable at your hostname, and every component in the Update Manager is up to date.
- The Klipper version string from Step 12.7 is written down, and both MCUs were flashed from that same working copy.
-
ls /dev/serial/by-id/shows exactly two Klipper devices: onestm32g0b1xx(Nitehawk-SB V2) and onestm32f446xxorstm32h743xx(Leviathan). Nokatapultentries. -
printer.cfgis the-sbv2file —grep -c 'nhk:PB8' printer.cfgreturns 1 andgrep -c gpio printer.cfgreturns 0 (the V1 file returns 20). -
config.leviathanandconfig.nitehawkare in~/printer_data/config/, and~/printer_data/configis a git repo with the Ch 12 baseline committed. - Line 1 is
[include mainsail.cfg], and Mainsail shows no missing-configuration panel. - All six 350 mm sites are uncommented:
[stepper_x],[stepper_y],[stepper_z],[quad_gantry_level],[resonance_tester],[gcode_macro G32]. -
[bed_mesh]exists and carrieszero_reference_position: 175, 175. -
[input_shaper]and[exclude_object]exist; exactly one live[probe]section. -
[fan_generic nevermore]on PF9;[output_pin caselight]has one livevalue:. -
safe_z_homestill reads-10,-10with the Ch 13 TODO next to it. -
STATUSis clean afterRESTART, both MCUs connected, three sensors reading room temperature. - KlipperScreen is running and the DSI panel shows the right way up.
- Nothing has been homed, heated or jogged.
- The machine is still live with the bay open: nobody reaches into the bay until Step 11.67 has shut it down, unplugged it and read 0 V.
Common mistakes¶
- Downloading
leviathan-printer-rev-d.cfg. The wiring guide links it and it looks right. Everynhk:pin in it belongs to an RP2040. Grep fornhk:PB8before you upload anything. - Hunting for
rp2040in/dev/serial/by-id/. There is no RP2040 in a Rev D+ kit. The toolboard isstm32g0b1xx. The guide is wrong; the board is not. - Building MCU firmware before running the Update Manager. You will flash both boards twice. Update the host first, then flash.
- Omitting the bootloader offset in
make menuconfig. 8 KiB for the Nitehawk, 32 KiB (F446) or 128 KiB (H743) for the Leviathan. Flash with no offset and Katapult is gone, and the only way back is DFU with the board buttons. - Never seeing
Clock Referencein menuconfig. It only appears once Enable extra low-level configuration options is ticked; without it the build silently uses 8 MHz, flashes cleanly and never enumerates. Double-click SW1 for Katapult, fix, re-flash — no DFU needed. - Following the V1.3 Leviathan guide on a V1.2 board. STM32H743/25 MHz/128 KiB against STM32F446/12 MHz/32 KiB. Read the silkscreen and the serial ID before menuconfig, not after.
- Filling in
home_xy_positionwith a guess.-10,-10failing is the interlock working. A plausible wrong value drives the nozzle into the plate. - Adding
[bed_mesh]withoutzero_reference_position. The Omron'sz_offsetis 0 by design, so the raw mesh carries its whole trigger height as a constant offset.
Next¶
Ch 11 Part A, starting at Step 11.67: shut down, unplug and prove the machine dead first. Then skirts, bay fans, bottom panel, Z belt covers, Nevermore, spool holder and the door sub-assembly close the bay this chapter powered. Then Ch 13 — Initial startup: work the Voron startup wizard in its own order (temperatures → heaters → fans → STEPPER_BUZZ → XY endstop → homing → bed locating → 0,0 → Z endstop → probe → PID → QGL → Z-offset), which closes the safe_z_home TODO from Step 12.33.