Help and FAQ

If you ever get stuck.

Sometimes it can happen that a certain hardware configuration causes problems. Please check this page first for a solution before contacting us.

How do I get mirr.OS onto the SD card?

Please read the tutorial how to flash mirr.OS to the SD card

I was able to set everything up, but I can’t get to the config interface

If the mirror can be set up normally, a mail comes, the display fits – but you can’t call the config interface: With Fritzboxes (and possibly also with other routers) you can switch on so-called client isolation.

This means that the devices in the network cannot communicate with each other; then, of course, you cannot access the mirror’s web server. In addition, some people deliberately connect IoT devices to the guest network, which often also has client isolation active and a different subnet than the main WLAN.

Conclusion: The devices do not “find” each other. Mirror must be in the same WLAN as the operating device and client isolation must be off (or an exception, but this is only possible with professional routers).

Importing a backup – this is how it works

You have exported your settings and want to import them again after a new installation?

No problem!

  • flash mirr.OS to the card and turn on the power
  • connect with the Pi
  • at the first setup step (selection of the language) you will find the link “or import configuration” below the button to import your settings.

mirros backup importFollow the instructions 🙂

mirr.OS does not find my WiFi

If you have problems to get your mirror on the net after the setup (mail sending fails, mirror resets after a few minutes …), please change the WiFi channel in your Fritz!Box or router. You can use any WiFi channel except 12 & 13.

Please operate the Pi only with the b/g/n (2.4GHz) WiFi! See also: WiFi problems with the Pi 3B

For older versions of mirr.OS

If this still didn’t work, check if you really entered a correct mail address (spaces, mistyping etc.)

If everything has been entered correctly, please connect a keyboard via USB and switch to the console with the key combination Ctrl+Alt+F1.

Log in there (User: pi / PW: glancr!2017)

type in service dnsmasq status

if the status is “active”, with the command

sudo systemctl disable dnsmasq and restart mirr.OS with sudo reboot

Start terminal (from v1.5 mirr.OS one)

For security reasons, the console is no longer available in the default configuration as of v1.5. Of course, you can activate it later.

If you need a console directly on the device:

  1. insert flashed SD card into the computer
  2. Partition system-boot gets activated automatically
  3. On there, find and opencmdline.txt
  4. Remove the word at the end of the line nogetty save and exit
  5. SD card into the Pi, now boots directly to the console (or if necessary after Ctrl+Alt+F1)

mirr.OS does not boot – display stays black

Please do not connect a LAN cable during the initial boot. When you set up the Pi afterwards, you can specify that it should use LAN in the future.

My Smart Mirror keeps going on and off in setup

Your power supply probably does not have enough power. You need 2.5 amps. Also, many mini-USB cables are too “thin” and don’t let enough current through.

Where can I find the IP address of my smart mirror?

You can find it on your router under the list of connected devices. If you enter this IP address in the browser (with http:// in front of it) you will get to the backend and can configure your Smart Mirror.

How do I access my Smart Mirror via SSH?
For mirr.OS one

This is easily done by first finding out the IP address of your smart mirror at your router and then establishing a connection via a program on your computer.

macOS and many Linux distributions come with the application “Terminal” preinstalled (macOS: Applications > Utilities > Terminal, Ubuntu: View Applications > Terminal).

Windows 10: Since version 1809, OpenSSH is supplied directly for Windows PowerShell and the command prompt. So just search for the program “PowerShell” via the start menu and start it.

Older Windows versions: Terminus > Download button > Download and run the file terminus-<current version number>-portable.exe. Then select “SSH Connections” and create a new connection.


If you have worked with another mirr.OS image before, you probably have to change your known_hosts (delete the corresponding lines). Just google for it…

For mirr.OS one

ssh glancr@your.ip.address
User: glancr
Password: glancr!2018

For older versions

ssh pi@your.ip.address
User: pi
Password: glancr!2017

I want to change the display orientation

For mirr.OS one

Connect to your Pi via SSH. Via command

sudo snap set mir-kiosk display-layout=normal

you can change the alignment. Where display-layout can have the following values:

  • normal = regular landscape format
  • inverted = crosswise on the head
  • right = 90° to the right (starting from the normal landscape format)
  • left = 90° to the left (starting from the normal landscape format)

Then restart the Pi:sudo reboot

NOTICE: you rotate the output on the display – the admin area stays on portrait. All widgets that you move to the lower half of the board in the admin area will be output on the display in landscape mode on the right side of the screen.

For older versions

Connect to your Pi via SSH. Via command

sudo nano /boot/config.txt

you can change the line “Display Rotate”. More info. Save and restart. Done.

Display shows “Connect to server (…)” at mirr.OS one

This display appears when the backend was not booted properly or not booted at all. This is not the rule and we would like to find out why and how this happened.

Thank you for helping us find and fix a bug now! The goal is,

  1. to read out the logs on the Pi,
  2. to write the logs to a file and
  3. to copy the file to a USB stick so that you can send it to us

Step-by-step instructions via the terminal/consolev

If there are several command lines, enter them line by line and press ENTER to send the command.

  1. save the service log to a txt file and places it in the home directorysudo sh -c 'snap logs -n500 mirros-one.backend > backend-service.log'
  2. open the file in an editor
    less /home/glancr/backend-service.log
  3. Is a lot of text displayed? Good! Close again with the “Q” key.
  4. now connect a USB stick – not NTFS formatted! FAT32. Wait briefly until it is registered. Check with the following command if the device “sda” is listed with the partition “sda1
  5. If yes, copy file to the stick
    cd /home/glancr
    sudo mkdir stick
    sudo mount /dev/sda1 stick
    sudo mv backend-service.log stick
    sudo umount stick
  6. Now remove the stick, connect it to a PC and send us the file

Display shows “No Signal” or “No Source”.

When did this occur: when we connected 4K displays to the Pi.

If you see this on your display, but you are sure that there is NO hardware defect (display controller, HDMI cable, the Pi itself), then you can try to edit the config.txt on the Pi’s memory card.

For this:

  • flash mirr.OS one to the SD card
  • Insert the SD card into a card reader, call it on this computer and find the config.txt file in the root directory
  • comment out the following settings (remove the # at the beginning of the line) and adjust values

The details about the settings of the “Video Options” in the config.txt can be found here.

Wrong time: time is not correct

If the time or appointments are not displayed correctly or are offset by hours, the system time may have been set incorrectly. Please check the following steps to identify the source of the error:

  • check if all time data run identically staggered (clock, date, calendar)
    • if not, check if the entries in the calendar (e.g. Google Calendar) are set in the correct time zone
  • look in the mirr.OS one system settings, which time zone is set there
    • is the correct time shown on the display (clock widget)?
    • if clock widget is correct, please go to clock widget settings and check if you have set time zone manually (check mark must be out)
    • should the clock then not be correct, then there was an error when setting the system time

If so, please use the console and enter the following two commands:

sudo ls /etc/writable/localtime.tmp

If you get “no such file or directory”, the error is somewhere else. If the file exists, you have to delete it:

sudo rm /etc/writable/localtime.tmp

I want to customize the Raspi config file from mirr.OS one

Via SSH to the Pi

sudo editor /boot/uboot/config.txt

  • Press the “i” key to activate the insert mode.Press the “i” key to activate the insert mode.
  • Make changes
  • Press ESC to exit insert mode
  • Save and exit text editor with :wq
  • Restart Pi:sudo reboot
    The text editor supplied by Ubuntu Core is called vi, instructions:

Error when flashing under Windows 10

According to user reports, current Windows 10 versions may have problems with built-in card readers. If Etcher reports errors when transferring the image file to the SD card or the Raspberry Pi does not boot correctly with the flashed card, please test if it works with an external USB card reader.

I bought the linked display controller but the image is not displayed correctly

If you see one half of the display mirrored and gray stripes appear in the middle, the LVDS settings of the controller are probably not correct. Go to the MENU via remote control. Enter 1147 and you will get to the factory menu. Under the first item General Settings you get to LVDS maps and you can test them from 0 to 15. The correct firmware is



I would like to change the appearance

For mirr.OS one

You can change background color and font color in your settings.

For older versions

From version 0.7.8 it is possible to override the CSS rules in a simple way.  It works like this:

  1. create a file “custom-styles.css” on your computer and write your rules in it
  2. log in on the Pi via FTP (how? see above!)
  3. loads the file into the folder /var/www/custom/

Done. Reload the output on the mirror once via the configuration interface.

How do I change the background? In the folder /var/www/custom/ you can also load your desired background image. Then write the following in the custom-styles.css:

body {
background-image: url("mein-hintergundbild.jpg"); /* Zeile löschen, wenn nur Farbe gewünscht ist */
background-color: #cccccc; /* Farbwerte über Grafikprogramm finden */

Sometimes the images are too dominant and you can’t read the font of the modules well. Then you want to reduce the opacity of the image. This can be done with the specification “opacity”. The CSS would look like this:

body::after {
content: "";
background: url(mein-hintergundbild.jpg);
opacity: 0.5; /* hier die Deckkraft einstellen */
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;

If you don’t want to upload an image, you can also enter a complete URL to an image on the Internet. Remember that the image should have a resolution like your display.

My display shows nothing / I want to change the resolution

For mirr.OS one

In mirr.OS one, the browser automatically adapts to the pixel dimensions of the display.

For older versions

mirr.OS is configured to the resolution of 1920 – 1080 px to match the displays from our build instructions. Depending on the switching order, the Pi may not correctly detect the resolution of the connected monitor and then only output 800 – 600px. If your monitor has a different resolution, you can change this as follows.

  1. Connect to the Pi via SSH (instructions above)
  2. Enter the commandsudo nano /boot/config.txt
    and confirm it
  3. In your editor, look for the line that says:framebuffer_widthund framebuffer_height Enter the resolution of your monitor there. Attention: portrait format, i.e. the larger number is the height. Only the pure number, no px behind it.
  4. If you don’t know the resolution of your screen, you can also disable both lines by putting a hash (#) at the beginning of the line.v
  5. Save with Ctrl+O, then Ctrl+X to exit the editor.
  6. Reboot the Pi with the commandsudo reboot

I want to include my Nextcloud/ownCloud calendar

We are working on full CalDAV support. Until then, you can also share the calendar via the public link and add it to the iCal data source. This works as follows (tested with Nextcloud 16.0.5 + Calendar app 1.7.1):

1) On the calendar view of your Nextcloud: click the share icon next to the desired calendar.
2) Check the “Share link” box
3) Call the web view for the calendar via the chain icon (opens a new window/tab).
4) At the top right there is a button “subscribe” → you can enter the linked address into the iCal data source, e.g. with right click > “copy link”. Now just swap webcal:// in the beginning of your copied URL with https:// and put it in your iCal-data source.

Problems with the Pi 3B+ and mirr.OS one

The problem with the Pi 3B+ is the driver of the WLAN chip. There are problems with the ac transmission standard (5GHz). Solution:

  • change the transmission standard of your WLAN router to b/g/n
  • or create an own WLAN for the Pi in your router with the transmission standard b/g/n

Display on/off via motion detector

We link you to the instructions of a user named “Felix” (many thanks for that). But we have also rebuilt it according to these instructions.

If you use other display controllers than the one recommended by us, you have to check again how the power supply of the display is regulated. But the procedure is identical.

Note: we can not assume liability if something is broken during the conversion!

Instructions on the installation of the motion detector

Set up swap to core

If your SD card allows it for space reasons, you can create a so-called SWAP file. This has the advantage that Pi models with little RAM (e.g. 3B) can swap to this area when memory requirements are high.

  1. Connect via SSH
  2. sudo editor /etc/default/swapfile
  3. Press the i key, INSERT will appear at the bottom
  4. In the 2nd line after SIZE= replace the 0 with 1024
  5. Press ESC and type in and Enter :wq
  6. sudo systemctl enable --now swapfile.service

I have developed a widget and would like to share it with the community

That’s very cool. Get in touch very quickly at with us!