Nevermore Max Controller source code
❗ NOTE: This repository is a proof-of-concept only and is not actively developed. Current efforts are being developed at nknotts/klipper-nevermore-max
This firmware is written for the Raspberry Pi Pico.
The firmware is written in CircuitPython. Download version 7.3 for the Pico
- Connect the Pi Pico USB to your laptop
- Ensure CircuitPython 7.3 is installed on the Pico.
- Copy the full contents of the nevermoremax/firmware folder to the root of the Pi Pico (volume name
CIRCUITPY) - Anytime
boot.pyis modified, power cycle the Pico for the changes to take effect.
A Python REPL and data connection are achieved over a single USB connection to the Pi Pico. See usb_cdc for more.
On Windows, each Serial is visible as a separate COM port. The ports will often be assigned consecutively, console first, but this is not always true.
On Linux, the ports are typically /dev/ttyACM0 and /dev/ttyACM1. The console port will usually be first.
On MacOS, the ports are typically /dev/cu.usbmodem<something>. The something varies based on the USB bus and port used. The console port will usually be first.
The console port refers to the REPL/interactive port, and the data port refers to the data/communcations port.
python3 -m venv envsource env/bin/activate(see venv for Windows)pip3 install -r requirements_dev.txtpython3 test_gui.py
From the drop down, select the desired serial port. Selecting a serial port will automatically connect.
To install this plugin, you need to this entire project directory file into the extras
folder of klipper. Like:
/home/pi/klipper/klippy/extras/nevermore-max-controllerAn alternative would be to clone this repo and run the install_klipper.sh script. Like:
cd /home/pi
git clone https://github.com/nknotts/nevermore-max-controller.git
./nevermore-max-controller/install_klipper.shIt's safe to execute the install script multiple times.
More on this in the Moonraker Update Manager section.
It's possible to keep this extension up to date with the Moonraker's update manager by adding this configuration block to the "moonraker.conf" of your printer:
[update_manager nevermore_max_controller]
type: git_repo
origin: https://github.com/nknotts/nevermore-max-controller.git
path: ~/nevermore-max-controller
install_script: install_klipper.sh
managed_services: klipper
primary_branch: main
This requires this repository to be cloned into your home directory (e.g. /home/pi):
git clone https://github.com/nknotts/nevermore-max-controller.gitThe install script assumes that Klipper is also installed in your home directory under
"klipper": ${HOME}/klipper.
☝️ NOTE: If your Moonraker is not on a recent version, you may get an error with the "managed_services" line!
- VORON - great open source 3D printer hardware design and community
- Klipper - great open source 3D printer firmware
- Klipper Z Calibration - basis for install scripts
- Cookiecutter - project template
- audreyr/cookiecutter-pypackage - project template