#prusawire
*Ask in the Positron3D Discord in #prusawire-discussions for help with your build!*
## Resources
- [Voron Software Installation Guide](https://docs.vorondesign.com/build/software/) for some good resources on Mainsail (Klipper on Raspberry Pi) and Control Board firmware.
- [Raspberry Pi OS based \| MainsailOS](https://docs-os.mainsail.xyz/getting-started/raspberry-pi-os-based)
- [Welcome to Mainsail \| Mainsail](https://docs.mainsail.xyz/)
- [GitHub - bigtreetech/BIGTREETECH-SKR-mini-E3](https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3)
- [BIGTREETECH-SKR-mini-E3/firmware/V3.0/Klipper at master · bigtreetech/BIGTREETECH-SKR-mini-E3 · GitHub](https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/tree/master/firmware/V3.0/Klipper)
## Configuration
Start with the [Positron3D Prusawire Configuration](https://github.com/Positron3D/prusawire-klipper-config) settings and profiles.
More detail general instructions are found at [Software Configuration \| Voron Documentation](https://docs.vorondesign.com/build/software/configuration.html).
### Sensorless Homing
If you are running the Einsy board, congrats, you are now done.
For the BTT SKR Mini E3, some further tuning likely needs to happen. Refer to [this guide](https://gist.github.com/clee/9108f7717defce8b1222698f816def0a#finding-the-right-stallguard-threshold) by clee on setting the correct stallguard threshold.
### Input Shaper
Some defaults have been provided, but they are no doubt unsuitable for your exact machine. We recommend installing [ShakeTune](https://github.com/Frix-x/klippain-shaketune) for measuring resonances, and reading the [Klipper guide](https://www.klipper3d.org/Measuring_Resonances.html#max-smoothing) on understanding which value to choose.
**Y Axis Input Shaping**: This requires an external accelerometer (eg LDO Input Shaper) to be mounted to your heated bed.
## Build Log - "THOTH STATION"
- Mainsail
- Grab latest Raspberry Pi imager from: [Raspberry Pi software – Raspberry Pi](https://www.raspberrypi.com/software/)
- Run pi-imager
- 128GB Samsung Pro Endurance microSD Card
- Pi 4
- Mainsail OS
- Settings
- Hostname: {HOSTNAME_HERE}
- Username: {USERNAME}
- Password: {1PASSWORD}
- WiFi: {WIFI_SSID} / password
- WLAN Country = US
- Time Zone: America/New_York
- Enable SSH
- Write image to microSD card
- Inserted microSD card into Raspberry Pi.
- Turned on printer.
- Klipper on SKR Mini E3 V3
- Insert MicroCenter 16GB microSD Card into Mac.
- Format as FAT32
- `ssh {USERNAME}@{HOSTNAME_HERE}`
- Make the Klipper firmware for the control board:
- `cd ~/klipper/`
- `make menuconfig`
- Select "Enable extra low-level configuration options"
- Microcontroller: "STMicroelectronics STM32"
- Processor Model: "STM32G0B1"
- Bootloader offset: "8KiB bootloader (stm32duino)"
- Clock reference: "8MHz Crystal"
- Communication interface: "USB on PA11/PA12"
- Press Q and then Y to save.
- `make`
- Copy the `klipper.bin` from the output directory to your local machine:
- ex: `scp {USERNAME}@{HOSTNAME}:~/klipper/out/klipper.bin ~/`
- Copy the `klipper.bin` to the root of the SD card as `firmware.bin`
- Power off SKR-Mini-E3-V3.0
- Insert microSD Card
- Power on SKR-Mini-E3-V3.0
- Confirm flash was successful by running `ls /dev/serial/by-id` on the Raspberry Pi.[](https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/master/firmware/V3.0/Klipper/Images/stm32g0b1_id.png)
- Follow instructions at: [GitHub - Positron3D/prusawire-klipper-config: Prusawire configuration for Klipper](https://github.com/Positron3D/prusawire-klipper-config)
- `cd ~/`
- `git clone https://github.com/Positron3D/prusawire-klipper-config.git ~/printer_data/config/prusawire`
- `cd ~/printer_data/config/`
- Edit `moonraker.conf`:
- Add the following to the end of it:
```
[update_manager prusawire-config]
type: git_repo
primary_branch: main
path: ~/printer_data/config/prusawire
origin: https://github.com/Positron3D/prusawire-klipper-config.git
managed_services: klipper
```
- `cd ~/printer_data/config/prusawire/`
- `cp printer.cfg.example ../printer.cfg`
- `cd ~/printer_data/config/`
- Edit `printer.cfg`:
- Uncomment the correct section for the control board you're using.
- BTT SKR Mini E3 in my case.
- Edit the serial line to use the output from `ls /dev/serial/by-id`
- Uncomment the correct section for the toolhead board you're using.
- LDO Nitehawk SB in my case.
- Edit the serial line to use the output from `ls /deve/serial/by-id`
- Uncomment the correct section for the probe you're using.
- SuperPINDA on Nitehawk SB in my case.
- Uncomment the correct section for the filament sensor you're using.
- LDO Nitehawk SB in my case.
- ==Under LCD Screens, uncommend the info for the MK3 LCD if using, or add info for BTT HDMI 5:==
- ==TODO: Get this working!==
- Edit `sensor_type` to be your sensor
- Prusawire Config includes what is probably the correct sensor type for you using Revo.
- For Bambu X1C Hot End in SB:
- `sensor_type: ATC Semitec 104GT-2`
- `max_power_ 0.8`
- Access the Mainsail instance: http://{HOSTNAME_HERE}
- At this point, we should see all the printer controls! Else, fix any errors.
- ==Sensorless Homing with BTT SKR Mini E3 V3.0==
- ** *For the BTT SKR Mini E3, some further tuning likely needs to happen. Refer to [this guide](https://gist.github.com/clee/9108f7717defce8b1222698f816def0a#finding-the-right-stallguard-threshold) by clee on setting the correct stallguard threshold.*
- **NOTE: For the BKK SKR Mini E3 V3.0 --> must put jumpers on X-STOP, Y-STOP, and Z-STOP to allow sensorless homing!**
- TMC2209 is used on the SKR Mini E3
- PID Tuning for Hot End:
- In Mainsail, enter the following commands to set the PID Tuning for the Hot End:
- `PID_CALIBRATE heater=extruder TARGET=250`
- `SAVE_CONFIG`
- Results 2025-09-25 @ 1645: `PID parameters: pid_Kp=38.373 pid_Ki=12.182 pid_Kd=30.219`
- ==TODO: PID Tuning for Heat Bed==
- ==TODO: NEOPIXEL SB!==
- ==**TODO: Input Shaper:**== *Some defaults have been provided, but they are no doubt unsuitable for your exact machine. We recommend installing [ShakeTune](https://github.com/Frix-x/klippain-shaketune) for measuring resonances, and reading the [Klipper guide](https://www.klipper3d.org/Measuring_Resonances.html#max-smoothing) on understanding which value to choose.*
- ==**TODO: Y-Axis Input Shaping:**== *This requires an external accelerometer (eg LDO Input Shaper) to be mounted to your heated bed.*
### BTT SKR Mini E3 V3.0 Control Board
![[Pasted image 20250925155457.png]]