ESP32 Makes Great MPPT Controller In Low-Cost Solar Installation

Solar power projects have become, in general, a matter of selecting components like panels and batteries, hooking them together with industry-standard connectors, and sitting back to watch the free electricity flow. As such, solar projects have become a bit boring, so it’s not often we see one that attracts our attention the way this dirt-cheap open-source solar project does.

The backstory on [Tim O’Brien]’s DIY off-grid PV system starts with his desire to charge his eWheel, which amounts to a battery-powered standing unicycle. They look like a fun option for getting around an urban environment if you have the requisite degree of coordination, which we clearly lack. But charging something like that or an eBike is a great use case for solar, especially since [Tim] happened upon a 450W PV panel on the cheap. Sadly, the panel was a commercial unit, and compatible off-the-shelf MPPT, or maximum power-point tracking, controllers are expensive.

His solution was to build his own controller using a cheap DC-DC converter that just so happens to have serial remote control. An ESP32 monitors the panel voltage and controls the buck converter to run whatever he wants. When he’s not charging his eWheel, the system runs his laptop and router. As a bonus, the ESP32 talks to IoT services like Adafruit.io and Thingspeak, allowing him to track MPPT data without shipping it off to parts unknown.

While we appreciate a DIY MPPT controller and like [Tim]’s build, we feel like the documentation needs a bit of fleshing out. With solar installations, the devil is in the details, and not addressing seemingly mundane issues like cable routing and connector installation can lead to disaster.

Solar Charge Controller Improves Efficiency Of Solar Panels

The simplest and easiest way to charge a battery with a solar panel is to connect the panel directly to the battery. Assuming the panel has a diode to prevent energy from flowing through it from the battery when there’s no sunlight. This is fairly common but not very efficient. [Debasish Dutta] has built a charge controller that addresses the inefficiencies of such a system though, and was able to implement maximum power point tracking using an Arduino.

Maximum power point tracking (MPPT) is a method that uses PWM and a special DC-DC converter to match the impedance of the solar panel to the battery. This means that more energy can be harvested from the panel than would otherwise be available. The circuit is placed in between the panel and the battery and regulates the output voltage of the panel so it matches the voltage on the battery more closely. [Debasish] reports that an efficiency gain of 30-40% can be made with this particular design.

This device has a few bells and whistles as well, including the ability to log data over WiFi, an LCD display to report the status of the panel, battery, and controller, and can charge USB devices. This would be a great addition to any solar installation, especially if you’ve built one into your truck.

This is [Debasish]’s second entry to The Hackaday Prize. We covered his first one a few days ago. That means only one thing: start a project and start documenting it on hackaday.io