YOU CAN BUILD THE SENSOR THAT READS YOUR HEART, MUSCLES AND BRAIN AT HOME

A board the size of a postage stamp reads your heartbeat, muscle firing, eye movement and brain activity — and the schematic is public.

by Upside Down Labs

FULL CAD BOM FIRMWARE DOCS

Open-hardwareScience

Built withArduino

difficulty
●●●○○
time
a weekend
license
CERN-OHL-S-2.0
repo
repo ACTIVE429 stars
1
Jump to section

COMPAREE VERDICT

This is the analog front end problem solved in hardware and published. The board is 25.4 by 10 millimetres, it amplifies and filters tiny biopotential signals, and it hands a clean trace to any 5-volt microcontroller with an analog input. Version 1.0 adds configuration options for gain, band pass and electrodes on the board itself, so the same PCB can be set up for a heartbeat or a brain trace. The repository has the KiCad design, an interactive BOM, Arduino filter code for each signal band and electrode-placement diagrams, but no step-by-step assembly guide and no ready Gerbers. The single thing most likely to go wrong is noise pickup: biopotential signals are tiny and mains hum is everywhere, so electrode contact, cable routing and the reference electrode all matter. If you have never worked with instrumentation amplifiers or read an ECG trace before, expect an evening of troubleshooting before the trace is clean. You can buy it ready-made from the makers, or order the PCB from a fab and hand-solder it yourself, and if you want to see what your body is doing electrically and you want the files to modify it, this is the design to start from. It will not diagnose anything and it should never be on your skin while connected to mains power.

GOOD TO KNOW

  • —Complete KiCad schematic, PCB layout and 3D STEP files are in the repository.
  • —Interactive HTML BOM (ibom.html) lists every component and shows where it goes on the board; you source the parts yourself.
  • —Arduino filter sketches provided for all four signal types (ECG, EMG, EOG, EEG).
  • —Hardware licensed under CERN Open Hardware Licence v2 Strongly Reciprocal, software under MIT.
  • —CERN-OHL-S requires you to share modifications under the same licence if you distribute hardware.
  • —Not a medical device: this is a board for education and experimentation, and nothing it shows should be used for health decisions.

Parts to buy

4 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • PCB fabricationfrom the repo files
  • Gel electrodesFind
  • Arduino or compatible microcontrollerFind
  • USB cableFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

Printnothing required
BuyPCB fabrication (export the Gerbers yourself from the KiCad layout), components from the interactive BOM, gel electrodes, Arduino or compatible microcontroller, USB cable
Toolssoldering iron, solder, flux, tweezers for SMD work, multimeter, computer with Arduino IDE
SkillsIntermediate: fine-pitch surface-mount soldering (0603 passives and a TSSOP-14 op-amp), basic Arduino, reading datasheets, following grounding and shielding notes to avoid noise
Timea weekend: board assembly 2-4 hours, first signal trace another 2-3 hours troubleshooting noise and placement
CostThe makers sell ready-made boards and kits on Crowd Supply starting around 35 dollars; building your own means paying for a small PCB order, the SMD parts, gel electrodes and an Arduino if you do not have one.
SafetyBattery or laptop-on-battery only while electrodes are on skin — never connect to mains power or a mains-powered device. This is not a medical device and makes no diagnostic claim.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

The makers' own intro video (BioAmp EXG Pill v0.7, Upside Down Labs on YouTube) is linked from the README and shows the board reading ECG, EMG, EOG and EEG; there is no step-by-step soldering walkthrough, so use the README diagrams for assembly.

More builds like this

All projects

Gallery

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the repository README and the hardware design files to understand the four signal modes and solder jumper configurations (The jumper table is critical — bridging the wrong pads will give you the wrong gain or band pass for the signal you want.)
  2. 2.Open the KiCad project in the hardware folder, export Gerber files from the PCB layout, and order PCBs from JLCPCB, PCBWay or your preferred fab(The README links to a hardware/gerbers folder that is not in the repository, so plan to export the Gerbers yourself from the KiCad layout.)
  3. 3.Open the interactive HTML BOM in the repository and order components(The interactive BOM lists the parts and their placement; it has no supplier links, so match the values to a distributor such as LCSC yourself.)
  4. 4.Solder the board using the interactive BOM as your placement guide, starting with the smallest components and finishing with the headers(0603 resistors and capacitors, TSSOP-14 op-amp — manageable with a fine tip, flux and magnification, but not a first SMD project.)
  5. 5.Bridge the solder jumpers for your chosen signal type (ECG / EMG / EOG / EEG) according to the table in the README(You can change modes later by clearing the solder and re-bridging, but start with one.)
  6. 6.Connect the board to an Arduino, upload the matching filter sketch from the Software folder, attach gel electrodes and open the serial plotter(Follow the electrode placement diagrams in the README — wrong placement is the most common reason for a noisy or flat trace.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • Ignoring the v1.0 configuration options: gain, band pass and electrode setup are configured on the board itself, so check the configuration diagram in the README against the signal you want before assuming your code is wrong.
  • Connecting the circuit to a mains-powered device while electrodes are on skin — use battery power only, or a laptop running on battery with no charger plugged in.
  • Expecting a clean trace without care: biopotential signals are tiny and mains hum is everywhere, so electrode placement, short cable runs, the reference electrode and battery power all matter.
  • Using dry electrodes or badly placed gel electrodes — skin contact has to be good and the electrode positions have to match the README diagrams, or the trace will be noise.
  • Assuming this is a medical device or that it can diagnose anything — it is not; it is for looking at signals, not for health decisions.
  • Not checking the CERN-OHL-S licence terms before modifying and sharing — the strongly reciprocal variant requires you to release modifications under the same licence if you distribute hardware.

Can I use this to diagnose a heart condition or monitor health?

No. This is not a medical device and makes no diagnostic claim. It is for education, experimentation and seeing what your body's electrical signals look like. Do not use it for medical decisions.

What is the difference between the four signal modes?

ECG reads the heart, EMG reads muscle activity, EOG reads eye movement and EEG reads brain activity. On v1.0 you set gain, band pass and electrode configuration with solder jumpers on the board, and the repository's Arduino filter sketches then clean each signal digitally (ECG 0.5-44.5 Hz, EMG 74.5-149.5 Hz, EOG 0.5-19.5 Hz, EEG 0.5-29.5 Hz).

Do I need an oscilloscope or can I use an Arduino?

An Arduino with an analog input is enough — the repository includes Arduino sketches that read the signal and send it to the serial plotter. An oscilloscope works too but is not required.

What does the CERN-OHL-S licence mean for me?

You can make the board, modify it and use it freely. If you distribute modified hardware (sell boards, give them away, publish a derivative), you must release your changes under CERN-OHL-S too. The software is MIT, which has no such requirement.

How hard is the soldering?

0603 passives and a TSSOP-14 op-amp with 0.65 mm pin pitch — fine pitch but not ball-grid or QFN. If you have done a few SMD boards before, this is manageable with a fine tip, flux and magnification. If this is your first surface-mount project, buy extra boards, or buy one ready-made from the makers.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

Four signal types (heart, muscle, eye, brain) from one tiny board and a configurable front end. Which one would you wire up first?

CompareeTEAM1mo agoedited

Practical notes from our verification: the repository ships the KiCad design and an interactive BOM (ibom.html) that shows where every component goes, plus about fifteen Arduino example sketches with band-pass filters for ECG, EMG, EOG and EEG. The README links to production Gerbers, but that folder is not in the repository, so you export them yourself from the KiCad layout. There is an official intro video from Upside Down Labs, but it is an overview of v0.7, not a step-by-step assembly guide, so for building you work from the schematic, the board images and the README. On the v1.0 board, gain, band-pass and electrode configuration are set in hardware on the board itself, so check that configuration before you blame your code for a flat or clipped trace. Assembly means 0603 passives and a TSSOP-14 op-amp. The hardware is CERN-OHL-S-2.0, the software MIT, and the design is OSHWA certified; the last commit is from August 2024, and the board is also sold assembled through Crowd Supply. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

Upside Down Labs

Upside Down Labs is a hardware team building open-source biopotential sensing tools for education and research. BioAmp EXG Pill is one of several designs they publish, all aimed at making body-signal sensing accessible without proprietary hardware or closed schematics.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.