Making Infinity Mirror Light-Up Shoes with Balena

I thought it would be fun to revisit one of the first electronics projects I ever made, a pair of light up shoes.

Here’s a photo:

These shoes had a clear platform that was roughly three inches in height. I thought this platform would be a great place to host some LEDs and microcontrollers. These shoes also had an interactive element. When flipped upside down, the light would change color!

Here is a video to give you an idea:

I made this project by buying a pair of existing shoes, peeling off the sole, and stuffing some electronics in the wedge. The electronics consisted of some poorly soldered rgb LEDs, an Arduino pro mini, a tilt switch (to determine whether they were upside down or not) and a 9V battery. The sole was reattached with velcro and I would peel it off whenever I needed to change the 9V battery. Needless to say, this was not a very robust design. Whenever I took them out to dance class they just fell apart.

Despite these shortcomings, it was overall a very enjoyable project and I thought it would be fun to approach again with more experience behind me.

After doing some research I came across these shoes:

Here is a link.

These heels are a little taller, about 7 inches in height. They have a lovely, clear platform, and they have a flap on the sole which opens and lets you place various items inside of it. This is perfect for accessing the electronics once they are already inside.

This flap is big enough for a Raspberry Pi Zero to slide through and there is more than enough space inside of the wedge to position the RPi comfortably. Also, with Balena I will never really need to take the Pi out of the wedge because I will be able to access it remotely.

I recently acquired a Unicorn pHat and wanted to incorporate it into the shoe.

I think infinity mirrors are really cool and I want to see if I can turn the heel of this shoe into a small infinity LED mirror.

Here’s a photo of an infinity mirror for reference:

I found this website to be very informative: How to Make an Infinity Mirror [Complete Step-By-Step Guide] . It lists a bunch of useful products and information about infinity mirrors.

I have yet to start this project. However, I have a rough idea of how I’m going to go about making it.

Rough plan:

  • Purchase supplies: two-way dimmed mirror film, one way mirror film, another Unicorn pHat
  • Add a LiPo battery to Raspberry Pi Zeros.
  • Purchase shoe glue
  • Research how to safely remove sole from shoe
  • Line the insides of the shoe with two-way mirror film and one way mirror film.
  • Find a way to fasten the Raspberry Pi, Lipo battery, and Unicorn pHat inside the shoe.

I’m going to use Balena to control the LED pattern inside of the shoes. Each shoe will contain one Raspberry Pi Zero which is running Balena. As an MVP I can manually change the python script and then push it in order to change the LED pattern inside of the shoes. Eventually, I would like to have a nice web interface which lets users create a frame by frame animation for each shoe.

One of my goals for this project is to create an item which is easy to use and maintains durability when exposed to the outside world. I would like it to be easy to update/change while also ensuring that the electronic components inside it do not break or jostle when the shoes get taken for a walk.

One issue which I will have to take into consideration is what happens when the shoes are out in the world and are not connected to the internet. I would like to find a way to connect them to the internet if there is a Wifi connection available. I could probably do this using the Balena’s Wifi Connect (GitHub - balena-os/wifi-connect: Easy WiFi setup for Linux devices from your mobile phone or laptop). But if there is no Wifi available, I would like them to default to the last animation pattern which was “pushed” onto them. Perhaps users can choose a pattern which the shoes default to when they are disconnected from Wifi.

I’m going to start building these shoes within the next couple of weeks. I’ll post my progress here!


This is amazing @jmakivic looking forward to see this working!

edge computing meanwhile it’s offline :slight_smile:

Thank you @mpous ! I’ll look into it!

How are these coming along @jmakivic ? :slight_smile:

They’re coming along @dtischler ! Just waiting on a few supplies to arrive.

1 Like

Awesome! :raised_hands:

I have a few small updates for this project. I’ve acquired the necessary hardware:

Fitting all of the items into the shoe was more difficult than I had anticipated. I also had a hard time extracting them later. I found it really difficult to position the LiPo battery so it didn’t rest on top of the Pi and the pHat. The battery also made accessing the charging port very difficult. I had to take out the entire circuit in order to charge it when it was depleted. However, on the bright side(no pun intended), the lights ended up being so bright that the battery didn’t really end up blocking them.

Here’s a photo and video which shows how the circuit looks inside the shoe and how it looks outside. Although it’s very messy and jammed inside, I still think the light looks pretty good! Hopefully the smaller battery will help it look more organized.

I’ve ordered a smaller 500mAh battery to see if that makes positioning everything inside of the shoe easier. The 1200mAh battery was able to last a few hours, I’m hoping that the 500mAh battery will be able to last at least for an hour on its own.

To do:

  • I also received some infinity mirror film samples and I’ll be applying them to the shoes later this week. I can’t wait to see that infinity effect!
  • I need to make a web interface for crafting patterns on the pHat. I’m thinking of using websockets and hosting the website on the pi like I did for my alternative controller game
  • I want to make sure the shoes can still show patterns even if they are offline. I want to find a way to let users establish a pattern that the lights default to when the shoes are not connected to the internet.
1 Like

I missed this update when you posted it somehow @jmakivic – this is too cool!

1 Like