Skip to content
MCU Atlas
RASPBERRY PIPI-4PI-5

MagicMirror2: modular smart mirror on Raspberry Pi

Open-source modular smart-mirror software showing calendar, weather and news behind a two-way mirror, usually on a Pi.

Difficulty:IntermediateCost:Source available

Key Facts

  • Board: Raspberry Pi 3/4/5
  • Display: any HDMI monitor + two-way mirror
  • Software: Node.js/Electron
  • Modules: 1000+ community

About This Project

MagicMirror2 is the software behind countless DIY smart mirrors. A Raspberry Pi drives a monitor placed behind two-way glass and shows modules like clock, calendar, weather, news and hundreds of third-party add-ons (Home Assistant, transit, photos). It is Electron-based and configured with one JavaScript file. The hardware can be as simple as a spare monitor and frame.

Source & Attribution

Source: GitHub
License: MIT
Last verified: 10/16/2026
MagicMirror2: modular smart mirror on Raspberry Pi

Illustration

How to Build It
MagicMirror² is an open-source modular smart-mirror platform. A Raspberry Pi behind a two-way mirror shows a clock, weather, calendar, news and more than 1,000 community modules, running in Electron on Node.js.
Draft: steps not yet verified

Parts Needed

  • Raspberry Pi 3, 4 or 5
  • HDMI monitor (bezel removed, for a slim build)
  • Two-way (one-way) mirror glass or acrylic
  • Wooden frame
  • Power supply

Steps

  1. 1

    Prepare the Pi

    Install Raspberry Pi OS with a desktop, connect the monitor and update the system.

  2. 2

    Install Node.js

    Install a current LTS version of Node.js, following the version the docs ask for.

  3. 3

    Install MagicMirror²

    Clone the repo, run npm run install-mm in the folder, copy config/config.js.sample to config/config.js, and start it with npm run start.

  4. 4

    Configure modules

    In config.js, set your location and units and enable modules such as weather (add your weather API key), calendar (an iCal URL) and news feeds. Install third-party modules into the modules folder.

  5. 5

    Build the mirror

    Mount the monitor behind the two-way mirror in a frame. Bright white text on a black background shows through best.

  6. 6

    Autostart

    Use pm2 (described in the docs) so MagicMirror starts on boot and restarts if it crashes.

Parts List (BOM)
Parts list inferred by MCU Atlas — check the original
inferred
PartQtyRoleEst. PriceBuy
1main board$35–$75View
1display$0–$80View
1glass$20–$60View
1power$8–$12View
Estimated Total$63–$227 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

PiKVM: open-source IP-KVM on Raspberry Pi
Illustration
RASPBERRY PIPI-4
Remote keyboard, video and mouse control of any computer over the network, even in the BIOS, using a Raspberry Pi.
Intermediate·Cost varies·Code
4 parts listed
Pi-hole: network-wide ad blocking on Raspberry Pi
Illustration
RASPBERRY PIPI-ZERO-2-W
A DNS sinkhole that blocks ads and trackers for every device on your network, classic first Raspberry Pi project.
Beginner·Cost varies·Code
3 parts listed
Pwnagotchi: e-ink Wi-Fi learning pet on Pi Zero
Illustration
RASPBERRY PIPI-ZERO
A Raspberry Pi Zero W with an e-ink face that learns to capture Wi-Fi handshakes, framed as a virtual pet.
Advanced·Cost varies·Code
4 parts listed