Floppy Tester

A simple battery cell tester built on a flexible PCB substrate, that connects to cells using magnets

Similar projects worth following
Having to fetch the multi-meter in the workshop every time I need to check some loose battery cells is a chore. Especially since multi-meter probes are not exactly built for measuring batteries hell-bent on rolling off the table.

To solve this problem I designed a battery tester for a flexible PCB substrate, where the PCB itself is the probes that snap onto the battery reliably and securely using small magnets. It measures the cell with and without load and displays the voltage readings on a small OLED display. The tester has a very low part count, uses the cheap and simple Attiny85 as the brains and is powered by a coin cell.

Testing battery cells to check if they are still usable can be quite a chore with a multimeter, since it requires 3 hands to do properly. This project provides a solution with battery tester that is cheap and simple, yet effective and easy to use.

Built on a flexible PCB substrate, the the ends of the PCB are the probes, and easily snap on to any cylindrical battery. The brains of the circuit is a cheap Attiny85 chip, and the measurements are displayed on a small 0.96" OLED display. The circuit is controlled with a single button which wakes up the  attiny and starts a test. The circuit is heavily based on a design by Andreas Spies, which takes two readings. The first reading is the open circuit voltage, and the second reading is taken with a small load across the battery, connected via a MOSFET.

The circuit is designed to measure and cylindrical battery, including alkaline and lithium in the 0-4.5V range. The cell is connected to the Attiny's ADC via a simple voltage divider.

x-zip-compressed - 25.47 kB - 05/28/2019 at 19:08


  • 1 × ATTINY85 SOIC-8 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × OLED I2C 0.96 128x64
  • 1 × Si2318CDS SOT-23 MOSFET to switch load
  • 1 × MMSZ5226BT1G 3.3v Zener Diode Discrete Semiconductors / Diodes and Rectifiers
  • 1 × Tactile Switch SMD

View all 10 components

  • Component choices notes

    Danie Conradie05/28/2019 at 20:28 0 comments

    Some notes on component choices

    MIcrocontroller: I chose the Attiny85 since it is cheap, small and can be programmed with the Arduino IDE.

    OLED: I would have chosen a smaller OLED display than the 0.96" on a breakout, but it is just larger than the CR2032 battery holder used on the back, making a neat package.

    Load switching mosfet: The Vishay SI2318CDS mosfet is used because it has a low RDS(on) (drain-source on resistance), to prevent excessive voltage reading error when the load is switched on. The gate voltage is also low enough to be switched by the coin cell battery (2.5V) and is in the very common SOT-23 footprint, allowing me to subsitute another MOSFET if required for any reason.

View project log

Enjoy this project?



Dillon Nichols wrote 06/06/2019 at 12:26 point

Excellent idea. I was having issues measuring batteries the other day and thought about making a dedicated battery holder with terminals to easily connect my multimeter. This is so much nicer.

  Are you sure? yes | no

Daren Schwenke wrote 06/06/2019 at 02:24 point

Nice use of flex, and magnets :)  

You could probably even eliminate the button and generate an interrupt on the attachment of the battery, but you might want to keep it just for mode switching or such on different battery types.  For the most part, I suppose the initial voltage would get you 90% of the way there though.

I really like that you have chosen to test both the initial voltage, and then the current over time.  Lots of batteries will recover to nearly full voltage just by equalizing, but then drop like a rock when you try to actually draw power out of them.  Good plan.

  Are you sure? yes | no

Danie Conradie wrote 06/06/2019 at 13:48 point


I'll take a look at the interrupt idea, that might work

Thanks, but I can't take credit for the load idea. Borrowed that from Andreas Spiess' design

  Are you sure? yes | no

Danie Conradie wrote 06/06/2019 at 14:58 point

Looks like the reset button is the still the best option. Had a look at the ATtiny datasheet and only pin 7 can be used for a external interrupt from sleep mode,  and it is the clock pin for the I2C display.

  Are you sure? yes | no

Ken Yap wrote 06/06/2019 at 02:11 point

For a moment I wondered who would still have floppy disks to test. 😀 I guess a lot of people now haven't seen one.

  Are you sure? yes | no

Danie Conradie wrote 06/06/2019 at 13:33 point

I figured someone was bound to think that😄

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates