HowTo: MagicMirror - Build your own MagicMirror

When I moved into a new apartment, I was faced with a new (absolute luxury) problem.

My old MagicMirror, which I had previously installed in my bathroom cabinet, couldn't move with me as it would no longer fit in the new bathroom cabinet.

But since I didn't really want to miss out on this luxury, it was time for a new design. And this time I didn't want to repeat the design mistake from before: The new MagicMirror should also be "relocatable" and generally a little more timeless.

The result is the (quite classic) design shown below. The 4mm spyglass pane is framed in a self-made oak frame. Behind it is a Lenovo TFT display. I removed a few housing parts so that everything fits into the 50mm deep frame.

The whole thing is "powered" by a RaspberryPi Zero 2 W (which I was lucky enough to buy at a normal price before the chip crisis).

The display currently shows me the usual weather data, appointments and data from my SmartHome. However, you can configure the display according to your own requirements.

The following article is not a classic step-by-step guide, as I have only documented the assembly in passing this time. However, I hope that the information is sufficient if you want to build your own MagicMirror 🙂

View of the information displayed on my MagicMirror.


Safety instructions

I know the following notes are always kind of annoying and seem unnecessary. Unfortunately, many people who knew "better" have lost eyes, fingers or other things due to carelessness or injured themselves. Data loss is almost negligible in comparison, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Because even the coolest project is not worth injury or other trouble.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links/advertising links

The links to online shops listed here are so-called affiliate links. If you click on such an affiliate link and make a purchase via this link, Nerdiy.de will receive a commission from the relevant online shop or provider. The price does not change for you. If you make your purchases via these links, you support Nerdiy.de in being able to offer other useful projects in the future. 🙂 


Requirements

Helpful articles:
To be able to use the RaspberryPi for your MagicMirror, you need to consider a few basics. I have described these in the following articles.

In the following lists you will find all the parts you need to implement this article.

Required tool:

NumberLink
1xScrewdriver set  Buy at Amazon
1xSD card reader  Buy at Amazon
1xTweezer set  Buy at Amazon
1xBaking paper  Buy at Amazon
1xOne-handed clamp  Buy at Amazon
1xRouter and edge router  Buy at Amazon
1xBosch Professional panel saw/Chop saw  Buy at Amazon
1xOne-hand frame clamp  Buy at Amazon
1xSoldering iron set  Buy at Amazon

Required material:

NumberLink
1x Raspberry Pi Zero 2 W  Buy at Amazon
1x Mini HDMI to HDMI cable 0.9M  Buy at Amazon
1x Two-core cable  Buy at Amazon
1x Micro SD card 64GB  Buy at Amazon
1x LENOVO Q24i-1L screen  Buy at Amazon
1x Ruthex threaded inserts  Buy at Amazon
1x Power Delivery trigger board  Buy at Amazon
1x USB StepDown Converter  Buy at Amazon
1x Lenovo adapter  Buy at Amazon
1x Micro USB cable short  Buy at Amazon
1x HDMI ribbon cable  Buy at Amazon
1x Ponal Pur 12 wood/PUR glue  Buy at Amazon
1x Tapping screws 3.9 x 25 mm  Buy at Amazon
1x Montage Klebeband 3M doppelseitig  Buy at Amazon
1x Cable tie black short  Buy at Amazon
1x M3x16 Countersunk head screw  Buy at Amazon
1x schraubenpost.de® | Countersunk screws with hexalobular socket (TX) -...  Buy at Amazon
1x OPIOL QUALITY® Countersunk head screws with hexalobular socket TX DIN...  Buy at Amazon
1x 3x16Countersunk wood screw  Buy at Amazon
1x Cable tie black short  Buy at Amazon
1x Cable tie black short  Buy at Amazon
1x PLA filament black  Buy at Amazon


The planned design

I have prepared a few construction sketches below. I recommend that you print these out to rebuild the frame. This way you will have all the required dimensions to hand when building.

On the left you can see the overall dimensions of the finished housing.

On the left you can see the dimensions of the frame parts on the long side.

Ein komplettes Set dieser Leisten könnt Ihr hier bestellen: https://www.massivholzleiste.de/de/leisten/192-magicmirror.html

On the left you can see the dimensions of the frame parts on the short side.

Ein komplettes Set dieser Leisten könnt Ihr hier bestellen: https://www.massivholzleiste.de/de/leisten/192-magicmirror.html

Rendering from the CAD tool.

Rendering from the CAD tool.

The different components are shown in different colors to make them more visible.

The TFT display is shown here in red. All other colored components can be produced with the 3D printer.

Rendering from the CAD tool.

The hanging mechanism can be seen on the left. The purple hook is attached to the wall. The mirror can then be hung on the wall using the black hook. The orange component prevents the mirror from simply being lifted off the hook if it is only lifted from below, for example. The mirror can only be removed from the wall if it is tilted slightly.

Other view.

Rendering from the CAD tool.

Rendering from the CAD tool.


Collect the necessary parts

3D printing parts

In addition to the parts shown in the materials list above, you will also need a few 3D printed frame parts. I offer these for download in my store. You can find them under

Wooden slats

Die Holzleisten habe ich auf die passende Länge zugeschnitten, bei dem Onlineshop von Solidwoodmolding.com bestellt und dann entsprechend bearbeitet. Dank der Hilfe von den Leuten hinter Massivholzleiste.de könnt ihr die Rahmenteile aber nun auch als fertig vorbereitetes Set bestellen. Das heißt um den Rahmen zu bauen müsst ihr lediglich die gelieferten Rahmenteile zusammenleimen.

Glass plate or spy glass

I purchased the glass plate or spy glass from the online store of Brigla glass fertig zugeschnitten bestellt. Den genauen Artikel habe ich im folgenden verlinkt. Ihr benötigt dieses Glas in der Größe 40x60cm.


Building the frame from wooden slats

Building the wooden frame was the biggest challenge for me. Because I'm not really used to working with wood. I also didn't have the necessary tools. But once I had stocked up on a decent cross-cut saw and a small router, it worked out quite well.

I have already ordered the frame rails cut to size.

I only had to add the grooves for the glass pane and the miter cuts.

In the picture on the left, I have already added the grooves for the edging of the cover plate.

You can find the exact measurements of the patterns on the

At this point, I had also planned to install a backplate (hence the groove opposite). However, I left this out later so that the heat from the electronics could be dissipated better.

I still recommend cutting both grooves. This way you can see later which grooves turned out best and fit together best.

Other view.

Other view.

I used a mitre saw to cut the mitre cuts. The advantage of this is that you can set the angle of the cut precisely. The cuts are also very clean, which is very practical for a frame with a decorative character.

After cutting the miter cuts, your frame parts should now look something like this.

I used the frame clamp shown to glue the frame parts together. It worked really well and is quite a relief. And I strongly recommend investing in these. I used PU glue to glue the wooden parts together.

I have listed both the frame clamp and the PU glue in the materials list above.

Instead of placing normal paper under the glued corners, as shown in the picture, I recommend using baking paper. This is easier to remove later and reuse if necessary (not for baking, of course) 🙂

Another view in which you can see how well (thanks to the frame clamp) the frame parts are pressed together.

You can see more photos of the frame below. As soon as the glue has hardened, you can remove the clamps. I recommend sanding the whole frame again with fine sandpaper. This will remove the glue residue and give the frame a professional look 🙂


Attach adhesive tape to frame

After the frame was assembled and cleaned/sanded, I applied adhesive tape to the areas that would later hold the spy glass.

The finished frame then looks something like this.

Before you glue the glass to the frame, you should check again very carefully that the...

...the coated side of the glass (i.e. the actual reflective layer) is on the back or underside.

This is because it is somewhat sensitive to scratches and should not face outwards later.

Now you can remove the protective layer of adhesive tape.

And place the glass on top.

Now you can see the first result.

If you have done everything correctly, the glass will now fit almost exactly in the frame.

(Unfortunately, this one corner didn't turn out quite perfect for me. Overall, however, this side of the frame was the nicer one, which is why I accepted this small flaw. It's just self-made. :))

Another view of the gap dimensions.


Attach 3D printed mounting brackets and other components

Now you can install the 3D printed frame parts on the inside of the frame.

Bear in mind that you need to be very careful with the glass surface. The coating is sensitive to scratches and you should be careful not to scratch it with sharp edges. Otherwise the coating may be damaged and the glass may become 100% transparent at this point.

In this step, the attachments shown below are fitted.

After this step, your frame should look as shown.

To do this, you should first apply the double-sided tape to all components as shown.

...attach the adhesive tape.

First screw the corner pieces to the inside of the frame WITHOUT first removing the protective film from the adhesive strip.

This step is only about preparing the screw holes in the frame.

Repeat the same step for the elongated frame bracket.

Then remove all components again to check that there are screw holes in the frame for each component.

Now you can remove the protective film and finally position the components and screw them to the frame.

Make sure that the corner pieces are slightly different.

Place the frame parts in the appropriate corner beforehand and check several times that they are really in the right corner.

The frame parts will probably be very difficult to remove from the bonded glass later on.

There are always two parts that are identical.

You can also use the pictures shown above as a reference.


Insert the TFT display into the prepared holder

You should now have everything ready to insert the display into the frame as shown below.

On the left you can see the inserted display.

I removed the cover of the lower electronics beforehand. Unfortunately, I don't have any more pictures of this process.

After you have inserted the display, you can fix it in the frame with the mounting parts shown.

You will need four M3x16 countersunk screws for each corner.


Fitting additional parts

Last but not least, of course, the other add-on and electronic parts are still missing.

At this point you can insert the holder for the PD-Trigger breakout board.

The PD trigger board is then later pushed into the holder from the side and fixed in place with a little hot glue.

You can then mount the bracket for the Raspberry Pi Zero 2W as shown.

I have already used the M2 threaded inserts to fix the Raspberry Pi. If you haven't already done so, you should do so now so that...

... the RaspberryPi Zero 2 W can then be fixed later with four M2x8 screws.


Preparing the power supply

The power supply for the MagicMirror is provided by a PD trigger board that (must) request the 20V/3A profile from a 65W USB-C Power Delivery (at least).
The 20V from the PD trigger board is then used directly as a power supply for the TFT display.

In addition, these 20V supply a buck converter to 5V to supply the Raspberry Pi with power.

In order for the Lenovo TFT display to accept the slightly modified 20V power supply, we have to adapt the Lenovo connector to Lenovo's proprietary power supply standard.

You can find more information on how the Lenovo connectors work at

The structure of the Lenovo connector is basically as shown on the left.

The middle pin is connected to the negative pole via a resistor. Based on the resistance value, the Lenovo device can then recognize which power is available.

The following table applies:

PerformanceResistance
36 W7.3 kΩ
45 W120 Ω
65 W280 Ω
90 W550 Ω
135 W1 kΩ
170 W1.9 kΩ
230 W4.6 kΩ
300 W8.6 kΩ

Since the Lenovo display we are using comes with a 45W adapter, we should use a 120 Ohm resistor.

You can also find more information here:

Unfortunately, the Lenovo plug cannot be ordered separately. (At least I have not found an offer)

I therefore bought the adapter shown on the right-hand side of the photo and carefully cut the Lenovo plug out of the plastic. This works best with a small side cutter.

You should then solder the 120 Ohm resistor to the Lenovo connector as shown below.

In addition to the Lenovo connector, you will also need the

  • Power Deliver Trigger Board

and a

  • StepDown converter with USB connection

I have listed both in the material list above.

ATTENTION: In order for the power delivery trigger board to request the correct voltage, you must set the small switches (under the yellow foil, which you can remove if you wish) correctly. The correct setting is documented on the back of the board. However, it doesn't hurt to measure with a multimeter here either 🙂

On the picture on the left you can see the connection of the individual modules.

The Power Delivery Trigger Board is connected to a PD-capable power supply unit via a USB-C cable. It is supplied with 20V/3A from this.

The 20W are then passed on to the StepDown converter with USB connection (blue light). This then supplies the RaspberryPi Zero 2 W via a short micro-USB cable.

The PD Trigger Board is also connected to the previously prepared Lenovo connector and thus supplies the display directly with 20V.


Attaching the suspension

Due to the slightly higher weight of the finished frame, I was really worried that it might fall down and injure someone. To prevent this, I came up with a small self-locking hanging mechanism. This means that the frame can be hung up as normal. However, it can only be removed if you tilt the frame at a certain angle and then lift it off the hook.

I printed the hook on my 3D printer and then attached it to the wall with two dowels and matching 5mm screws.

The hook is designed in such a way that it allows some play to center the mirror exactly (i.e. to move it to the left or right) but at the same time prevents the frame from being pushed to the left or right of the hook.

In order for the self-locking function of the hook to work, you must fix the frame shown to the frame with three wood screws as shown.


Installing the software

I have not yet documented the installation of the software. However, there are some very good tutorials on the website of the inventor of MagicMirror. In the following list you will find a few links to get you started.


More articles on the topic

In the following category you will find more links about Rasperry Pi and Node Red.


Have fun with the project

I hope everything worked as described for you. If not or you have questions or suggestions please let me know in the comments. I will then add this to the article if necessary.
Ideas for new projects are always welcome. 🙂

PS Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you think it's cool that I share the information with you, I would be happy about a small donation to the coffee fund. 🙂

Buy Me a Coffee at ko-fi.com       

Kommentar hinterlassen

Your email address will not be published. Erforderliche Felder sind mit * markiert

This site uses Akismet to reduce spam. Learn how your comment data is processed.