Tiny Solar Energy Module (TSEM)

This is a 1x1 inch PCB module with 2 tiny solar cells, a highly efficient Li-Ion charger and with 3.3V output

Similar projects worth following
I have built an 1x1 inch PCB module with two tiny solar cells, a highly efficient Li-Ion battery charger and with a 3.3V output. It is unique because it is an easy to manufacture tiny module that other hackers can drop in their PCB design or bread board. It is also unique because it can harvest enough energy from indoor light to power a BLE or LoRa sensor.

The challenge is to design a TINY module that easily interfaces to other projects. I selected tiny surface mount solderable solar cells, a highly integrated energy harvesting IC, and left out the battery. The board has castellated vias so it can be surface mount soldered onto a mother PCB as well as soldered onto 0.1" headers to be used in a bread board.

Ideal for indoor applications

The AEM10941 harvesting IC is very suitable for indoor applications because it has a ultra low power startup. The boost converter starts at a very low 380 mV input voltage and 3 uW input power. The IC gets most power out of the solar cells by doing MPPT maximum power point tracking every 5 seconds. In addition the mono crystaline solar cells have a very wide spectral range. Efficency is 22%. This makes TSEM very suitable for indoor applications.

How much energy does is harvest indoors? 

Indoor light is about 1/100th of outdoor light or 10W/m2. At that power solar cell open voltage is 0.458V and I estimate Vmp at 0.36V per cell. Since we have two in series the booster will work at 0.72V. At that voltage boost efficiency is about 75% . LiPo charge efficiency is about 95%. Battery current is 5.72 times smaller than the solar current because the voltage increases from 0.72 V to 4.12 Volt. Finally I assume that indoor light is available for 10 hours a day. 44mA * 1/100th * 75% * 95% * 0.72V/4.12V * 10 hrs =  0.55 mAh is harvested every day. So an application must have an average current less than 0.55mAh/24h = 23uA, thats enough for a simple Bluetooth Low Energy beacon or a very simple LoRa application. However if the device is in full sun for only one hour a day it harvests ~10x more: 7 mAh. 

If you need to harvest more then you may connect an external solar panel to the castellated via's. Below is a comparison of the on board solar cells with external solar cells with respect to cost, dimensions, and the energy harvested per day. 

Solar panelHarvested energy per day, indoors (mAh)Application average current (uA)
2x $2 On-board 0.5V/44mA 22x7mm Ixys KXOB22-12X1L0.5523
1x $1.06 External 1V/100mA 30x25mm1.145
1x $1.31 External 2V/100mA 79x28mm2.9120
1x $1.18 External 4V/100mA 70x70mm6.7279

The harvested energy can be stored in this 110mAh 3*20*25mm LiPo battery which has approximately same dimensions as the PCB. 


  • PCB 2 layers 25.4 x 25.4 x 0.6 mm  (1 x 1 inch)
  • 2 onboard solar cells in series, 0.5V/44mA each, 22 x 7 x 1.8 mm each
  • harvesting IC input voltage 50mV to 5V. Input current max 110mA. MPPT every 5 secs, MPPT set to 70% (adjustable).
  • Battery: connect an external 3.7V Li-Po battery
  • 3.3V regulated output, max 80 mA. This output is enabled when battery voltage is between 3.60V and 4.12V (max charge voltage) 
  • voltage divider to monitor battery voltage using the host MCU
  • 3.3V status output pin that warns the host MCU if battery voltage drops below 3.60V


SRC - solar panel positive terminal, input to the harvesting IC, connect only when you use external solar panel in stead of onboard solar cells

GND - solar panel negative terminal, connect only when you use external solar panel in stead of onboard solar cells

BUCK - can be used to pull SELMPP1 and SELMPP0 high, 2.2V 

SELMPP1  - together with SELMPP0 it selects solar panel Voc ratio (70-90%), by default pulled to GND, default set to 70%, can be changed if desired see AEM10941 datasheet, but you need to cut a trace between the pads on jumper SJ1

SELMPP0  - together with SELMPP1 it selects solar panel Voc ratio (70-90%), by default pulled to GND,default set to 70%, can be adjusted if desired see AEM10941 datasheet, but you need to cut a trace between the pads on jumper SJ2

GND - can be used to connect pull SELMPP1 /0 low

BAT+ - connects to Li-Po positive terminal

GND - connects to Li-Po negative terminal

3V3 - power supply output, provides 3.3V to your application circuit

GND - ground connection for the 3.3V output

BAT_MEAS - analog output, provides a divided battery voltage for the host MCU with ratio 10/(4.7+10) =0.68*Vbat

STATUS  - open drain output with 1M pull...

Read more »


Eagle library with symbol and footprint of TSEM R1 module

lbr - 18.07 kB - 07/14/2018 at 19:57



Eagle schematic design R1

sch - 167.88 kB - 07/14/2018 at 19:56



Eagle PCB layout design R1

brd - 68.33 kB - 07/14/2018 at 19:56



Gerber files as ordered from Elecrow

x-zip-compressed - 41.80 kB - 07/14/2018 at 19:56


TSEM BOM R1.xlsx

Bill of Materials

sheet - 10.14 kB - 07/11/2018 at 18:00


View all 7 files

  • 2 × IXYS KXOB22-12X1 solar cell 0.5V/44mA solar cell
  • 1 × AEM10941 Highly-Efficient, Regulated Dual-Output, Ambient Energy Manager

  • TSEM can be easily incorporated in other builds

    Jasper Sikken2 days ago 0 comments

    To easily integrate TSEM into other Eagle designs I published an Eagle library with the TSEM R1 symbol and footprint.

  • Application for TSEM

    Jasper Sikken4 days ago 0 comments

    I have this $13.50 BLE Temperature Humidity Sensor that advertizes the values every second. I measured average current is about 50uA. That's a bit too high current for indoor light harvesting with the two tiny solar cells, but you get the idea. If I would program the a BLE sensor I would make it advertise every 8 seconds to make it low power enough.

    It is not a great idea to use the 3.3V output to power a device that is designed for 1x AAA battery. The AEM10941 harvesting IC also has a second regulated output voltage, which is 1.8V. That is lower power because it is efficiently stepped down from the battery voltage using a buck converter. In the next revision of the design I will break out the 1.8V output to the castellated via's

  • Difference with another ultra low power harvesting board

    Jasper Sikken07/09/2018 at 19:09 1 comment

    I saw this article on about the  this BQ25504 Ultra low power Solar LiPo Charger sold by Kris Winer on Tindie. I wish that article was about my TSEM. Here I compare the differences with my TSEM. The BQ25504 is very similar to AEM10941 but it does not have two integrated outputs (3.3V and 1.8V). The BQ25504 Solar Cell LiPo Charger board does not have on board solar cells, it cannot be surface mount soldered, it requires more external passives, and the mppt Voc ratio cannot be changed without changing the passive components.  

  • I tested actual charge current

    Jasper Sikken07/08/2018 at 14:56 0 comments

    In my previous log I calculated indoor battery charge current would be approximately 50uA.  Now I have measured actual charge current. I used a multimeter with lux meter as a reference.

    Indoor at 500 lux I measured 61 uA. 

    Indoor under a table, 150 lux,  I measured 12 uA. 

    This means that TSEM is indeed able to power a very simple BLE or LoRa application. 

  • TSEM can power a simple BLE or LoRa application with indoor light

    Jasper Sikken07/07/2018 at 21:01 0 comments

    In this Kickstarter campain Tryst Energy, spinoff from TWTG, promised they could power LoRa and BLE applications from indoor light or even light from underneath a desk using few square cm solar panel. Now my circuit is similar. I am going to calculate how much it can harvests indoors. 

    In the solar cell datasheet is a chart that shows indoor light is about 10 W/m2, that is about 1/100th of outdoor light (500-1000W/m2)

    It also shows that solar cell open circuit voltage at 10 W/m2 is 0.458V per cell. Since I have 2 in series it means that the minimum voltage required for cold start of the AEM10941 harvesting IC (0.38V) is easily exceeded. Now I need to calculate the amount of power harvested with my cells. Since 1000W/m2 is same as 100mW/cm2 and my solar cells are 2.2 x 0.7 = 1.54 cm2 each, I have about 3 cm2 in total. So at 1000W/m2 my two solar cells can generate 300mW. And at 10W/m2 (indoors) 3mW. The AEM10941 harvesting IC requires minimum 3uW input power for cold start so that is easily exceeded. So how much current is actually going into the battery?

    Well, solar cell voltage is about 70% of the open circuit voltage (2*0.458=0.92) so 0.64V. At that voltage the boost efficiency is about 75% according to the datasheet.

    1/100th * 44mA * 75% boost efficiency * 95% charge efficiency * 0.64V/4.12V = 50uA. The harvesting IC itself uses only 0.5uA so that is insignificant. So if we have 50uA for 10 hours a day then 0.5mAh is stored in the battery every day. So for an application that runs 24 hours a day the average current should be less than 20uA

    Can TSEM power a simple BLE application from indoor light?

    Three years ago I made a BLE beacon with average 15uA current. These days they are much more efficient. So YES, it seems simple BLE  applications can run from the TSEM. 

    Can TSEM power a simple LoRa application from indoor light?

    Sending a LoRa message is about 30mA for 1 second. To bring average current down to 15uA you should send once every 2000s or roughly once per 30 mins, which is still a acceptable interval for a simple application. So YES, from indoor light TSEM can power simple LoRa applications.  

    All in all I need to conclude that based on my calculations Tryst Energy was right that in an office you can run a very simple BLE or LoRa application from a few square cm solar panel. However I doubt enough power can be harvested from underneath a desk, especially when the application requires a bit processing power. 

  • Headers are strong enough

    Jasper Sikken07/07/2018 at 19:01 2 comments

    This module can be SMD soldered onto to a PCB, but it could also be placed on 0.1" male pin headers and plugged into a bread board. I had some concern about the strength because the PCB is just 0.6mm thick and so I tested it. 

    Aftter soldering I plugged the board many times onto a bread board. After 20 times it still felt rigid and so I conclude it is strong enough for most users. 

  • On a sunny day the battery charge current is as expected

    Jasper Sikken07/07/2018 at 12:34 0 comments

    The solar cells should generate 44mA at 1000W/m2. At a nearby (20km away) weather station solar radiation is 600-800W/m2. So now I should expect 60-80% of 44mA solar current. I measured solar panel (2 cells in series) voltage is 0.95V. Now I can calculated the expected battery charge current. 

    700/1000 W/m2 * 44 mA * 0.85 boost efficiency * 0.95 charge efficiency *  4.12V/0.95V = 5.73 mA. 

    I actually measured 6.0mA. This means that the battery charge current is as expected.

    In full sun power (1000W/m2) I expect 8.19mA charge current. Some time soon I want to measure indoor charge current to confirm it is about 1/100th of outdoor charge current.

  • PCBs are soldered and first tests show it's working

    Jasper Sikken07/04/2018 at 19:48 0 comments

    Today I have received the components from Farnell and the AEM10941 harvesting ICs from E-peas. I used a solder stencil from Elecrow, chipquik SMD291SNL10 solder paste and used an solder paste spreader from OSH Stencil, basically a credit card sized piece of plastic. I placed components on 3 PCBs. 

    Using a Yihua 858D hot air gun I have reflowed the board without the solar cells, those I soldered manually because I didn't want to heat them for too long. According to the datasheet they should be soldered using low temperature solder paste or manually but very shortly. 

    Then it was time for the first test. I soldered a small Lipo battery (20x20x6mm) and I went outside, the sun had just set I could measure the 3.3V output which is only available after cold start.

    In addition I measured the boost voltage 4.0V and the buck voltage 2.2V and this all is as expected. I measured 0.95V on the solar cells output which is as expected (about 2 x 0.5V). Aparently it is working, but I need to do some more testing to confirm. For example comparing the solar current to the battery charge current, which should be about 5 times lower. After that I can power an application with it. I have a $15 bluetooth low energy temperature/humidity sensor that advertizes sensor data at some interval. 

  • I have received the PCBs

    Jasper Sikken07/02/2018 at 19:16 0 comments

    One week and two days after ordering I have received the PCBs. The look great. I really love how thin they are, 0.6mm, and I love the castellated vias. I found it very easy to order a non standard PCB. I did not have any human contact with an PCB manufacturer engineer. I ordered the PCBs from Elecrow. I chose for 24 hours production, time and 2-3 business days shipping. In addition I ordered a solder stencil. All in all about 80 USD, which is very low when compare to Eurocircuits. I should have instructed Elecrow to write a lower price on the package because I had to pay 50 euro import duties and taxes. My bad.

  • PCBs are ordered from Elecrow

    Jasper Sikken06/23/2018 at 20:03 0 comments

    Design is finished. 

    PCBs are ordered from Elecrow in China. I expect to have the boards in 1.5 week.

    PCB will be 0.6mm thick and have castellated via's. 

    I added Eagle design files, gerber files and images to the project.

    I have ordered the solar cells. I am expecting AEM10941 IC samples in a week. 

    I still need to order the other passive components. 

View all 10 project logs

Enjoy this project?



robert.poser wrote 07/08/2018 at 19:03 point

Nice! There are two more solar cells from Ixys with same form factor but higher open circuit voltage available. Have you considered rather using one of them since the booster efficiency would be better there ?

  Are you sure? yes | no


[this comment has been deleted]

robert.poser wrote 07/08/2018 at 19:58 point

A link is here.

The active cell area decreases a bit with more single cells. Maybe KXOB22-04X3F-ND with 1.8V open circuit voltage is worth trying..?

  Are you sure? yes | no

Jasper Sikken wrote 07/08/2018 at 19:49 point

Great idea, I thought they were not available, but I see them at digikey and I ordered a couple of the 1.5V/15mA cells (KXOB22-04X3F). Now effiecincy goes from about 85% (1V) to 95% (3V). 

  Are you sure? yes | no

Jasper Sikken wrote 6 days ago point

In my design I have 2*0.5V*44.6mA=44.6mW solar cells. To get 10% more booster efficiency I could change to 2*1.5V*13.38mA=40.14mW which is 10% less power. So that doesnt make sense. Then I choose for the more economic 0.5V solar cells.

  Are you sure? yes | no

Mark Jeronimus wrote 06/29/2018 at 12:43 point

I can't find this chip in shops (Farnell etc). Where did you find it?

  Are you sure? yes | no

Jasper Sikken wrote 06/29/2018 at 20:32 point

I got a few samples from e-peas. I will ask when chips become available at the large distributors.

  Are you sure? yes | no

Jasper Sikken wrote 06/30/2018 at 14:02 point

I dont think they will be available at the large distributors soon. E-pease carefully selected a few distributors. See here.

  Are you sure? yes | no

Jasper Sikken wrote 06/28/2018 at 10:44 point

@Alexandre LE GALL I learned from e-peas that most of their customers chose for standard configurations that don't require extra pins. I wanted to keep it simple and chose for lipo only (no super capacitor) and use only 3.3V output because that is standard for most MCUs.

  Are you sure? yes | no

Alexandre LE GALL wrote 06/28/2018 at 10:17 point

The AEM10941 is very interesting compared to the BQ25504 (the energy harvest chip I use in my project) : There are two integrated regulator and a balance feature for dual-cell supercapacitor !

I think you would make an external connection for the cvercharge, overdischarge, charge ready, and the balance pins.

  Are you sure? yes | no

Jasper Sikken wrote 06/25/2018 at 15:24 point

Sorry initially I wrote the incorrect part number. Glad you found it

  Are you sure? yes | no

Stephen Edwards wrote 06/21/2018 at 08:41 point

cant find this chip. Is the code correct?

  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