The AEMLIC Solar Harvesting board - My Journey

I setup, learn about, and experiment with Jasper Sikken's AEMLIC Solar Harvesting board available at Tindie.

Similar projects worth following

I am a software developer, but a novice at electronics and today's tiny programmable devices such as the Raspberry Pi Pico. In 1990 I wrote a how-to book on distributed systems, featuring C programming, Oracle SQL databases, IBM PCs, and mini computers. In the main example in the book, humans play a simple game against the computer. The computer learns to play by saving each completed game in an Oracle SQL database, and querying for the statistically best move before each play - a simple form of machine learning. The computer gradually gets better over time. Each game lasts about a minute.

The original 1990 C code for the basic (non-database) version of the game compiles, with a few small modifications, on a Linux (or other) computer, and runs on a $4.00 21mm × 51mm Raspberry Pi Pico ( The UI, for initial prototyping, consists of a small joystick and a tiny OLED display. It's powered through a USB cable, or through a pair of wires from a larger Raspberry Pi 4.

For now, this is a concept project, and a good way for me to learn a bunch of things. My goal is to run the complete game on the Pico, using energy harvested from the local environment, for example through a low-power solar cell. As a concept, imagine the small Pico attached inconspicuously to a tree in the woods. Anyone finding it could spend a minute or so playing a game, thus adding to the internal database. The Pico would harvest just enough energy between games to power the next game.

In this Hackaday project, I explore possibly using the AEMLIC Solar Harvesting board to harvest energy from a solar cell, store it in a 250F lithium ion capacitor, and provide the stored energy to a Raspberry Pi Pico. The Pico will sleep (some form of deep-sleep consuming little or no energy) between games.

I've started work on this and have already gone through some initial challenges. In this Hackaday project, I will write about some of these, starting with how to solder header pins onto the AEMLIC castellations (a significant challenge given my limited soldering ability).

  • aemlic delivers power at too-low a voltage

    ken09/23/2022 at 13:12 0 comments

    When the LIC voltage is very low, just enough for the aemlic board to activate the LOAD (3.3V) pin, the Pico is only turned on for a few seconds, often less than 20 seconds. This is not enough time to do anything useful. My C program in the Pico fires an interrupt when the aemlic STATUS pin goes low, giving the Pico just enough time to write its data to the built-in Pico flash memory. As long as the solar cell attached to the aemlic board is harvesting energy from the sun or an artifical light, this cycle can go on indefinitely. The LIC becomes charged just enough to activate LOAD, the Pico turns on for a few seconds, the LIC voltage goes below a threshold, and the Pico stops functioning.

    The Pico requires at least 60 seconds of power to do something at all useful, and perhaps as much as ten minutes to perform its ultimate mission. It will also need to draw more current to support a tiny joystick and tiny display.

    My question now is, how can I control the aemlic to wait until the LIC is suffiently charged? Currently, I manually disconnect the Pico power line, wait until the aemlic has re-powered the LIC, and manually re-connect the Pico power line.

    I have read the e-peas documentation "e-peas DATASHEET AEM10941". The aemlic board is based on this chip.
    and see also:

    Page 11 (section 8 System Configuration) describes the threshold level Vchrdy, the "Minimum voltage required on the storage element after a cold start before enabling the LDOs". LDO is an acronym for Low Drop-Out.

    Table 7 summarizes the eight operating modes offered by the AEM10941. According to the aemlic documentation, using internal resistors, the aemlic sets Vchrdy to 2.6V.

    I believe that I need a value of 2.7V to power the Pico for one minute, and about 3.0V to power it for about ten minutes.

    How can I make this happen?

    I have some MCP112 Micropower Voltage Detectors (a type of transistor?). Should/could I use one of these between the aemlic LOAD pin and the Pico power pin? Or something similar?

    What other technology options are there?

  • aemlic logger - C code

    ken09/23/2022 at 11:31 0 comments

    I have finished my prototype version of an aemlic logger for the Raspberry Pi Pico. It's written in C.

    The commented source code is available on github at:

  • Raspberry Pi Pico aemlic logger

    ken09/19/2022 at 17:31 0 comments

    I have written the first version of a C program for the Raspberry Pi Pico. The Pico is powered from the 3.3V LOAD pin of the aemlic board. The Pico is also connected to a Raspberry Pi 4 8GB Linux computer, using the SWD pins for downloading programs, and the UART pins (serial interface) to send print() messages from the Pico to the Pi4. The purpose of the program, for now, is to log what happens on the aemlic.

    The program starts to run as soon as the aemlic provides 3.3V. As long as it has power to run, the Pico blinks the on-board LED once per second. It counts the seconds, and prints a status message every minute. I am using this to learn how long the Pico can run, depending on the initial voltage of the LIC. When the LIC is just barely charged, the Pico runs for about 20 seconds. When the LIC is fully charged to 3.8V, the Pico runs for at least 20 minutes and maybe much longer. My testing has not yet been comprehensive.

    I will probably start a new hackaday project to keep track of this Pico project, including the C code.

  • Misunderstandings - 2

    ken09/13/2022 at 13:38 0 comments

    TO DO

    This will be about selecting the right solar cell.

    I assumed I could use the 6 or 7 volt solar cell that I already had, as long as the light was only bright enough to provide an actual voltage of only 2V or 3V. It seems that this assumption is incorrect. But why exactly?

    I will include something about MPPT. Every five seconds the AEM10941 Solar Harvesting IC checks the voltage across the SRC and GND pins. You can observe this momentary spike using a voltmeter.

  • Misunderstandings - 1

    ken09/13/2022 at 13:29 0 comments

    When I first tried to use the AEMLIC board, I did not have a small enough solar cell (less than 5V DC). I thought that maybe I could do a quick partial test by attaching (1) the 250F Lithium-Ion Capacitor (LIC) to the STO pin and to one of the four GND pins, and (2) an LED to the VHV (2.2V) pin and to one of the other GND pins. Nothing happened, even though the LIC was pre-charged with sufficient voltage.

    I did not know that I really did need to have a solar cell connected, essential to provide what the documentation calls "ultra low power startup". When a sufficiently bright light (from the sun or indoor lights) shines on the solar cell, the board will turn ON and will start charging the Lithium-Ion Capacitor (LIC). Once the board is ON, it can decide whether or not it can reliably power the 2.2V (VHV) and/or 3.3V (LOAD) pins.

    As an initial test of the board, assuming that the two five-pin headers are correctly soldered to the board, do the following. This is the order that I have used:
    - attach a LIC to STO and GND (for my initial test, I pre-charged the LIC to above 3.0V using a power supply; Do not charge above 3.8V)
    - attach a yellow, orange, or red LED to VHV and GND (I understand that green, blue and white LEDs may require more than 2.2V?)
    - attach a solar cell that you are sure will produce less than 5V (In his kit, Jasper provides a 2V cell; Too much voltage can destroy the board.)

    I am not sure if it was OK to pre-charge the LIC using a power supply. Anyone care to comment on this?

    Position the solar cell so it points toward the Sun or a bright-enough artificial light. It requires a minimum of 380mV to provide the "ultra low power startup" power needed to start the AEMLIC board.

    On retrospect, it would have been best to buy the kit at Tindie, rather than just the AEMLIC board itslef. Unfortunately I did not see it in the list of items for sale. So I did not have a usable solar cell at the beginning.

    Once again, this has been a great learning opportunity.

  • Soldering header pins to castellations

    ken09/12/2022 at 17:28 0 comments

    The tiny AEMLIC board comes with simple plated castellations (metal soldering points on the side of a board), five on each side. I have soldered headers onto multiple Raspberry Pi Picos using the standard through-hole approach, but never directly to thin castellations. I searched the internet including youtube, but could not find any tips or tutorials on how to do this. This is not a critique of the boards. I should have asked Jasper Sikken how he does it. Perhaps he or someone else will offer their advice as a comment? Anyway, here's what I did.

    I have an up-to-date good-quality soldering station (Hakko FX-888D). My very old tin/lead solder had been working well, but perhaps it was part of the problem? I placed the two AEMLIC headers into a small breadboard, placed the AEMLIC board on top, and proceeded to solder at 750°F (398.9°C) which is what I've been using. The result looked OK.

    I then made several mistakes connecting the board to a solar cell that I had, to the LIC, and to a small load. Nothing worked. I'll describe these mistakes in a separate log. I contacted Jasper Sikken through Tindie. He promptly suggested that I had probably fried the board because of the mistakes I had made (a great learning opportunity!), and kindly offered to send me a new board at a much discounted price.

    While waiting for the new board, I thought carefully about the several tasks that I had worked through, starting with the soldering. Through a magnifying glass and the old brass microscope I got as a Christmas present when I was 10, I concluded that my "soldered pins" looked very sparse. Was there really any solder on them?

    I had tried to do some quick continuity testing after soldering, but the thickness of the tips of the leads on my just-purchased ExTech 355 multimeter make it difficult to know where I was actually touching. I cut a piece of thin solid copper wire and placed it between the plastic covering and the tip of the red lead. With much finer control, and using the Continuity setting of the multimeter, I decided that most of the ten pins did not actually contact the castellations on the board.

    It turns out there is still an electronics store in my city. I bought fresh 60/40 0.031" solder, a smaller soldering iron tip, and a container of 99.9% isopropyl alcohol. The 70% isopropyl alcohol I had bought before at the local pharmacy was unable to remove the flux, which then prevented me from getting any sort of continuity reading on most of the pins.

    I was ready to rework the solder. I decided not to remove the existing old solder, because it had worked well on other projects. With the iron at 750°F (398.9°C), I found that the new solder I applied, just came off when I removed the iron, so I still had bare pins with no continuity. I tried 700°F (371.1°C), and it worked! I experimented with 650°F (343.3°C), which also worked, but the result had tiny peaked "hats" over each solder.

    I then washed off all the flux with the 99.9% isopropyl alcohol using a Q-tip and a stiff hog-hair brush. It all looked great and shiny through my magnifying glass. This time, the continuity testing worked perfectly and decisively. Each castellation was connected to its corresponding pin. Jasper had mentioned that all four GND are connected inside the board. I was able to confirm this using the multimeter continuity setting.

    Summary:        Solder at the right temperature

    TO DO
     - include some pictures

  • Getting the boards

    ken09/12/2022 at 17:22 0 comments

    I found Jasper Sikken's boards on Tindie, and ordered a set of these plus two 250F Lithium-Ion Capacitors (LICs). They arrived promptly from the Netherlands, shipped via Netherlands Post. Despite a hole in the box, the well-wrapped contents were in good shape. Jasper was helpful in answering several immediate questions I had.

    I started working with the AEMLIC board (v 2) because the shipment already included the LIC I needed for energy storage. The board came with two five-pin headers that I needed to solder to the edges of the AEMLIC.

View all 7 project logs

Enjoy this project?



Does this project spark your interest?

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