Ultra low power energy harvester from BPW34

super small and durable power supply for wireless nodes

Similar projects worth following
Test board size is about 50x50mm

I want use this circuit to charge larger capacitor and then powering wireless node

Idoor voltage for 4 bpw34 in series is about 1V with only 1uA.
On test board I try use 4x4 bpw34 to maximize power

It is already usable as a reliable energy source for jewelry
Also, wireless messaging works ....

Harvester work as charge pump, multiply input voltage twice to get 2V pulses

Pulse can be adjusted it is from us to ms, longer pulse need longer charging

Advantages compared to other designs.

  • discrete components, no special QFN chip (two standard transistors, 5 resitors and 2 capacitors)
  • based on charge pump design
  • work indoor, no direct sunlight required
  • startup current is less than 1uA, it is much lower than on commercial harvesting IC
  • reliable, every pulse start MCU, no watchdog or program freeze
  • solar array can charge Super capacitor and then powering MCU in night

Why again BPW34?

  • PLASTIC, harder to break
  • easy to buy, it is smallest commercially available solar cells
  • there is no way to get small non Chinese solar panel
  • IXYS solar bit are discontinued
  • Panasonic amorton are made from glass and is not easy to buy

Best features and why pulses

  • pulse technology allow reliable start of MCU
  • it allow slow charge capacitors with very low input current and voltage 1V / 1uA
  • there is no load for harvester, load is connected with voltage burst
  • other designs like only solar cell + capacitor not solving MCU start, there is no MCU with
    capability to start with slow power supply rising 

sch - 679.00 kB - 07/12/2018 at 22:19


brd - 108.66 kB - 07/12/2018 at 22:19


  • 4 × BPW34 Opto and Fiber Optic Semiconductors and ICs / Photodiodes
  • 2 × Resistor 10M
  • 2 × Resistor 23K
  • 1 × Resistor 22R
  • 1 × Transistor NPN

View all 10 components

  • Transmission working !!!!!!!!!!!!!!!!!!!!!!!!

    bobricius07/13/2018 at 22:40 0 comments

    After hours/days of debugging and tuning I have working reliable transmission.

    Some facts:

    Transmission time for 16bit data with 1200bps is 34ms with all sync and receiver tuning bites

    Harvester features:

    Key timing component is middle capacitor, and there is some power facts
    As load is connected Attiny85/1Mz with running code (no sleep) without transmitter

    Power supply length

    • 100n = 15ms run-time every 1s
    • 1uF = 17ms run time every 13s
    • 10uF = 35ms every 60s

    I have now reliable transmission for 16bit value every 30minutes, It is little long time but I am on beginning
    with this project.

    Without load is power supply pulse 60ms long every 60s 

  • Harvester demonstrator & test board half assembled

    bobricius07/04/2018 at 22:31 0 comments

    Yes, finally boards are home. All working good :)

  • Harvester demonstrator

    bobricius06/27/2018 at 21:52 0 comments

    I finished harvester demonstrator with wireless transmitter and Attiny85

    Solar array is large but I have plan to use only 4 diodes.

  • dirty run time check ... is 150uS enough ???

    bobricius06/21/2018 at 21:36 0 comments

    I try charge pump with attiny85 1Mhz

    delayMicroseconds(150); // runtime delay

    With dirty trial and error experiments I adjusted, maximum run time is 150uS with 1Hz repeating 

    Of course there is lot of possibilities to charge additional capacitor but unfortunately voltage rising very very slow and micro-controller can not start.

    I think 150us is enough to send very short maybe 8bit packet with simple 433Mhz ASK/OOK radio

    Success for 4 small diode power supply

    It is time do design first more complex board :)

  • Prototype testing board

    bobricius06/12/2018 at 20:32 0 comments

    After breadboard success I designed first application .... flashing heart, first batch was just only garbage due mistake in design.

  • Harvesting test

    bobricius06/12/2018 at 20:26 0 comments

    As you can see on first video, led flashing in room light.

    Power output is short 2V pulse.

    I created all on breadboard and about month experimentally adjust components values to get best performance.

    Charge pump schematic.

View all 6 project logs

  • 1
    PCB assembly

    Solder all components, specially BPW34 array and 433MHz transmitter

  • 2

    avrdude -C ./avrdude.conf -v -p attiny85 -c usbasp -P usb -U lfuse:w:0x42:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

    BOD OFF, 1MHz, fast startup 0ms

  • 3

    there is sample Manchester code firmware transmitter code

View all 4 instructions

Enjoy this project?



phuzybuny wrote 11/28/2022 at 03:46 point

Thank you for sharing this. I have been trying to recreate the charge pump circuit but have not been able to recreate the 2V output. Even simulating the circuit, the output is always just under the input voltage of 1V.

  Are you sure? yes | no

Vadim Ledyaev wrote 11/20/2018 at 11:38 point

Great job! I wondering if there's any way to harvest from a single or double BPW34 with a discrete components? 

  Are you sure? yes | no

GH wrote 07/23/2018 at 05:39 point

Awesome work! I made an attiny85-centered device for measuring temperature but it is way more crude and uses too much power to be run on solar. How did you get the current on the attiny so low?

  Are you sure? yes | no

bobricius wrote 07/23/2018 at 09:04 point

Attiny85 can sleep in nA,  I am using it with supercapacitor powered jewelry, there is also sleep code sources

  Are you sure? yes | no

Aaron Jaufenthaler wrote 07/19/2018 at 21:02 point

nice charge pump circuit :)

  Are you sure? yes | no

Stephen Tranovich wrote 03/21/2018 at 20:47 point

This is awesome! I can't wait to see what you power with this project!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates