Get Started

A smart mirror that reads you a morning briefing, written by its own AI

A mirror on the wall that shows the time, your calendar and the weather, then at seven o'clock says good morning, tells you to take an umbrella, runs through your day and reminds you about the bins. The briefing is written by an AI model running on the Raspberry Pi behind the glass and spoken in a British voice, with nothing sent to the cloud. You'll have the whole thing running on your PC before you cut any wood.

360 minAdvancedTools: Around £300 to £450 (Pi 5, monitor, two-way acrylic, frame, speaker), software freeStep 1 free
A working MagicMirror² 2.38 displayclock, calendar, Open-Meteo weather and a news ticker
A morning briefing moduleweather, today's events and your to-dos turned into a few spoken sentences by a local model
A British voice from Piper reading it aloud at the times you choose
  • A real mirror: two-way acrylic over a monitor in a vented frame, starting at boot
  • A kit: the briefing module, a ready config, a Pi setup script, a systemd service, a frame guide and parts list
Before you start
  • A Raspberry Pi 5 8GB (£168) to run the model on the mirror, or a Pi 5 4GB (£105.60) with a smaller model or Ollama on another PC
  • A 21.5 to 24 inch HDMI monitor, see-through acrylic cut to size (around £30 to £60) and a deep frame
  • A USB speaker or speakerphone for the voice
  • Node.js and Python on your PC for the dry run. Never used Ollama? Start with Run AI on your PC
  • Comfortable with SSH and editing text files: Terminal survival kit
01/07Run the mirror on your PC first0 done
STEP 01 of 07~25 min

Run the mirror on your PC first

See your own MagicMirror in a browser window before buying anything.

  1. How a smart mirror worksA two-way mirror reflects the room but lets bright light through from behind. Put a monitor behind it showing white text on a pure black background: the black stays a mirror and the text floats in the glass. [MagicMirror²](https://magicmirror.builders) is the open-source app that draws that screen, with hundreds of community modules.

  2. Install itMagicMirror 2.38 needs Node.js 22.22.2 or newer (24 is fine). On your PC:

    Windows, Mac or Linux
    git clone --depth 1 --branch v2.38.0 https://github.com/MagicMirrorOrg/MagicMirror.git
    cd MagicMirror
    node --run install-mm
  3. The kitDownload the kit or open kit.md. Copy the kit's config.js to MagicMirror/config/config.js and its MMM-MorningBriefing folder into MagicMirror/modules/. Change the latitude and longitude in both weather blocks and the briefing block to yours. Then check it and start it in server mode, which serves the mirror to a browser:

    Terminal
    node --run config:check
    node --run server
    Output
    Your configuration file doesn't contain syntax errors :)
    Your modules structure configuration doesn't contain errors :)
    ...
    Module helper loaded: MMM-MorningBriefing
    Starting server on port 8080 ...
    Server started ...
  4. Open http://localhost:8080. The clock, UK bank holidays, Open-Meteo weather (no API key) and the BBC science feed appear on black. The briefing area says it can't reach Ollama yet; that's the next step.

✓
Checkpointhttp://localhost:8080 shows the clock, calendar and weather for your location.
If it breaksconfig:check fails with an unexpected token + 1 more
config:check fails with an unexpected token
A missing comma or bracket in config.js. The error gives the line number. Every module block is { ... }, and the file ends with the module.exports line exactly as in the kit.
The weather says Loading forever
Check lat and lon are numbers (no quotes) and that the PC can reach api.open-meteo.com. Open-Meteo needs no key for personal use.
Still stuck? Ask the community
Next mission · Advanced buildsSee every watt in your house, and know which appliance used it
→