Behind a sheet of two-way glass, an ordinary display turns into a smart magic mirror that shows the time, weather, your calendar, and the morning's news while still working as a normal mirror. The software doing the work is MagicMirror2, an open-source Node.js application that runs on any Linux machine including a Raspberry Pi, and the build is well within reach of a patient weekend. Here is how to put one together from the Pi up.
Quick Answer
You build a magic mirror by running MagicMirror2 on a Raspberry Pi connected to a display, then mounting that display behind two-way mirror glass in a frame. The Pi renders an Electron app that shows widgets like clock, weather, calendar and news as glowing text the glass lets through. A full DIY build typically runs in the R6,000 to R8,000 range in parts depending on screen size.
What you need before you start
The core of the project is a Raspberry Pi, a Raspberry Pi 5 renders the MagicMirror2 interface smoothly at 1080p without lag. You will also need a display roughly the size you want the mirror to be, a sheet of two-way mirror glass or acrylic cut to match, a frame to hold it all, and a power supply. A microSD card holds the operating system, and you control the Pi over your network rather than with a keyboard once it is running.
The mirror illusion is simple physics, the bright pixels of the screen shine through the two-way glass while the dark background of the interface stays reflective. That is why MagicMirror2 themes are white text on black, the black areas read as mirror, the white areas read as display.
Step-by-step build
- Flash an operating system to the microSD card. Open Raspberry Pi Imager and choose Raspberry Pi OS, enabling SSH and your Wi-Fi credentials during the flash step so the Pi joins your network automatically on first boot.
- Boot the Pi, connect to it over your network, and run the system updates so you start from a current base.
- Install MagicMirror2. The project provides an installer, after which it runs as a Node.js and Electron application. Start it once to confirm the default modules appear on screen.
- Mount the display. Lay the screen face-down against the back of the two-way glass, build a frame around both, and secure the Pi to the back of the assembly with the display cable and power routed neatly.
- Set the Pi to launch MagicMirror2 automatically on boot, so the mirror comes alive whenever it has power without you touching it.
Take your time on the frame. The gap between glass and screen must be minimal, any visible air gap shows as a shadow and breaks the illusion.
Configuring the modules
Everything you see on the mirror is a module, and MagicMirror2 has hundreds to choose from. The config file controls which modules load and where they sit on the screen, by region such as top-left or bottom-bar.
The starter set most people want is clock, current weather and forecast, a calendar feed pulled from your existing online calendar, and a news headlines ticker. From there you can add public transport times, a compliments module that greets you, smart-home status, or anything from the community library. Add modules one at a time and restart to check each renders cleanly before piling on more, an overloaded mirror looks busy and defeats the calm ambient look.
Choosing the brains of the build
The Pi 5 is the comfortable choice for a responsive mirror, but the project is flexible, MagicMirror2 runs on any Linux machine, so a small mini PC works just as well if you would rather not source a Pi. A mini PC gives you more headroom for extra modules or a future upgrade to a touch layer. Either way you want something compact enough to hide behind the frame. The mini PC range at Evetech covers small-footprint machines ideal for this kind of always-on ambient project, and checking what locals are buying through the PC best sellers at Evetech gives you a useful baseline before committing.
Frequently Asked Questions
Which Raspberry Pi do I need for a magic mirror?
A Raspberry Pi 5 is the safe choice, it drives the MagicMirror2 interface smoothly at 1080p. Older models can run it but feel sluggish once you add several modules, so go newer if you can.
What is two-way mirror glass and where do I get it?
Two-way mirror glass is partially reflective, it acts as a mirror over dark areas while letting bright screen content shine through. Glass merchants and acrylic suppliers cut it to size, acrylic is lighter and cheaper, real glass looks sharper.
Can I build a magic mirror without a Raspberry Pi?
Yes. MagicMirror2 runs on any Linux machine, so a compact mini PC works as a drop-in alternative and gives you extra performance headroom for more modules.
Does the screen need to stay on all the time?
For an always-ready mirror, yes, though you can schedule it to sleep overnight or wake on motion with an added sensor module to save power. Modern displays sip very little at this brightness.
Is MagicMirror2 free?
Yes, MagicMirror2 is free and open source, along with the vast majority of its community modules. Your only real cost is the hardware, the display, the Pi or mini PC, and the glass and frame.
Ready to build your own ambient smart display? Get the compact brains for the job from the mini PC range at Evetech and start your magic mirror this weekend.