anton.veretenenko

Solar Bank Switch

Mixed-chemistry solar battery charger

Solar Bank Switch

A mixed-chemistry battery charging device powered by a single solar panel: one panel charges two different-chemistry banks (LiFePO4 + Li-ion), each through its own MPPT profile.

GitHub · Source code
ESP32-C3ESP-IDFFreeRTOSBLEMPPTI2CPlatformIO

Task

Problem: one solar panel and two different-chemistry batteries (LiFePO4 + Li-ion), each requiring its own MPPT charging profile. Tested for 3 months on 2 batteries in a real-world deployment.

Hardware

MOSFET switch routing the panel input between two MPPT controllers, voltage monitoring of both batteries (ADS1115), panel voltage (ADC), current/power sensing (INA219/INA226 with auto-detect), SSD1306 OLED display, sealed CAD enclosure for potting compound with T-plug inputs/outputs.

Software

ESP32-C3, ESP-IDF, Embedded C, FreeRTOS, PlatformIO. Hysteresis governor with anti-chatter lockout, failsafe with blocking / emergency shutdown and auto-recovery, no-reflash tuning of thresholds and battery labels (USB Serial CLI + BLE UART NUS, NVS, status json), JSON telemetry, energy metering (Wh), GCC host tests.

Features

Contact

I’m always open to interesting projects, orders and questions. Reach out anytime.

Anton Veretenenko

Embedded and mobile developer with 18+ years of experience — from firmware and PCB design to Android and Kotlin Multiplatform. I build electronics from idea to production.