Main Content

An advanced lithium battery charger and powerbank with a SSD1306 OLED display, charges 18650, 20700 and 21700 batteries.

I wanted to make a battery charger that was not based on the popular Chinese TP4056 IC that you see all over the internet. So after some research I came across the Texas Instruments BQ25896, this is a single cell 3A charger that can be controlled using I2C, it also has a boost mode and can turn the connected battery into a powerbank delivering up to 2A of current.

This charger IC is typically used in mobiles and I did not hand solder it, all the other standard SMD components were hand soldered.

The charger IC is controlled using an ATMEGA32U4 microcontroller, the main code was written using the Arduino IDE 2.x and the driver library was coded using Visual Studio.

The features and functions of this device are:

- Adjustable charge voltage and current with a battery store mode
- Adjustable boost voltage and current
- SSD1306 OLED display
- Rotary encoder for menu selection
- Low battery charge mode
- Reverse battery polarity protection using MOSFETs
- 3 AMP Fast Charge current and 2 AMP powerbank output
- USB C, Type A and Micro ports
- NTC thermistors for the battery and IC temperature monitoring
- ICSP header
- Buzzer for audio feedback
- Low power mode and full auto power off mode
- Heatsink to dissipate the 3 AMP of charging switching loss
- WS2812B indicator LEDs”

Link to article