Ardustat
What?
The Ardustat is my (in progress) open source successor to Jonny Galvo. It uses a standard USB-Arduino unit with a custom designed daughterboard to provide:
- A galvanostat with a current range from .1 microA to 10 mA
- A potentiostat with a potential range from 0 to 5V with 5 mV resolution.
The Ardustat is a two electrode system for the time being, primarily for characterizing capacity and power delivery of small batteries, supercapacitors, and DC energy harvesting devices such as photovoltaics and thermoelectrics.
These features are provided from a single USB port on a testing computer. A java based GUI (again, open sourced, written with Netbeans) allows complete control of the ardustat unit, and a custom scripting language, JonnyScript (based on DUALFOIL convention) allows multiple potentiostat and galvanostat commands to be strung together. This lets the ardustat cycle batteries or capacitors for weeks on end with complex charging/loading parameters.
Each Ardustat costs ~$60 in parts and involves minimal, simple soldering (no surface mount parts, etc). The software runs on just about any modern platform (tested on Windows XP, 2000, Mac OS X, Ubuntu Linux, Fedora Linux).
As a bonus I’ve written a small php package that allows Ardustat file management and plotting (via gnuplot) over the web. Currently this has only been tested with Ubuntu Linux. A stand alone gnuplot script will work with most any gnuplot distribution. This will be released when I get change to clean up the edges, it’s knee deep in linux goo right now.
Why?
Email any major manufacturer of battery testing equipment for a quote, wait three days, and see that a basic galvanostat/potentiostat costs $5,000 a channel, without software. The Ardustat does not replace these units (completely, at least). The Ardustat does enable easy, accurate and cheap long term cycling and pulse testing far more easily than most commercial solutions, and again, at a fraction of the price.
How?
The theory of operation can be found here.
Why should I build this?
- The Arduino board is a great way to learn about microcontroller programming and design
- The Ardustat daughterboard/software provides an excellent tutorial on how to create flexible, useful scientific testing and data-logging devices.
Can I buy this?
Yes, for the time being I’m selling them with a minimal work on delivery warranty for $300 a piece, and 10 for $2000. I’d say that’s a pretty good price break. Email me for details. Shipping on top, and tax where applicable.

Just to be clear, the Ardustat software and hardware sources are free to download and modify. I would appreciate it if you didn’t try to sell other people Ardustats and if you did Attribute your installations to my work. This may change.
Release Notes
v0006 2/13/08
- Redesigned circuit: better current accuracy
- GUI improvements
- Improved software calibration of current
- True “plug and play”, hit connect, set a program and go, much less gui fiddling.
- NB: The calibrations built into the interface are for the new circuit layout. The old circuit layout will still work, you just have to manually enter the slope and offset.
v0005 2/04/08
- Huge improvements to GUI and Firmware
- Faster Goal Seeking
- Faster logging
- Smart logging
v0004 9/20/07
- Better Current Handling
- Misc Optimizations
v0003 7/28/07
- Fixed problem where gstat wouldn’t reach proper currents (big ups to Christina Peabody!), will probably rewrite extensively for v0004
v0002 7/20/07
- Added fixed resistor capabilities to code
- Cleaned up interface a little bit
v0001 7/12/07
- Initial Release
Download
V0006 New Board Design
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 License.
Instructions
- How To Install Your Ardustat
- How to use your Ardustat
- Using a Fixed Resistor -> Useful for enabling very small currents
- Parts Lists
- Plotting in “Real Time” with gnuplot
External
To modify the Ardustat implementation you might want
- Eagle to hack the circuit board
- Arduino to modify the microcontroller code
- Netbeans to customize the GUI
Big Ups
- Tom Igoe for his various tutorials and in particular his byte to dec code in Arduino
- Vikas Bahgrava for his help with initial SPI work
- Christine Ho for the beta testing