One of my most viewed projects ever (both on Instructables and Github) is my AVR Universal Battery Charger. It was also one of the very first projects I ever published, so there wasn’t a proper schematics or board layout (back then I simply didn’t care), my code was messy and the hardware had some flaws. Since then, I was getting a lot of requests, comments and questions about a new version, and after a long development, I will be releasing a new version on this site (designated as version 3.3 or 3.4 – yes, there were that many iterations between the original 1.0 and this version – so that’s what took me 3 years, if you’re asking). You can see a picture of the prototype above this article.
As of now, it consists of three Arduino UNO shields: the Power shield, the Balancing shield and the UI shield. The idea is that you can combine only the shields you really need – so if you do not need balancing, then do not include the balancing shield, just the Power & UI shields.
Here I am summarizing the biggest changes to this project:
Balancing: yes, by a popular request, it is now capable of balancing up to 4S lithium batteries.
Arduino-compatible: I am not a big fan of using Arduino for a project like this, I’d rather make a dedicated board for it with custom software in AVR Studio). But so many people requested this to work with the Arduino environment that I decided to try doing this inside the Arduino IDE.
Just a note – this project is really stretching the capabilities of the 8-bit 16-MHz microcontroller, so there will be some compromises regarding accuracy and power. Maybe in the future, I will make a version using my favorite microcontroller, the STM32F103 (sometimes referred to as ‘the blue pill’ in the community).
Customisable: since it consists of three separate shields, each containing a separate system, you can use only the shields with functions relevant to you. Don’t want balancing? Don’t include the Balancing Shield. Don’t want the display and controls? Well don’t include the UI shield. This also means that in case of any future updates, you can swap only the outdated shield.
Firmware & hardware improvements.
- max input: 20 V DC
- max output: 18 V (charges 4S lipo just fine)
- max charging current: 2 – 3 A (depends mostly on quality of the inductor, cooling and ambient temperature)
- Discharging (battery test)
- max current: 2.5 A
- max heat dissipation without external cooling: 3 – 6 W
- balance resistor: 18 Ω per cell
- 84 x 48 monochrome display
- rotary encoder with button
- 2 LEDs
- Serial port
- analogue temperature sensor
As you’ve seen in the cover photo, I have a prototype of version 3.3, and I am currently in the phase of evaluating performance of the different shields. Based on that I will decide either to publish version 3.3 or skip to version 3.4 and publish that, as there are some changes I want to do to the overall concept. This post is aimed at giving you some information about the progress, since as I said in the begging, I am getting a lot of questions about the next version of this project.