Posted on :: Updated on

This year I rented a car garage. It is big enough for my needs and rent is reasonably priced. The only drawback is that it is not connected to electricity. In the garage I need only light. I have a fuel powered AC generator for tools, but for everyday use I needed some light.

Decision was easy - I bought 12V/20Ah LiFePO4 battery and a few 12 V lamps. It is enough to use light inside and one lamp activated with PIR sensor outside for about 2-3 weeks. I decided that I'll try to mount small PV panel to charge battery and be able to use light without charging battery at home twice a month.

I bought a photovoltaic panel (10W, 12V) and started looking for a charging controller. I found a reasonably priced device from Victron Energy that I was going to buy, but... That would be too easy!

Of course, it would be very ambitious to design my own charging controller implementing MPPT (Maximum Power Point Tracking), but I am experienced enough to know that it's not an easy thing to do. I found some open source design of MMPT charging controller that has much higher allowed voltage and power than I needed. Author of this design uses it to power his private lab and did a few revisions of the device. I decided to give it a try.

PCB and original firmware

Update: 7th October 2025

I've ordered PCBs from PCBWay and soldered them. Here I found several issues. Electronic parts that are easily available in Thailand (the place where design's author come from) are not necessarily aviailable in Europe. I'm mostly ordering parts from TME, because it's in Poland and delivery is cheap, but some parts I had to order from Farnell. I had to order XL7007, DC/DC isolator and a few others from AliExpress. They look fine.

PCBs

I have also decided to buy second (same) photovoltaic panel and connect it in series to boost voltage on input.

Further work on MPPT controller

Update: 3rd April 2026

I'm not sure that original firmware for this project is correct. I decided to take a deeper look and decided to rewrite it. By the time new software is available, I connected my PV to Victron Energy Smart Solar.

First steps in project of rewriting firmware are described in the blog post.

Thoughts on telemetry of controller

Update: 9th April 2026

When I think about any random embedded device, the one I would like to have or build has a display and buttons, or even a touchscreen. But do we really need a display nowadays? This question might sound unreasonable. When I first saw that Fugu controller can work without buttons and a display I thought: why should I resign from such a comfortable way of configuring and monitoring status of my solar system? I knew about Bluetooth communication implemented in the original firmware, but my first thought was that the solar controller must have a display and some buttons. Apart from that, I like devices that can be managed with their own interface, but this is just my preference that might change one day. However, after flashing the original firmware and trying to configure the device with buttons and screen, I changed my mind. Mostly because finding proper settings wasn't straightforward and buttons support was not implemented properly. Most people carry a comfortable touchscreen in their pockets all the time - their smartphones. Why not use them in this scenario? Of course it's not free. Support for simple text or graphic screen and a few buttons is relatively easy to implement. Implementing Bluetooth connection and proper mobile application is way more time consuming. When we take into account the fact that a user can have either an Android or an Apple phone, the situation becomes even more difficult. Next aspect that is quite important in my case is how far my garage is from where I live. It's not far, but it's definitely not within Bluetooth range.

I began to consider it again and quickly noticed a small LoRa E5 mini board lying down on my desk. That's the solution. Distance from the garage shouldn't be a problem for this type of transmission. I decided to do an experiment and check if that's a good idea.

You can read more about the experiment and see some video in this blog post.