PCBs sold by me will come with the correct settings applied so you can skip this step. Self-sourced PCBs and PCBs sold by other vendors might not. So, to be safe I recommend following these instructions anyway.
- Connect your PCB to your PC using a USB cable, while holding the BOOT button down.
- Download and install STM32Cube Programmer. (Do not download the latest version, it is buggy)
- Select
USB
on the selector in top right of the program (belowNot connected
). Click the refresh button next to the port selector. SelectUSB1
and click connect. - Select
OB
on the left side, expandUser Configuration
, unchecknBOOT_SEL
. ClickApply
.
- SSH into your Raspberry Pi.
- Go to the Klipper directory
cd klipper
- Clean remaining files from previous build.
make clean
- Choose the options for the build.
make menuconfig
Use the following options:
Nevermore Max PCB & Nevermore StealthMax PCB (USB)
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32G0B1) --->
Bootloader offset (No bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (USB (on PA11/PA12)) --->
USB ids --->
() GPIO pins to set at micro-controller startup
Nevermore StealthMax PCB (CAN - No CanBoot)
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32G0B1) --->
Bootloader offset (No bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (CAN bus (on PB0/PB1)) --->
(1000000) CAN bus speed
() GPIO pins to set at micro-controller startup
Nevermore StealthMax PCB (CAN - CanBoot)
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32G0B1) --->
Bootloader offset (8KiB Bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (CAN bus (on PB0/PB1)) --->
(1000000) CAN bus speed
() GPIO pins to set at micro-controller startup
Press Q
then Y
to save and quit the menu.
- Build.
make
Nevermore Max PCB & Nevermore StealthMax PCB (USB)
- Connect your Nevermore Max/StealthMax PCB to your Raspberry Pi while holding down the
BOOT
button. - Use
lsusb
and find the device in DFU mode. - Flash. Replace the ID with the ID from the previous step.
make flash FLASH_DEVICE=1234:5678
- When finished, press the
RESET
button on your Nevermore Max/StealthMax PCB. - Check the serial connections and find the path startting with
/dev/serial/by-id/usb-Klipper_stm32g0b1
. This is the serial path of your Nevermore Max/StealthMax PCB.
ls /dev/serial/by-id/*
Nevermore StealthMax PCB (Non-CanBoot CAN)
- Connect your Nevermore Max/StealthMax PCB to your Raspberry Pi while holding down the
BOOT
button. - Use
lsusb
and find the device in DFU mode. - Flash. Replace the ID with the ID from the previous step.
make flash FLASH_DEVICE=1234:5678
- When finished, press the
RESET
button on your Nevermore Max/StealthMax PCB. - Find the CAN Bus UUID using the instrucitons on Klipper's website
Nevermore StealthMax PCB (CAN - CanBoot)
- Install/Build CanBoot using the instructions on its repo. Use these settings to build CanBoot:
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32G0B1) --->
Build Katapult deployment application (Do not build) --->
Clock Reference (8 MHz crystal) --->
Communication interface (CAN bus (on PB0/PB1)) --->
Application start offset (8KiB offset) --->
(1000000) CAN bus speed
() GPIO pins to set on bootloader entry
[*] Support bootloader entry on rapid double click of reset button
[ ] Enable bootloader entry on button (or gpio) state
[*] Enable Status LED
(PA13) Status LED GPIO Pin
- Connect your Nevermore Max/StealthMax PCB to your Raspberry Pi while holding down the
BOOT
button. Flash CanBoot using the instructions on its repo. - When finished, press the
RESET
button on your Nevermore Max/StealthMax PCB. - Flash the Klipper build we creater earlier using the instructions on CanBoot's repo.
- Find the CAN Bus UUID using the instrucitons on Klipper's website
- While you're SSH'd in, also download the python code needed for the SGP40 sensors from the Nevermore Max repo.
sudo wget https://raw.githubusercontent.com/nevermore3d/Nevermore_Max/master/Software/Klipper/sgp40.py -P ~/klipper/klippy/extras
sudo wget https://raw.githubusercontent.com/nevermore3d/Nevermore_Max/master/Software/Klipper/voc_algorithm.py -P ~/klipper/klippy/extras
sudo service klipper restart
- Run these commands if you are using Mainsail and want the SGP40s displayed on the dashboard:
cd ~/mainsail/
grep -l additionalSensors * -R | xargs sed -i 's+additionalSensors=\[+additionalSensors=\["sgp40",+g'
Follow the instructions for your PCB:
Nevermore Max PCB
- Print the
bottle openerNevermore Max PCB tray using the standard Voron print settings. - Remove the built-in supports.
- Superglue 2 magnets. Pay attention to the polarities.
- Mount the PCB. The plastic latches will keep the PCB in place, no screws needed. The USB/power side should be seated first.
Nevermore StealthMax PCB
- Mount the PCB where the Raspberry Pi Pico normally mounts with M2 screws.
Follow the instructions for your PCB:
Nevermore Max PCB
- All connectors except USB are JST-XH. Use the diagram below to wire your fans/sensors/leds/power.
Nevermore StealthMax PCB
- All connectors except USB are JST-PH. Use the diagram below to wire your fans/sensors/CAN/power.
- Download the Klipper config, and upload it to your printer.
- Open the file and edit according to your setup.
- Add
[include max.cfg]
in yourprinter.cfg
.