Pd BioAmp

From Hackteria Wiki
Jump to: navigation, search

BioAmp EXG Pill by Upside Down Labs

Professional-grade analog front-end amplification for ECG, EMG, EOG, and EEG biosensing on one tiny board. Forked from Upside Down Labs - BioAmp EXG Pill to be used in the project class at HSLU "Medizintechnik DIY"


See their crowdfunding website and fantastic experiments and documentation: https://www.crowdsupply.com/upside-down-labs/bioamp-exg-pill

Github repository


pd BioAmp Eurorack version

Bioamp pd-patch ani.gifPd bioamp case.jpg

Made a nice case with 3mm mdf, laser-cut, glued and sanded to have rounded corners and sprayed nicely. On the right side is a little LM386 amp and speaker to sonify the measurements.


  • upside-dowb labs BioAmp EXG pill
  • Seeed Xiao SAMD21 microprocessor
  • 32x128 OLED screen (and pink foil)
  • neo-pixel strip, 6 Leds
  • 1 x stereo jack, 3.5mm (to plug in the electrodes V+ | V- | ref, using the cables we have from BYB, or self made)
  • 1 x 10kOhm potentiometer
  • 1 x push-button
  • 3 x mono jacks, 3.5mm

To do

  • design PCB and front panel for manufacturing
  • sell it and get rich!

Arduino code

Based on the example codes by Upside Down Labs for reading and filtering the BioAmp EXG pill and the scrolling graph by Jon E. Froehlich, makeabilitylab.io.


  • Wire (for i2c)
  • Adafruit_SSD1306 (for the oled)
  • Adafruit_NeoPixel
  • Adafruit_GFX

To do

  • control the neo-pixels
  • add more graphics to the OLED
  • use button for different modi
  • send gate for heart beat detection
  • send CV out of the DAC (kinda done, but noisy)
  • send sound/music out of the DAC

Pd patch

How to receive data from Arduino through serial port in Pd (puredata)

  • install "comport" extension. And then... first you will just receive the ascii-code number of the strings sent through the serial port. So we need to decode this.



can be loaded from ./Arduino_Pd or copied directly into the patch.

cyclone extension

See this instruction video: