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.
Open-hardwareScience
Built withArduino
- difficulty
- ●●●○○
- time
- a weekend
- license
- CERN-OHL-S-2.0
- repo
- repo ACTIVE429 stars
●●●○○ · a weekend · CERN-OHL-S-2.0 · 429 stars · repo ACTIVE
WHAT YOU’LL NEED
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.
IN THE REPO
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 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
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 projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 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.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.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.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.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.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?
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.
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.
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.