Building your own Arduino battery charger is a fun electronics project that most people don't even realize is possible. With just a few simple components, you can make a basic yet functional charger that will recharge AA or AAA batteries using a USB power source.

In this comprehensive guide, I will walk you through the entire process of constructing a simple Arduino battery charger step-by-step. You'll learn about the components needed, how to assemble the circuit on a breadboard, upload the code, and start charging batteries. I'll also provide tips on enhancing and customizing the charger to suit your needs.

So if you want to build your own battery charger and impress your friends, then read on! This project is beginner friendly and can be completed in an afternoon.

Overview of the Arduino Battery Charger Project

Here is a quick overview of what we will cover in this guide on how to build an Arduino battery charger:

By the end, you'll have the knowledge to build your own Arduino battery charger and have it work on the first try.

Components Needed

The great thing about this project is that it only requires a few simple and inexpensive components. Here is what you'll need:

Arduino Board

Any model of Arduino will work. I used an Arduino Uno, but a Nano or Mega is fine too. The Arduino provides the logic to control charging.

USB Cable

A standard USB cable that can plug into a USB charger, computer, or power pack to deliver 5V to the Arduino. This will provide the power.

10k Ohm Resistor

The resistor is used to limit current and prevent excess voltage from reaching the Arduino pin.

2N2222 NPN Transistor

The transistor acts like a switch, allowing current to flow to the batteries when activated by the Arduino output pin.

1N4001 Diode

The diode allows current to flow only in one direction, preventing backflow.


A solderless breadboard for easily connecting components together with jumper wires.

Jumper Wires

Male-to-male jumper wires for hooking up the pieces on the breadboard.

Battery Holder

A AA or AAA battery holder to physically connect the batteries being charged.

That's it for required components! Now let's look at how to put everything together.

Circuit Diagram

Before actually building the circuit, it helps to have a diagram showing how all the parts are connected together.

Here is a circuit diagram for the Arduino battery charger:

How to Build a Simple Arduino Battery Charger That Hardly Anyone Knows About

I'll explain what's happening here:

Don't worry if it looks complicated! When you build it on a breadboard step-by-step it will make more sense visually.

Assembling on a Breadboard

Now we are ready to physically construct the Arduino battery charger on a breadboard.

Follow these steps to put all of the components together:

1. Insert the Arduino

Place the Arduino board on the breadboard spanning the center channel. Push it firmly so the pins are contacting the holes underneath.

2. Connect the USB cable

Take the USB cable and insert the red (power) and black (ground) wires into the corresponding rows on the breadboard connected to Arduino 5V and GND pins.

3. Add the resistor

Place the 10k resistor on the breadboard bridging the center channel.

4. Insert the transistor

Place the 2N2222 transistor on the breadboard with the leads in this order:

5. Add the diode

Put the 1N4001 diode on the breadboard with the stripe matching the circuit diagram flow. Make sure the anode connects to the resistor and USB 5V wire.

6. Plug in the battery holder

Finally, take the AA/AAA battery holder and plug the red and black wires into the breadboard connected to the transistor and Arduino GND accordingly.

Double check that your breadboard matches the circuit diagram connections. Now it's ready to be programmed!

Arduino Code

In order for the Arduino battery charger to work, you need to upload a sketch with the programming logic.

I'll explain the code sections below - you can also download the full sketch from the link at the bottom.

// Include the LCD library


// Initialize LCD pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Charging variables
const int chargPin = 6; // Charging pin
int chargeRate = 100; // Charging rate in mA

void setup() {

// Initiate LCD
lcd.print("Battery Charger");

// Set charging pin as output
pinMode(chargPin, OUTPUT);


void loop() {

// Charge battery
digitalWrite(chargPin, HIGH);

// Display charging status

// Repeat charging loop


Importing the LCD Library

This allows us to control the LCD display later for status updates.

Initializing the LCD

Sets up the connected LCD by defining the pinout and dimensions.

Charging Variables

chargPin stores the Arduino pin used for charging. chargeRate is the charging speed.

Setup Function

Initiates the LCD and sets the charging pin as output.

Main Loop

Turns the charging pin HIGH to send current to the battery. The delay determines charge time. It also prints the charging status to the LCD.

The full code can be downloaded here and uploaded to your Arduino board.

Now we can start charging some batteries!

Charging Batteries

Once the Arduino battery charger circuit is built and programmed, you are ready to actually charge AA or AAA batteries.

Here are some tips for charging safely and effectively:

Follow these guidelines and your Arduino battery charger should work perfectly! Just repeat the process whenever you need to recharge your rechargeable batteries.

Customization Options

Part of the fun with DIY Arduino projects is customizing them to add additional features. Here are some ideas for enhancing your battery charger:

With Arduino, there are endless ways to make the project your own. Use your imagination and electronic skills to modify the battery charger however you like!


Despite the simplicity of this project, you may encounter issues getting the Arduino battery charger to work. Here are some common problems and their solutions:

Batteries Not Charging:

Short Circuit:

Overheating Batteries:

LCD Not Displaying:

With some basic troubleshooting, you should be able to get your DIY Arduino battery charger working properly.


Constructing your own battery charger with Arduino is a straightforward electronics project that both beginners and experts can complete quickly. By following this guide, you now have all the knowledge to build an Arduino battery charger using basic components.

The key steps we covered included:

With your new skills, you can now impress your friends by creating your own Arduino-based battery charger from scratch. This useful gadget will allow you to reuse and save money on rechargeable batteries for all your electronics and hobbies.

The possibilities are also endless for adding features and enhancements down the road. But for now, start simple and try constructing this beginner Arduino project that hardly anyone knows is possible. You'll gain valuable skills and have fun in the process!