Skip to main content

Crowsnest v4 contains breaking changes and requires manual steps to upgrade.

· 4 min read
Mikkel Schmidt

Crowsnest just recently made huge changes to the way it works. This is great news, because it should be much faster and more reliable. Unfortunately, it also means that there are major breaking changes, and you'll need to do some manual steps to upgrade. When you update to V4 through the machine tab in mainsail, crowsnest will stop working until you execute the following steps.

Make sure to read these instructions carefully before starting the process, so you don't miss anything. Just to be safe, download a copy of your crowsnest.conf.


  1. Update crowsnest in the machine tab in mainsail. If it's no longer there, skip this step.
  2. Open a terminal window or command prompt (win + r, type cmd, hit enter) and ssh into your printer. The password is raspberry unless you changed it.
ssh pi@<your printer's hostname.local or ip address without the angle brackets>

Uninstall old crowsnest

  1. Run the following commands:
cd crowsnest
git pull
git checkout legacy/v3
make uninstall
  1. When asked Do you REALLY want to remove existing 'crowsnest'? (y/N) delete the N and type "y" for "Yes", then hit enter.

  2. When asked do you want to remove crowsnest.conf answer "N" for "No".

  3. Ignore the instructions to remove the crowsnest folder.

  4. Ignore the instructions to remove [update manager crowsnest] from moonraker.conf.

Reinstall crowsnest

  1. This next part will take a while, and you'll have to answer a couple of questions along the way.
git checkout master
sudo make install
  1. When asked Do you want to add 'update manager' entry to your moonraker.conf? answer "N" for "No".

  2. Ignore the instructions to add the crowsnest update manager entry manually (it's already there).

  3. When asked to reboot, answer "Y" for "Yes".

  4. After rebooting, go to the Machine tab in mainsail and edit crowsnest.conf. Enter your old settings from the file you downloaded, alternatively crowsnest should have created a backup file called

  5. (Skip if not using a Raspberry Pi) In crowsnest.conf change mode to camera-streamer.

  6. (Skip if not using a Raspberry Pi) Back in mainsail, edit your web camera settings and make sure the "Camera Streamer" option is selected.

  7. (Skip if not using a Raspberry Pi) Change URL Stream to webcam/webrtc Camera Stream option enabled

You're now using Crowsnest v4, which should have much better performance.

Thanks to tomlawesome for the image!

Making legacy CSI cameras work again (for example the raspberry pi cameras v1 or v2)

If you're using an older raspberry pi camera and it stopped working, you'll need to do some additional steps to make it work again.

  1. Disable legacy camera support by running sudo raspi-config and selecting 3 Interface Options -> I1 Legacy Camera -> No. Finally press escape to get out of raspi-config.
  2. Edit /boot/config.txt by running sudo nano /boot/config.txt. Find the [all] section at the bottom. Depending on which camera you have, you'll need to add a dtoverlay set statement at the end of the [all] section. Here's a list of sensors and the corresponding set statements. Look up your particular camera to find out which sensor it uses.
ModelSet StatementKnown Cameras with this sensor
OV5647dtoverlay=ov5647Raspberry Pi Camera Module V1
IMX290/IMX327dtoverlay=imx290, clock-frequency=37125000?
IMX219dtoverlay=imx219Raspberry Pi Camera Module V2
IMX477dtoverlay=imx477Raspberry Pi HQ Camera
  1. reboot with sudo reboot
  2. reconnect to your printer with ssh
  3. libcamera-hello --list-cameras should return something like this: libcamera-hello output
  4. in this example /base/soc/i2c0mux/i2c@1/ov5647@36 is the new device for crowsnest.conf