Heated shoe insoles, part I

by on 19/02/2018

A few weeks ago we were downhill skiing at Tahko ski resort. It was rather cold, around -10c .. -15c. After a while my toes started to feel a bit cold and after a while even more. Then I recalled about heated insoles which my colleagues had mentioned earlier.

After Tahko trip, I did some googling about heated insoles. I found out that few of my local shops were selling those and the price varied a lot. One is selling quite proper ones for 139€ which you can eg. control with your phone. Other were just battery operated or similar. Their price was from 15€ to 40€.

Next I checked Ebay and Banggood, who hold quite a collection of different heated garments, including insoles. Prices started from 4€ and ending to over 100€. I put few of the most cheapes insoles in order and one pair of heated gloves (also the cheapest ones). But lets see how long does it take to get them here.

Meanwhile I got the Lenz 1.0 insoles which cost about 15€. The connector is a custom case, 4 pins with 2.54mm pitch. Initially I though that 4 pins could mean that there is a temperature sensor inside, but…

… there was none. Two middle pins were not even connected to anywhere. I measured resistance to be about 9 ohms. I would guess that Lenz-system uses Li-Ion batteries (3.7V), so the heating power is about 1,5W.

I planned to use USB power bank, which gives out 5V. Power banks have charging electronics, etc. so I wouldn’t need to implement those. I only needed to do the power control and I chose PWM to do that. Microcontroller would generate PWM signal to drive power MOSFETs, which are then connected to insoles. Full power would be 2,7W which I believe is enough and with PWM it is easy to adjust what ever you like.

I chose Atmel ATtiny44 as microcontroller, because I had those, it had enough pins and not too many pins. It comes in 14-pin case, so there are pins to handle PWM output, button input and four leds. Schematic is quite simple:

User interface is also very simple. Short button press displays its current power setting for few seconds and holding the button down, it changes the power settings. There are five different power settings:

  • Off
  • 25% power
  • 50% power
  • 75% power
  • 100% power

Leds indicate power setting, 1 led on = 25% power, 2 leds on = 50% power and so on.

I quickly made the circuit to the test board and coded the software for ir. On the video, you can see how leds are indicating power settings. Led on the right indicates PWM signal.

I did the final layout with SMD components, so that the case would be a thin as possible.

Mechanics I desingned using Autodesk Fusion360.








I decided to fill led holes with hot glue, which would act as a light guide. Wires to the insoles go out on the left and right and the 5V from the power bank comes in to the middle hole. I purposely left out all the connectors from the controller, so it would be slim as possible. But lets see do I need to put some connectors after initial tests. I printed connectors for the custom Lenz-connector, so they would not disconnect so easily if only pinheader is used.

Next I need to make PCB and solder components.

Leave a Reply