Skip to content

Latest commit

 

History

History
183 lines (155 loc) · 7.08 KB

INSTRUCTIONS.md

File metadata and controls

183 lines (155 loc) · 7.08 KB

Instructions

1. MCU Prep

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.

IMPORTANT: If you skip this step, you won't be able to reflash firmware after the initial flash.

  1. Connect your PCB to your PC using a USB cable, while holding the BOOT button down.
  2. Download and install STM32Cube Programmer. (Do not download the latest version, it is buggy)
  3. Select USB on the selector in top right of the program (below Not connected). Click the refresh button next to the port selector. Select USB1 and click connect.
  4. Select OB on the left side, expand User Configuration, uncheck nBOOT_SEL. Click Apply.

2. Flashing Klipper

  1. SSH into your Raspberry Pi.
  2. Go to the Klipper directory
cd klipper
  1. Clean remaining files from previous build.
make clean
  1. 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.

  1. Build.
make
Nevermore Max PCB & Nevermore StealthMax PCB (USB)
  1. Connect your Nevermore Max/StealthMax PCB to your Raspberry Pi while holding down the BOOT button.
  2. Use lsusb and find the device in DFU mode.
  3. Flash. Replace the ID with the ID from the previous step.
make flash FLASH_DEVICE=1234:5678
  1. When finished, press the RESET button on your Nevermore Max/StealthMax PCB.
  2. 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)
  1. Connect your Nevermore Max/StealthMax PCB to your Raspberry Pi while holding down the BOOT button.
  2. Use lsusb and find the device in DFU mode.
  3. Flash. Replace the ID with the ID from the previous step.
make flash FLASH_DEVICE=1234:5678
  1. When finished, press the RESET button on your Nevermore Max/StealthMax PCB.
  2. Find the CAN Bus UUID using the instrucitons on Klipper's website
Nevermore StealthMax PCB (CAN - CanBoot)
  1. 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
  1. Connect your Nevermore Max/StealthMax PCB to your Raspberry Pi while holding down the BOOT button. Flash CanBoot using the instructions on its repo.
  2. When finished, press the RESET button on your Nevermore Max/StealthMax PCB.
  3. Flash the Klipper build we creater earlier using the instructions on CanBoot's repo.
  4. Find the CAN Bus UUID using the instrucitons on Klipper's website
  1. 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
  1. 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'

3. PCB Mount

Follow the instructions for your PCB:

Nevermore Max PCB
  1. Print the bottle opener Nevermore Max PCB tray using the standard Voron print settings.
  2. Remove the built-in supports.
  3. Superglue 2 magnets. Pay attention to the polarities.
  4. Mount the PCB. The plastic latches will keep the PCB in place, no screws needed. The USB/power side should be seated first.

Instructions

Nevermore StealthMax PCB
  1. Mount the PCB where the Raspberry Pi Pico normally mounts with M2 screws.

4. Wiring

Follow the instructions for your PCB:

Nevermore Max PCB
  1. All connectors except USB are JST-XH. Use the diagram below to wire your fans/sensors/leds/power.

Pinout

Nevermore StealthMax PCB
  1. All connectors except USB are JST-PH. Use the diagram below to wire your fans/sensors/CAN/power.

Pinout

5. Klipper Config

  1. Download the Klipper config, and upload it to your printer.
  2. Open the file and edit according to your setup.
  3. Add [include max.cfg] in your printer.cfg.