Step By Step Instructions on Hardware and Software
Yes, you too can have your own coulometric microrespirometer. To get a sense of what it will entail, please read the Introduction to Respirometry and Sandstrom and Offord Respirometer pages. If you manage to get through all that information and are interested in having a respirometer, this page will help you to build your own. The list of materials used to build the respirometers at TdO Lab is at the bottom of this page.
The minimum requirements are as follows:
1. A gastight chamber that contains a pressure sensor, a CO2 absorbing material, an oxygen generator, and a way of communicating with the outside world. And, of course, an organism.
2. Some sort of control system that turns on the oxygen generator when the pressure inside the chamber drops to a pre-set level, and records the amount of current used.
3. Environmental control, such as an incubator or water bath to keep temperature constant during the experiment. As long as temperature remains steady, the exact method used does not matter.
The actual equipment used has varied considerably between researchers and over time. As far as I know, all of them have functioned effectively. The system in use at TdO Labs, described in Sandstrom and Offord (2022), is simple to assemble and operate, and is constructed largely from off-the-shelf components.
After reading the description, you may need additional information. If so, please use the Contact link at the bottom of the page, and we will answer any questions and update the page as needed.
You may also find ways of simplifying or improving the hardware or software. If you do, please get in touch with us. We would love to hear about possible improvements.
The Chamber
There are a few requirements.
1. It needs to be absolutely gastight.
2. It should be easy to open and close, so that setup and cleanup are as simple as possible.
3. There also needs to be a way for information to enter and leave the chamber during an experiment.
4. A valve is helpful, maybe essential, for equilibrating the internal pressure of the chamber during setup and shutdown.
The chamber should also be no larger than absolutely necessary, so that consumption of oxygen by the organism causes the largest possible pressure changes.
Glass is by far the best material for the chamber. Plastic is easier to work with, but most plastics are unacceptably permeable to gases. Fortunately, the lab glassware industry provides a number of options that are readily available and relatively inexpensive.
Main Body

Let’s start with the main body of the chamber. Schlenk reaction tubes or flasks have been the best options so far. The key features are a body made up of a tube or flask, a tapered ground glass joint, and a stopcock that can be used to equilibrate the internal pressure. These vessels are available from 10 ml to 1 liter, and with a range of joint sizes.
The chamber needs to be sealed with a plug that has a joint matching that in the chamber body.


The thermometer adapter (left) has a joint that fits into the chamber body and a port that will allow wires to pass. When completed, a six-pin connector connects a cable on the outside with the components on the inside (right). The six-pin connector is connected to six wires inside the plug, and all are sealed into place with a layer of epoxy followed by a layer of silicone. Four of the wires (yellow, green, white, and black) are soldered to a four-pin header that will accommodate the pressure sensor. The other two wires (red, blue)are soldered to a coaxial plug that will connect to the oxygen generator.

The photo at left shows a finished plug. The connector at top passes through the thermometer port, and is soldered to wires inside. The wires and connector are secured with epoxy and sealed with silicone. Four wires connect to the BME 280 sensor (purple, in middle of plug), and two connect to the coaxial plug at bottom.
Oxygen Generator
To generate oxygen inside the chamber, electric current is passed through a an electrolyte solution, thereby liberating O2. In practice, a screwcap centrifuge tube with a platinum wire anode and copper cathode work well.

The photo above shows the tube and cap at left, the coaxial plug in the middle, and the coaxial jack at right. The cap has been drilled to allow the jack to pass through it.

The platinum anode and copper cathode have been soldered to the coaxial jack, and the assembly has been secured in the hole of the cap. The solder joints connecting the electrodes to the jack have been covered with epoxy to protect them from the electrolyte solution. A short piece of shrink tubing can be used to hold the epoxy in place while it cures.

Oxygen generator, assembled and partially filled with a saturated solution of copper sulfate. This unit has been used for many experiments, as shown by copper deposition on the cathode (right electrode) and blue staining of the epoxy by the electrolyte.
Soda Lime Tube
The last component is the container for CO2 absorbent material.

Pelleted soda lime is effective and easy to use. A small, perforated tube such as this 0.8 ml centrifuge tube, will keep it contained but allow free circulation of air. The tube can be perforated in any number of ways (drill, soldering iron…), as long as the holes are not large enough to allow the pellets to escape.
Chamber, Assembled

Here are two versions of assembled chambers. At left is a setup for fruit flies, with a small tube of flies inside a Schlenk tube. At right is a chamber comprising a Schlenk flask for larger animals, such as beetles.

The Controller
Something is needed to read the sensor, activate current to the oxygen generator, and send data to a computer. This can be accomplished easily using a microcontroller. Our design is based on an Arduino Nano Every, but others (e.g., Raspberry Pi) will work equally well.

The controller uses the I2C serial connection of the Nano Every. Yellow and green wires power the BME 280 sensor, with black and grey wires carrying clock information and data (pressure, temperature, and humidity). Data are displayed on a small OLED display using I2C. The current circuit (blue and red wires) supplies power from the 5V output of the Arduino to the oxygen generator.
Details of the connections to the Arduino:
I2C connections to the Arduino for the BME 280 sensor and OLED Display
- 5 volt power (yellow)
- Ground (green)
- SCL (Clock) pin A5 (black)
- SDA (Data) pin A4 (grey)
Current to the oxygen generator (and Current Monitor)
- Current out: pin D4 (red)
- Current Monitor in: pin A0 (blue); note 10 ohm sense resistor between blue wire and ground.
A manual toggle switch (SW1) on the current output (red wire) prevents activation of the oxygen generator during setup. The voltage across a 10 ohm sense resistor (Rsense) is used to monitor the current through the oxygen generator, and is sent to one of the A/D inputs of the Arduino (Imon).
The controller connects to the chamber via a six-conductor cable. Data are sent to the computer via the USB connection of the Arduino.
The code for operating the controller can be found at the bottom of the page.
Controller Assembly
The actual controller needs to be soldered together and put into a box. Assembly is not terribly complicated, but it does look different from the diagrams.
Once assembled, a controller box for a single channel will look something like this.

All of the circuitry is contained in a plastic relay box, drilled to accommodate a six-pin connector (for the cable to the chamber), a toggle switch (SW1 in the circuit diagram), a USB cable to the compter, and a viewing port for the OLED display.
The brain of the controller is an Arduino Nano Every on a circuit board.

On such a small production scale, it is simple to use colored wires to connect the Arduino to the other components on the board. Six wires connect the Arduino to a six-pin header which will in turn connect to a six-pin connector on the outside of the box. The 4-pin header for the OLED display is connected to in parallel to the I2C (a 2X4 pin header helps to keep the OLED display standing straight).
Connector and wires.

A six-pin female bulkhead connector is mounted on the controller box to connect to the chamber. Wires are soldered to the connector, then to a 6-pin plug that matches the six-pin header on the circuit board. A toggle switch (SW1) is soldered between the plug and connector of the current output channel.

The photo above shows the finished controller before mounting in the relay box. The wires from the bulkhead connector are inserted into the 6-pin header on the circuit board and the OLED display is plugged into the 4-pin header.

The box can be anything that holds the components and can be drilled for the connector, switch, and USB cable. We have been using ABS plastic enclosures from Bud Industries for single channel boxes. Forstner bits work well for drilling clean holes in the plastic.

Three holes have been drilled in the top for the bulkhead connector, toggle switch, and for a port on the top for observing the OLED display.

The connector and switch have been secured into place, and an acrylic window has been cemented into the viewing port.

In the bottom half of the enclosure, the circuit board has been screwed into place, a notch has been cut for the USB cable, and the micro USB has been plugged into the Arduino. After this, it is just a matter of plugging the connector from the top into the bottom and screwing the box together.

The Cable

The cables connecting the controllers to the chambers are made from 24 gauge, six-conductor cable with male connectors at each end. There is nothing mysterious in their construction, just make sure each wire is connected to the same pin at each end.
Additional Information
At this point, you should be able to assemble everything and measure oxygen consumption. Your questions will be very helpful for pointing out things that need to be expanded or clarified.
There is a video describing the setup of an earlier version of this respirometer for fruit flies here. Unfortunately, the journal has a rather restrictive paywall, so you may not be able to access the video if your institution does not subscribe.
If you are interested in using the technique, but do not feel like building your own or would like more information before starting, send a message using the Contact Tierra de Oro link at the bottom of the page.
List of Materials
Arduino code