Piezo-Powered Self-Lighting Circuit

Xiao Xiao


test the feasibility of self-powered circuit that can be embedded in a shoe for wearable fashion applications.


a circuit that flashes 10 LED’s with the press of a button on a piezo spark generator.


I started by looking at the self-powered shoe from Responsive Environments group and wanted to acquire a large piece of piezo film that could be embedded in the sole of a shoe. After consulting with Mark Feldmeier, I learned that the piezo elements large enough to generate enough power for the shoe would be too expensive to use if I wanted to make more than just a single prototype.

Mark recommended that I look into the piezo push-button switch that he made (link to paper). The switch excites a piezo element at its resonate frequency and is thus able to generate much more power with a compact form. Here’s a picture of the power-harvesting circuit from the paper:

The piezo element generates a waveform with very high voltage. The waveform goes through the transformer, which lowers its voltage, and then a diode-bridge full-wave rectifier, which converts the negative portions of the signal to positive. The energy from the piezo is then stored in the capacitor. The capacitor is connected to a linear regulator, which outputs a constant 3v to some load circuit whenever the capacitor has enough charge.


I got a switch, transformer, diode bridge and capacitor from Mark along with the original board, which is fairly small and would definitely fit under high heels. I soldered the parts on and checked the output of the capacitor on a scope to see that it gets to about 20v with each button press.

To test the power of the circuit in practice, I hooked up 10 red LEDs (2v voltage drop, 16mA) in series coming out from the capacitor. When I press the button, they all light up fairly brightly for a fraction of a section.

(Incidentally, I wired the LEDs in parallel initially by mistake, and the circuit still worked. I feel like this isn’t so kosher as each LED is getting 20v with each click, but Mark says that since the transformer has very high impedance, it’s not actually as horrible as I think.)


  • Piezo switch harvested from Scripto Aim ‘N Flame – $5.99 each
  • Transformer: ~$1
  • Tank capacitor: ~$1
  • Diode bridge (DF01S): $.62
  • Linear regulator (MAX666, not used right now): $4.14


I also did some math to figure out what other types of applications this circuit could power.

  • The small switch (that I used) generates 0.5mJ per push.
  • Given 3 pushes/sec, this gives 1.5mW (1.5 mJ/s) of power.
  • With 30 minutes of continuous walking, this generates 30 minutes * 60 sec/minute * 1.5 mJ/sec = 2700 mJ

There’s also the possibility of using a bigger switch (like below), which can still fit in a high heel but generates 20mJ per push

  • 20mJ/push gives 60mW given 3 steps/sec
  • In 100 steps, this gives us 2000mJ. Given 3 steps/sec, 100 steps takes about 30 seconds.
  • With 30 minutes of continuous walking, this gives 30 * 60 * 20 36000 mJ = 36J.


Some possible efashion applications:

  • Low power LEDs: 1.6 mW (red), 1.9 mW (yellow), 2.8mW (white)- this is given that the lights are continuously on. Flashing lights would definitely have enough power.
  • Accelerometer: 3.5V * 1.5mA = 5.25mW
  • ATtiny13 (small microcontroller): at 3v, 0.72mW
  • Speaker: .25W = 250 mJ/s. Let’s say we want to play 10 seconds of sound, that’s 2500 mJ
  • Vibration motor: 3v * 75mA  = 225 mW
  • Spinning motor: 3v * 320 mA = 960 mW

The small switch would enable occasional usage of most these features after some charging. The large switch would enable even more frequent usage.


I ordered a large switch. It’s arriving soon. Will build a power-harvesting circuit around that.

7 thoughts on “Piezo-Powered Self-Lighting Circuit

  1. Hi there! I’ve red your article DIY : ”Piezo-Powered Self-Lighting Circuit” and found it really interesting. You said that you must absolutely use a piezo spark generator to create a fair enough voltage to be regulated. I was thinking of building a similar project but with a standard Piezo Disk. (ambient sounds gives a pretty low voltage but each ”hit” on the disk reach around 1,2V AC)
    What if I invert my transformer ratio? Would be like 1:90. My voltage would be bigger and it could be enough to charge a battery? What do you think about it?
    Thanks for reading me, your project is really nice. The future is self powered electronic!

  2. Hello,
    I would like to set up a piezo based circuit to light 6-10 LEDs at night and store the electric generated during the day. I would love some help with my prototype or just design help. Your knowledge on the subject far exceeds mine and I would really value your input.

    Kind regards

  3. Dear Sir,
    I am attempting to do this project as my 8th grade science project.. and I need help. A lot of help! Where can I purchase all the elements that you had to place inside a shoe to try and generate some power to charge a small cell phone or battery.

    Appreciate any help you can give me.
    I did purchase a complete board and chip https://www.sparkfun.com/products/9946 and some piezo ceramic discs.

    Kind regards,

  4. Hey, this is pretty cool and I’d like to build it. I’m based in South Africa and wondering where I’d be able to get the piezo push button switch?

  5. Dear Xiao Xiao,
    I’m a final year student at the London College of Fashion, Cordwainers (footwear) in London.
    I am including wearable tech in my final collection but not being very knowledgable of electronics I came across your work on the internet and was wondering if you could give me some advice on making the piezo circuit you have designed.
    My design idea is to have lights in the sole of the shoes in the heel/ball of foot that operate from pressure on the toe.
    I’m hoping this isn’t beyond a novice to electronics with a bit of good advice!
    Thank you very much in advance.
    Camilla Monck

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>