This article is to discuss what was involved in the making of the Cisco Spark Mirror

Firstly, let me show you a YouTube video of the mirror in action...

As you will have noticed from the above video, a number of things were required to get everything working. The key elements to the Cisco Spark Mirror are;

* Television or Monitor
* Raspberry Pi
* Timber frame
* Observation mirror

  • Lorem
  • Ipsum
  • Dolor
  • Lorem

Always impresses

Whether your a kid or an adult, the Cisco Spark mirror always creates tremendous interest. And when brought together with the powerful Cisco Spark platform, it makes for some really interesting concepts.

Television or Monitor

This is obviously where the content will be displayed. The bigger the screen, the better it will look (but also the more $$$ it will be, including the bigger mirror required). I choose an 80cm (31.5”) HD LED LCD TV. Because I was going to be pulling it apart straight away, I didn’t need to care about warranties and everything else.

One key thing to be mindful of. Ensure you buy a TV/Monitor that has all the connectors (including power) that do not face directly out the back. You will be putting this in some kind of frame and will want to ensure it is as thin as possible. As per the below image, the right hand image has the cables coming directly out the side and not out the back.

Selecting the right screen. Ensure the connectors are facing out one of the sides and not directly out the back.

I decided to make the frame fit even closer to the TV by removing the plastic around the TV. I used a chisel to pry at the edges of the TV till it eventually gave in and split. Make sure to be careful removing the TV controls. They’re wiring is very thin and you’ll definitely need it intact to turn on and adjust the monitor.

Be carefull when pulling apart the TV.

Raspberry Pi & Spark API's

The Raspberry Pi will power the content that is shown on the screen and also act as an iBeacon transmitter.

Using Debian, I installed the standard Apache, PHP engines along with a few tweaks to optimise the experience;
• Turn off the mouse after no activity
• Ensure the screen does not go blank
• Turn off low power warning (specific to Raspberry Pi)
• Rotate screen 90 degrees

The base code comes courtesy of which displays a JavaScript page. This page has a black background along with the following five elements;
• Date and Time
• Weather forecast
• Football schedule
• Messages to user
• Scrolling news

In order to present the Cisco Spark content in the centre of the mirror, I had to remove some elements and move others around. For example, I removed the calendar and news feeds entirely and moved the compliments messages to the bottom of the page.

Now for the Cisco Spark content. I used PHP scripts that refreshed every 30 seconds to check for new messages. Whilst I would have preferred Webhooks to update my script when activity occurred, however my mirror was going to be located inside a firewall (a firewall I have no control over).

The PHP scripts were very basic calls to Cisco Spark to pull the most recent messages. The main one was to GET Messages from specific rooms.

Now things start to take shape. This step can take some time as you tweak the content and layout.

Creating the Frame

At this stage I had everything working. Now it was time to create the frame that everything would go into. There is probably no point me typing everything I did here, but rather show you pictures of the key elements that made up the frame.

Laying out the frame, and then screwing and glueing it all together.

Observation Mirror

Now things get a little weird. By weird, I am referring to the looks you get from people when you ask for “observation mirror”. I probably went to more length than I needed to, explaining that this was just for a TV and not some CSI/NCIS scene.

This piece was probably the part that I had not idea how exactly it would work. As such, I requested a sample first. Ensuring that after placing it on my TV, it would in fact appear as a mirror, whilst presenting text through it.

Once you have your observation mirror, you are most of the way there. You may need to adjust brightness/contrast to maximize the appearence. Then bringing it all together is an exciting moment. However the true satisfaction comes when others start seeing it!!


I hope you were able to follow along without too much pain. Now that you have a working Spark Mirror, you can start to add crazy stuff; iBeacon, motion sensors, touch screen, etc. HAVE FUN!!