For quite a few hackers out there, it’s still hard to find a decently powerful Raspberry Pi for a non-eye-watering price. [Rupin Chheda] wanted to build a magic mirror with a web-based frontend, and a modern enough Raspberry Pi would’ve worked just fine. Sadly, all he could get was single-1 GHz-core 512MB-RAM Zero W boards, which he found unable to run Chromium well enough given the stock Raspbian Desktop install, let alone a webserver alongside it. Not to give up, [Rupin] gives us a step-by-step breakdown on creating a low-footprint Raspbian install showing a single webpage.
Starting with Raspbian Lite, a distribution that doesn’t ship with any desktop features by default, he shows how to equip it with a minimal GUI – no desktop environment needed, just an X server with the OpenBox window manager, as you don’t need more for a kiosk mode application. In place of Chromium, you can install Midori, which is a lean browser that works quite well in single-website mode, and [Rupin] shows you how to make it autostart, as well as the little quirks that make sure your display doesn’t go to sleep. The webserver runs in Heroku cloud, but we wager that, with such a minimal install, it could as well run on the device itself.
With these instructions, you can easily build a low-power single-page browser when all you have is a fairly basic Raspberry Pi board. Of course, magic mirrors are a well-researched topic by now, but you can always put a new spin on an old topic, like in this this retro-tv-based build. You don’t have to build a magic mirror to make use of this hack, either – build a recipe kiosk!
These instructions are just what I need for a project of mine. Thank you.
Why is that called a “mirror”?
It’s a nice smart screen.
Reminds me of DAKboard.
But it’s not a mirror.
Litterally the second picture has a two way mirror in front of it. When the display is dark it’s a mirror and the light parts shine through. Same type of mirror in casinos or tv cop show integration rooms. It’s dark/dim on the other side so you can’t see in.
Midori is based on Chromium, so it’s either just as fat or just as lean.
Midori is in a weird state.
If you download from the official site, you get the “MidoriNG” browser, which is based on Electron & Chromium and as you say is quite heavy.
If you install from Debian package manager like in this tutorial or from the old repo at https://github.com/midori-browser/core , you get the classic Midori that does use Webkit but omits e.g. per-site sandboxing and other memory heavy features. Also no security updates since 2019.
I had no idea what a “magic mirror” is.
I still don’t know after reading the article, though.
Its a mirror, with the reflective backing partially scraped off (or in front of a one-way mirror), so it shows useful information while you look at yourself. Things like the weather, calendar items, etc.
Maybe this is destined to be put behind a mirror..
Hey pro tip for anyone looking for a one way mirror.. don’t buy the films. They aren’t optically decent at all. Although of course ebay and amazon sell them for this use… they’re garbage.
Definitely +1
Its supposed to be a monitor behind a 1 way mirror. This way if you turn it off it becomes a mirror.
You can actually run the MagicMirror² software on a Pi Zero. Just barely runs but it runs. Avoid some of the resource intensive plugins though. I did just do this about 3 months ago and documented everything on my blog. For everyone interested: https://thesmarthomejourney.com/2022/09/02/magicmirror%c2%b2-on-pi-zero-w/
Would love to try this, and add microphone so when someone says mirror, mirror on the wall line, the display puts up fake crack and reply with “anyone but you”
If not the films, than what are you suggesting?
They’ve no idea, they’re just repeating something they once heard on the internet therefore they’re now an expert.
The only difference when making mirrors is normal mirrors have a thick protective coating added after silvering (aluminium these days); for the two-way “magic” mirror they skip that and use a clear coating instead (so it’s shiny on both sides).
Nothing hard or special about it, two-way is pricey because it’s a niche product. Film is fine for hobby stuff, put the nay-sayers into the audio fool category.
Thank you Arya for posting this.
I am the original creator of this project, alongwith a team of students in Grade 10 as part of their Design project.
To your point, Heroku recently stopped their free dynos and I had to run the webserver on the Pi. The CPU utilisation does cross 100% and the Pi is barely able to keep up.
Thanks for sharing the project with us. You might consider switching to terminal based output, so ditch the webserver and the browser. Font size is easily scaled and there are libraries which allow for thumbnails etc. in terminal output like: https://github.com/hackerb9/lsix
Was looking forward to a guide on BUILDING a MAGIC MIRROR, but no. It’s just a one page github about showing a page on a web browser.
.. on a raspberry pi zero w, which is the novel part of it. Information on building magic mirror’s is widely available on the interwebs and the google algorithm will help you find the best resources.
There’s no shortage of magic mirror guides online, let’s be fair!
Why use Raspbian at all?
Use Alpinelinux instead, use very little memory, and does not destroy SD cards.
Ok, if it’s a student prototype project then I’ll forgive the inefficiency of running a browser and server rather than fetching data and rendering it more directly.