Penny Battery

Introduction: Penny Battery

I know that others have done this, but I thought that it would work good as my first instructable.

This is to make a 3 volt battery out of the following:

- 6 pennies
- Cardboard
- Vinegar
- Salt
- Heat shrink tubing

Here we go!

Step 1: Create Cardboard Inserts

To make a battery, we will use vinegar and salt soaked cardboard inserts. Place a penny and trace the outline the penny. Cut these circles out. We will need 5 such inserts for the battery.

Step 2: Soak the Cardboard

Once the cardboard inserts are cut out, place them in a mixture of salt and vinegar. I used a 1/4 cup of white distilled vinegar and 4 tablespoons of salt. Mix it thoroughly until all of the salt is dissolved.

Allow them to soak until they are completely saturated.

Step 3: Sand the Pennies

It's necessary to remove the thin copper from one side of 5 of the pennies. I used a Dremel, but any kind of sandpaper will work for this step. Make sure that you leave one of the pennies with copper on both sides.

Step 4: Stack the Battery

Now start stacking the battery. Place a penny sanded side up. Place a soaked cardboard insert. Repeat. End with the unsanded penny on the top.

Step 5: Cover the Battery

I used 3/4" heat shrink tubing for this step. Electrical tape would work as well. Just make sure that the cardboard parts only touch the pennies that they are closest to.

Step 6: Wait for Charge

It will take a little bit of time to allow the battery to charge. The first picture was right after the battery was made. The second picture was 5 minutes later. Within 15 minutes, the battery was producing 3.2 volts.

Step 7: More Information

I decided that I wanted to measure how long the battery would hold a charge. I made a quick program and hooked it up to an Arduino.

Here is my code:

// Testing of a Penny Battery
// By Jonathon Wiggins 06-06-12

const float referenceVolts = 3.3;

const int R1 = 4600;
const int R2 = 2600;

// determine by voltage divider resistors, see text
const int resistorFactor = 361 / (R2/(R1 + R2));
const int batteryPin = 0; // analog pin battery connected to

void setup()

void loop()
int val = analogRead(batteryPin); // read the value from the sensor
float volts = (val / resistorFactor) * referenceVolts ; // calculate the ratio
Serial.println(volts); // print the value in volts

Be the First to Share


    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • "Can't Touch This" Family Contest

      "Can't Touch This" Family Contest
    • CNC Contest 2020

      CNC Contest 2020

    4 Discussions


    7 years ago on Introduction

    The heat shrink is a nice touch.
    How long did it hold voltage?


    Reply 7 years ago on Introduction

    It was over 24 hours. I tried soaking it in the solution again, but I think that the heat shrink tubing was too tight to allow anything in.