Rodeostat: open source potentiostat
The Rodeostat is a fully functional open source (hardware and software) potentiostat which is designed as an expansion board for the popular Teensy 3.2 development platform. Rodeostat includes ready-to-use firmware which implements many standard voltammetric methods. Additionally, a software library is available in the Python programming language which provides users with a simple high-level interface for configuring/controlling the potentiostat and for streaming back data to the host PC during measurements.
One of the main goals when developing Rodeostat was to make it easy for users to make custom modifications. For this reason we developed the potentiostat as a shield for the Teensy 3.2 micro-controller development platform which is part of the Arduino ecosytem. This enables the potentiostat to be programmed using the Arduino IDE (Teensyduino). In fact the firmware we provide for the Rodeostat is an Arduino sketch coupled with an Arduino library.
The hardware design files and the source for firmware and all libraries are available to serve as starting points for users who wish to customize their devices: https://bitbucket.org/iorodeo/potentiostat
A brief overview of the Rodeostat hardware, firmware and the functionality provided by the python library are given below.
12-bit programmable voltage output ranges: +/- 1V, 2V, 5V and 10V
16-bit current measurement w/ programmable ranges: +/- 1uA, 10uA, 100uA, 1000uA (hardware defaults)
Programmable over USB using the Arduino IDE
UEXT expansion header w/ UART, I2C, SPI buses for communication with external hardware
Expansion header with additional DIO and analog inputs
New in version 0.2 Adjustable reference electrode measurement ranges: +/- 1, 2, 5, 10
New in version 0.2 Digital switches for software control of electrode connections
Currently implemented methods:
Linear sweep voltammetry
Constant voltage voltammety
Allows direct/manual control of electrode potential from host PC
Provides serial API for controlling device over USB/Serial using messages in JSON format
Python Software library (provides methods to)
Set/get the parameters used for the voltammetric tests
Select and run voltammetric tests and collect data from the device (time, voltage, current)
Set/get the ranges for the output voltage and current measurement
Set/get the sample rate used for acquiring data during measurements
Allows direct/manual control of electrode potential and current measurement from host PC