Raspberry Pi Image

Show Changelog
  • V3 introduced a new webcam system, incompatible with V2. 0.80.1 will ignore auto configuration from V2 image but server will still work.
  • V4 fixed a problem with network-manager preventing connections to network to work.
  • V5 improved webcam configuration. Now allows setting resolution and frame rate from printer webcam configuration.
  • V6 fixes wifi issues, adds screensaver control.
  • V7 wifi management improved, packages updated
  • V8 based on stretch, first Raspberry Pi 3+ compatible image.
  • V9 improved webcam handling. Assigns ports now by webcam name so multiple webcams get always the same port. Disable printer GUI with config file.
  • V10 Fixed problems with raspi cam not starting.
  • V11 Ready for Raspberry Pi ZeroW on a Prusa MK 3 (or any Rambo Einsy board), wifi improvements.
  • V12 Fixes usb automount problems added with stretch.
  • V13 removed dtoverlay dwc2 from /boot/config.txt as that seemed to make problems with bandwidth.
  • V14 Added remote desktop server.
  • V15 Now based on Raspbian buster, Raspberry Pi 4 support, fixed USB stick mounting, chinese chars working.
  • V16 Fixed webcam scripts to new V4L format.
  • V17 Fixed wifi problem, 0.92.1 server version.
  • V18 Access point handling changed, 0.92.2 server version.
  • V19 Fixed setting static routes for wired connection.
  • V20 Increased boot partition to fit Raspberry Pi 4 image as well.
  • V21 New wifi management, more checks, armhf server as default.
  • V22 New linux kernel 5.4.51, detect wifi driver crash, up to 3 usb sticks will automount.
  • V24 New kernel 5.4.79, better wifi handling, Chromium 86.0.4240.197
  • V25 Allows manual override of wifi configuration. See /boot/wpa_supplicant-wlan0.conf.sample
  • V26 Add duet control server and duet web server, kernel 5.10.17-v7+
  • V27 Modified chromium call to prevent incognito warning with latest chromium version
  • V28 Fixed problem with new chromium stucking in incognito dialog, autoclose splash screen
  • V30 Based on Raspbian Bullseye, repetier-setup command for easy configuration, kernel 5.15.32-v7l+.
  • V31 Fixed pi camera detection and starting pi cam if not present.
  • V32 Fixed pi cam for newer libcamera, repetier-setup improved.
  • V33 Fixed issue with libcamera blocking list if streamer is running.

About the Raspberry Pi Image

Knowing that many users are not familiar with linux, we made some extra work to make it easier than ever to use Repetier-Server on a Raspberry Pi.

Notice for Raspberry Pi users

The Pi is very power sensitive. If it does not receive stable 5V, you may experience stability issues like bad connections or temperature errors. Use a solid 3A power supply, best with 5.1 V output. Also a cheap usb cable with thin wires can cause voltage loss. We recommend an AWG20 USB cable.

Config Tool

Most configurations can be started from our interactive Repetier-Server Pi Config Tool just by calling repetier-setup on the command line using ssh. Since Repetier-Server 1.4.0 you can even do this from the regular web gui. Just go to    Global Settings   Terminal and login as user pi with the known password (default: raspberry). It will start automatically. If you want to go to shell, just finish the config tool.

Installing the Image

After you have downloaded the image, you need to download the balenaEtcher to flash the image to the SD card. You need a 4 GB SD card or bigger. On a 4 GB card you have only 2 GB free space left, so a bigger card is a good idea. Our preferred size is 32 GB high endurance SD card, which offers a good compromise between space and price. Also bigger cards live longer as we have more blocks to write to.

Download balenaEtcher:

https://www.balena.io/etcher/

Flashing ist really easy:

  1. Start balenaEtcher.
  2. Clicke Flash from file and select the downloaded Repetier-Server image as ZIP file.
  3. Select your SD card as target.
  4. Click Flash! and wait, until it’s finished.

First Boot and Server Access

The first boot up can take a while. The first boot will expand the file system to the size of your sd card and create ssh keys.

Next a script will test, which pi version you are running. If you are running a pi zero with arm v6 architecture, it will disable x window system and switch server to the arm el version, as the default arm hf version can not run on that processor.

To access the server after the first start, you have several options:

  • If it is connected via ethernet cable it will query your routers DHCP server for an ip and is accessible at that ip.
  • If it has a Wi-Fi adapter with access point support, it will switch Wi-Fi into access point mode with the SSID RepetierServer and default password 12345678. Use a smartphone to connect to the network and login to url: http://10.10.10.1 or http://RepetierServer.local if zero conf is supported. Select your router SSID with password and after that it should switch to your network if it is reachable.
  • Bypass the Wi-Fi configuration through Repetier-Server. If a file /boot/wpa_supplicant-wlan0.conf exists, we will copy this file to wpa_supplicant for Wi-Fi configuration and prevent modification of Wi-Fi settings by Repetier-Server. The /boot folder is also accessible if you mount the sd card on a Windows computer, so it can be defined without direct access. Make sure to use unix line encoding! There is a sample config file /boot/wpa_supplicant wlan0.conf.sample for convenience which you can easily customize and rename.

First Steps and Securing the Installation

First steps should be to secure the installation. Change the default login password for user pi in the config tool! Also, by default the access point will enable with default password 12345678 – you should either always disable access point if you connect via ethernet cable (most stable solution) or define your own password, so no external users can use this to login. You might also want to change the access point SSID to make the name unique in case you have multiple Repetier-Server installations running.

If your Pi is reachable externally or by users you do not want to access it, you also need to add a user for Repetier-Server in the user manager.

You might also want to change the host name. With computers supporting zero conf host names, you can always access the gui with http://hostname.local – otherwise you need to use the ip number.

To change the host name and to disable access point mode, go to    Global Settings   Network/Time and select Connection Settings.

Click on Hostname to change your host name and click AP Handling and select Never enable AP if wanted.

It is a good idea to configure your DHCP server (normally part of your router configuration) to always assign the same IP address. This is done by assigning a static IP to the MAC address. You find the Raspberry Pi MAC address in our web front end on the dasboard. Scroll to the bottom and you see for every network device the matching MAC address you should use in your router. All routers have this setting in their DHCP configuration, but since all differ we can not offer a detailed description for your router here.

Now plug in your printer and start configuring your first printer as described in the server manual.

Special Cases / Troubleshooting

No Display

If you have no screen on your pi, you can disable the start of x server and chrome. This reduces CPU and RAM usage. Especially if you have sometimes the problem that the printer disconnects from low power – this might help reduce or even remove the problem.

Open the config tool and login as user pi with the known password (default: raspberry). Then go to 3 Touchscreen  1 Touchscreen (Start Touchscreen) and select 2 Headless system (less ram and cpu for pi 0) to disable the graphical interface.

Rotate Display

Depending on how you have mounted the display, you may need to rotate the screen.

In version 30+ we use a Raspbian OS based on the new Bullseye image. By default the image has the new graphic driver installed. Here the behaviour especially for Pi 4 models have massively changed and the modification of /boot/config.txt might not work as expected when you rotate the screen. You have two options to solve the issue. Solution one is m our config tool, just go to 8 Run raspi-config 6 Interfaces Options  1 Legacy Camera an select the legacy solution. This activates the old video driver and settings have the described effect. Alternatively run

DISPLAY=:0 sudo -AE arandr

in a terminal and a screen orientation tool will appear on your touchscreen. This allows you to change the orientation. Select Configure Screens Your Display Orientation inverted and save it by clicking on the green checkmark. Note that this will only change orientation of the x window system. The startup information on text console is not changed by the setting. Starting with image V32 you can call this also from our config tool in the 2 Touchscreen menu.

If you use the legacy mode or an image version up to V29, you have to edit the file /boot/config.txt. You can do this in Windows when the sd-card is connected or login to the pi and run

sudo nano /boot/config.txt

and search for a line

# Rotate screen 180°
lcd_rotate=2

A value of 0 is no rotation, 2 = 180°, 1 = 90°, 3 = 270°.

You can also do this in Repetier-Server. Just open the config tool starts automatically. Then go to 6 Edit important config files 2 /boot/config.txt and edit the line # lcd_rotate=0. You must delete the # at the beginning of the line so that the parameter is used. Then save with Ctrl + x. Go Back and exit with Finish. Then you get asked to reboot, where you have to select Yes.

Non HDMI Display

There are several cheap LCD displays available, that you can simply put on the Raspberry Pi header pins instead of using the HDMI connector. Especially small displays with resolutions up to 480×320 pixel use this way. In that case the images need to be rendered in a frame buffer that gets send via spi to the display. If you have such a display, follow the instructions of your display vendor to configure the display. After a final reboot the printer front end should then start automatically.

Disable Display Power Saving

In the screensaver settings you can activate/deactivate the hardware screensaver, that turns the display off. Some users report that sometimes the active hardware screensaver does not come back. This is a function from Linux/X11 and we only set the timeout using the xset command. If that is the case, please disable hardware screensaver. Your image will still darken after timeout, just not try to disable the hardware light as it would try to do with hardware screen saver. If someone has a hint what prevents linux from wakeup the screen, please let us know.

Webcam Support

The image is preconfigured to handle a USB or Raspberry Pi webcam. We have implemented an autodetect for webcams. To configure it, simply go to  Printer Settings   Webcam, add a webcam and select the webcam at the bottom and click Assign.

It will start the webcam server and fill in the correct settings. If you have unplugged the webcam, the webcam server will start automatically when you plug in the webcam. Additionally you can set webcam resolution and framerate. Consider that higher resolutions and frame rates need more bandwidth and CPU usage. If this causes any problems like delays or blank screens, reduce them.

Webcam does not work

Some users seem to have no webcam support with current settings. Send on console

/usr/bin/v4l2-ctl --list-formats-ext -d /dev/video0

to see what modes your webcam supports. Adjust video0 by the device id of your webcam! Then edit /usr/local/Repetier-Setup/etc/webcam.conf to use one of the resolution/frame rate combination that your webcam supports. After that reboot the Pi so the changes take effect.

Import from USB Stick

Initially the server is preconfigured to import files from a USB stick. Just insert a USB stick and it will auto mount the drive. If you then select the import function it will show the files on the USB stick.

Pi Zero Mounted on Printer Motherboard

Read Prepare Prusa MK3 if you use the image with a Pi ZeroW. It contains useful informations how to connect to it headless and how to secure your image.

Breaking Changes

Since V30 the image is based on RaspbianOS Bullseye while older version were based on Buster. The newer debian base made some packages disappear and some changes in scripts. Also, by default the new pi graphic driver is used requiring the libcamera ecosystem for pi cams.

Pi Camera

The camera handling has made big changes between Buster and Bullseye. On Buster the pi cam was handled by mjpg_stream raspicam module. With the introduction of Bullseye the default system for pi cameras is called libcamera, requiring a new mjpg_streamer plugin libcamera to work. It is not possible to use both systems in parallel. In config tool select 8 Run raspi-config 3 Interface Options you can activate the legacy camera support. This will make the raspicam solution available with the drawback of activating the old graphic driver. Advantage is, that raspicam allows hardware mjpg encoding while libcamera will always do software encoding and hence have higher cpu loads. We have configured our system to work on both, but libcamera as the new not deprecated solution will be the default solution.

GPIO

If you used wiringpi on older images you should know that this library is now officially deprecated in Bullseye and not available. To show all pin states use gpioreadall in terminal or open our config tool and select 5 Show GPIO pins settings and state. As replacement for gpio use raspi-gpio. Run raspi-gpio help to list the parameter possible. Pins use BCM numbering scheme!