Getting Started with the ProtoCentral ADS1292R ECG/Respiration Breakout Board
Introduction
The ProtoCentral ADS1292R breakout board is a dual-channel, 24-bit ECG and respiration analog front-end based on the Texas Instruments ADS1292R. It captures both electrocardiogram (ECG) waveforms and respiration signals simultaneously from a single pair of electrodes. The respiration channel uses impedance pneumography — it detects tiny changes in chest impedance as the subject breathes, providing a continuous respiration waveform alongside the ECG.
This guide covers both the ADS1292R ECG/Respiration Breakout Kit and the ADS1292R ECG/Respiration Shield for Arduino v2. The wiring, library, and example code are the same for both boards — the shield simply plugs directly into an Arduino Uno header, while the breakout connects via jumper wires.
The board includes an onboard 3.3V low-noise voltage regulator, logic level translators for 5V Arduino compatibility, a 3.5mm connector for the included electrode cable, and a prototyping area for adding your own circuitry. It comes with disposable ECG electrodes so you can start capturing signals immediately.
Note: This board is intended for research and development purposes only. It is not FDA, CE, or FCC approved for consumer or medical use.
Key Features
- Dual-channel 24-bit ADC — simultaneous ECG and respiration from the same electrodes
- Impedance pneumography — measures respiration through chest impedance changes, no separate sensor needed
- ADS1292R analog front-end — low-power, low-noise IC designed for portable ECG
- Onboard 3.3V LDO regulator — low-noise power supply for clean analog signals
- Logic level translators — works directly with 5V Arduino boards
- 3.5mm electrode connector — standard medical-style snap electrode interface
- SPI interface — 7 data wires to Arduino (MISO, MOSI, SCK, CS, DRDY, START, PWDN/RESET)
- Prototyping area — additional space on the PCB for custom circuitry
- Includes electrodes — 10 disposable ECG electrodes and electrode cable in the kit
- Shield and breakout variants — shield plugs directly into Arduino; breakout connects via wires
What’s in the Box
Breakout Kit:
- 1× ProtoCentral ADS1292R ECG/Respiration breakout board
- 1× 3-lead ECG cable with 3.5mm connector and snap electrodes
- 10× Disposable ECG electrodes
Shield v2:
- 1× ProtoCentral ADS1292R ECG/Respiration Shield for Arduino
- 1× 3-lead ECG cable with 3.5mm connector and snap electrodes
- 10× Disposable ECG electrodes
You will also need an Arduino Uno (or compatible board) and a USB cable.
Specifications
| Parameter | Value |
|---|---|
| ECG AFE IC | Texas Instruments ADS1292R |
| ADC Resolution | 24-bit per channel |
| Number of Channels | 2 (ECG + Respiration) |
| ECG Bandwidth | 0.5 Hz to 150 Hz (configurable) |
| Interface | SPI (7 signal wires) |
| Supply Voltage | 5V (onboard 3.3V regulator) |
| Logic Levels | 5V Arduino compatible (onboard translators) |
| Electrode Connector | 3.5mm circular with snap leads |
| ECG Electrodes | 2 ECG + 1 Driven Right Leg (DRL) |
| Respiration Method | Impedance pneumography |
Pin Connections
Wiring Diagram

ADS1292R Breakout to Arduino Uno
The ADS1292R uses the SPI protocol with additional control pins. It requires 7 signal wires plus power:
| ADS1292R Pin | Arduino Uno Pin | Function |
|---|---|---|
| MISO | D12 | SPI Data Out (Slave → Master) |
| MOSI | D11 | SPI Data In (Master → Slave) |
| SCK | D13 | SPI Clock |
| CS | D7 | Chip Select |
| DRDY | D6 | Data Ready (interrupt) |
| START | D5 | Start/stop conversions |
| PWDN/RESET | D4 | Power down / reset |
| VDD | 5V | Power |
| GND | GND | Ground |
Note for Shield users: If you are using the ADS1292R Shield v2, simply plug the shield into your Arduino Uno headers — all pin connections are made through the header pins automatically. No jumper wires needed.
Electrode Placement Diagram

Electrode Connections
The electrode cable connects to the 3.5mm circular connector on the board. The three electrodes are:
| Electrode | Color | Placement |
|---|---|---|
| ECG Lead 1 (RA) | — | Right arm or right wrist |
| ECG Lead 2 (LA) | — | Left arm or left wrist |
| DRL (RL) | — | Right leg, left leg, or abdomen |
The DRL (Driven Right Leg) electrode is critical — it actively cancels common-mode noise. Without it, the ECG signal will be very noisy.
Tip: For the best signal quality, place electrodes on flat, hairless skin. Wrist placements work well for quick testing. Clean the skin with an alcohol wipe before attaching electrodes.
Installing the Arduino Library
Option 1: Arduino Library Manager (Recommended)
- Open the Arduino IDE
- Go to Sketch → Include Library → Manage Libraries…
- Search for “ProtoCentral ADS1292R”
- Find “ProtoCentral ADS1292R ECG and Respiration boards Library” and click Install
Option 2: Manual Install from GitHub
- Go to github.com/Protocentral/protocentral-ads1292r-arduino
- Click Code → Download ZIP
- In the Arduino IDE, go to Sketch → Include Library → Add .ZIP Library…
- Select the downloaded ZIP file
Your First ECG + Respiration Reading
The library includes three example sketches:
| Example | Description | Best for |
|---|---|---|
| Example 1: OpenView | Streams data to ProtoCentral OpenView GUI | Full visualization with heart rate |
| Example 2: Computation Only | Processes ECG internally, outputs heart rate | Embedded applications |
| Example 3: Arduino Plotter | Streams to Arduino Serial Plotter | Quick visual check |
Open the simplest example first: File → Examples → ProtoCentral ADS1292R → Example-3-ECG-Respiration-Arduino-Plotter
Running the Example
- Upload the sketch to your Arduino Uno
- Attach the 3 electrodes to your body:
- RA electrode → right wrist
- LA electrode → left wrist
- DRL electrode → right ankle (or left wrist, abdomen)
- Connect the electrode cable to the 3.5mm connector on the board
- Open Tools → Serial Plotter at 57600 baud
- You should see two waveforms:
- ECG — the characteristic PQRST complex of your heartbeat
- Respiration — a slower sinusoidal wave that follows your breathing pattern
What to Expect
The ECG channel will show a repeating heartbeat waveform with the familiar QRS spike. The respiration channel will show a slower undulating wave — breathe deeply and you’ll see the amplitude increase. Hold your breath and the respiration waveform will flatten.
Tip: If the signal is noisy initially, wait 5–10 seconds for the electrode gel to settle and the filters to stabilize.
Visualizing with OpenView
For a richer visualization with heart rate computation:
- Upload Example 1: OpenView from the library examples
- Download OpenView 2 from GitHub
- Open OpenView 2, select “ADS1292R breakout” from the board dropdown
- Select the correct serial port and click Connect
- You’ll see real-time ECG and respiration waveforms with computed heart rate and respiration rate
Troubleshooting
No signal / flat line
- Verify all 7 SPI wires are correctly connected (if using breakout, not shield)
- Check that the electrode cable is fully seated in the 3.5mm connector
- Ensure electrodes are making good skin contact — press them firmly
- Confirm the correct serial baud rate: 57600 for the Arduino Plotter example
- Check that the START pin (D5) is connected — the ADS1292R won’t begin conversion without it
Very noisy ECG signal
- The DRL electrode must be connected — it is not optional. Without it, common-mode noise will overwhelm the ECG
- Keep electrode wires as short as possible and away from AC power cables
- Ensure the subject is not touching grounded metal objects (desk frames, laptop chargers)
- Replace electrodes if the adhesive gel has dried out
- Make sure the PWDN/RESET pin (D4) is connected and not floating
ECG works but no respiration signal
- Respiration uses impedance pneumography, which measures tiny impedance changes across the chest
- With wrist placement, the respiration signal will be weaker — try chest electrode placement for better respiration
- The respiration channel may be commented out in some example sketches — check the code
Shield doesn’t work when plugged in
- Ensure the shield is seated firmly on all Arduino headers — partial seating causes intermittent connections
- Check for solder bridges or bent pins on the shield headers
- Try the breakout-style wiring to isolate whether the issue is the shield connection or the board itself
Resources
- Arduino Library: github.com/Protocentral/protocentral-ads1292r-arduino
- Hardware Design Files: GitHub repository
- ADS1292R Datasheet: TI ADS1292R Datasheet (PDF)
- OpenView 2: github.com/Protocentral/protocentral_openview2
- Electrode Placement Guide: See the additional setup section on docs.protocentral.com
Licenses
- Hardware: Creative Commons Share-alike 4.0 International (CC BY-SA 4.0)
- Software: MIT License
