EMFCamp solar panel add-on

In honour of a year since doing the work, here's a post about the solar range extender I designed for the EMFCamp 2024 Tildagon badge.

This was a collaborative effort between me and my Wife. She drew the non-binary star of the show, the Sun. They appear as the main graphical element of the design honouring that on which the project's success depends.

The PCB was designed in KiCad. I aimed for a “range extender” rather than a solar charger, as the input to the battery charging circuit is not exposed on the Hexpansion connectors.

PCB testing

PCB design

I used a buck converter (the AP63203WU) to generate 3.3v from the solar cell output. The solar cell is the Voltic systems P122 with a 6v rated open circuit full-sun voltage. As the buck convertor is rated to operate from 3.8v, I expected this to operate under normal outdoor conditions. It didn't, it would only operate in full sun, but fortunately EMFCamp 2024 was blessed with incredible weather.

The buck converter drives the 3.3v rail directly. In order to check if this worked, I used a “gas gauge” IC (the Analog Devices LTC2941). This accumulates the voltage developed over a low-value resistor placed in the power rail. The integral of this voltage is the total charge that has passed through the power rail, with separate accounting for both directions.

I used a 25mΩ sense resistor, which was far too small in practice. In full sun, the LTC2941 would accumulate a count every 5 seconds or so. In light shade, I would see a count every 60 seconds and inside no counts were seen. A larger sense resistor would have hurt efficiency but allowed for a better sense of where and when the panel was useful, which would have been worth it.

It was a lot of fun to solder the big sense resistor by hand – big pad pours in portable electronics are rare, for me, and the way solder flows along the edge is delightful.

The Hexpansion also included a depiction of the Sun, with orange LED's highlighting their hair. The LEDs were driven by a I2C expander. Whilst they could have been driven by the Hexpansion directly, I knew the software to read the charge counter would need to be developed without a Tildagon baseboard. By controlling everything via I2C and adding a quic port, the hardware could be verified using a laptop. I used a MCP2221A dongle from Adafruit and this worked wonderfully!

At EMF Camp

In use

Writing the UI software had to be done at the event, and was delayed by my choice of I2C EPROMs. I chose a very small chip, just to store a device ID. The Tildagon firmware expects to read a LittleFS filesystem on the EEPROM, but the chip I picked would only fit 2 LittleFS pages! I had to customise the Tildagon firmware to skip initialisation steps for a specific expansion port to work around this.

Otherwise, the integration of the Haxpansion and the Tildagon was painless and took around a hour. Showing the current accumulation and rate of clicks was a nice check that the panel was a net plus, feeding energy into the system. And I didn't need to charge my badge all event – although I don't know how much to credit the panel, as the badge is very efficient on it's own!