Library / SDK
pieeg-club/ironbci avatar
pieeg-club/ironbci

ironbci: an eight channel BLE brain-computer interface you can build yourself

Wearable (BLE) Brain-Computer Interface, ADS1299 and STM32 with SDK for mobile application

638 stars68 forksPythonLicense varies

At a glance

What is it?
ironbci is a low-cost wearable brain-computer interface built on an ADS1299 analogue front end and an STM32, streaming eight channels of EEG over Bluetooth Low Energy at 250 samples per second with dry Ag/AgCl electrodes. The repository holds the hardware documentation, a Python SDK, an Android SDK, a dataset and the scripts to work with it, and it carries explicit warnings that the device is not a medical device and must run from a battery only.
Who is it for?
Adopt ironbci if you are prototyping a brain-computer interface and want eight channels of EEG over Bluetooth Low Energy without a commercial amplifier, and if you are prepared to work on the hardware side, since the electrodes, the front end and the 3D printable headset are all part of the project rather than accessories to it.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 30 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the hardware is, and what the software around it is for

The project describes itself as a low-cost wearable BLE brain-computer interface for 8 channels, for dry and wet electrodes, with a mobile app SDK and Python, and the title of the write-up is more specific still: a low-cost BLE brain-computer interface for brain-computer interface work in a lab or a classroom.

The hardware is built around two named parts. The repository description names the ADS1299 and STM32, and the README's electrode connection section points to a schematic image, so the analogue front end is the ADS1299 and the microcontroller is the STM32. The connectivity is Bluetooth Low Energy, which is the constraint that shapes the whole design: the device has to be worn, so it has to be small, battery powered and untethered.

The sample rate is 250 samples per second, stated alongside the raw data traces. That is enough to resolve the alpha rhythm, which the README demonstrates directly with an alpha rhythm test, eyes closed and eyes open, where the trace is high with eyes closed and drops with eyes open. Seeing that in the raw data is the fastest way to understand what the device is buying you.

Around the hardware there are four distinct pieces of software and data, each in its own directory. The SDK/ directory holds the Python SDK, the mobile_app/ directory holds the Android SDK, the dataset/ directory holds recorded data, and Scripts_for_work_with_dataset/ holds the processing scripts. There is also 3D_headset/ for a printable headset, Supplementary files/ for the images and documentation, and a Chat_GPT/ directory whose purpose is not described in the README.

The README also notes that ironbci is included in the PiEEG-Server software, which is the clearest hint about the intended use: this is a component in a larger brain-computer interface toolchain, not a standalone product.

Dry electrodes without gel, and the artifacts that come with them

The electrodes are specified as dry Ag/AgCl without gel, and the README pairs that specification with a section on chewing and blinking artifacts. That pairing is the honest engineering picture of this class of device, and it is worth reading the two together rather than separately.

The demonstration images are labelled as raw data at 250 samples per second, and one of them covers the alpha rhythm test with eyes closed and eyes open. Another is the electrode connection schematic. The artifacts section shows what chewing and blinking do to the trace, which is exactly the information a first-time user needs and which is usually missing from a datasheet.

Dry electrodes remove the gel, the skin prep and the electrode degradation that come with wet or gel electrodes, and that is the reason to want them: setup time and consumables go down, and a headset can be put on and taken off repeatedly. The cost is a noisier signal, which is why the README shows artifacts rather than a clean trace.

The two reference points, the alpha rhythm and the artifact traces, are what make the repository useful as documentation rather than only as a build. A researcher or student can compare their own recording against a known-good alpha response and a known-bad artifact, without needing a reference device of their own.

For anyone planning a study, the artifact section is the one to study first, because the reliability of the numbers you collect depends on what your users' jaw and eyes are doing while they wear it.

The three deliverables: hardware, SDK and dataset

The README closes its list of resources with three links, and they cover the three ways someone picks this project up.

The first is the SDK for Python, in the SDK directory, and the second is the SDK for Android, in the mobile_app directory. The third is a 3D printer design for the headset, in a separate repository, which is the piece that turns an electronics board into something a person can wear.

Having the mobile app is what distinguishes this from a bench experiment. Most of the video in the README is demonstrations: a device introduction, a mobile app test, and a walkthrough on how to program a brain-computer interface with ironBCI. The app matters because a BCI demo that needs a laptop tethered by USB is a demo, and one that streams over BLE to a phone is a wearable system. The repository is a low-cost platform for rapid neurotech prototyping, which is the phrase used in the citation.

The dataset directory and the Scripts_for_work_with_dataset directory complete the loop, and they are the reason a newcomer can start without building hardware at all. Recorded data plus the processing scripts means the first question, what does a signal from this device look like when you run the standard analysis over it, can be answered from the repository before you solder anything.

The work is also published. The citation given is the original paper, Rakhmatulin, I., IronBCI: A Low-Cost, Open-Source BCI Platform with Mobile SDK for Rapid Neurotech Prototyping, Preprints 2025, 2025071198. Preprints is a preprint server, so the work is citable and readable without a peer review process holding it up.

The contact details are pieeg.com and the pieeg email address, and the project also runs a liability page at pieeg.com/liability/.

The safety warnings are specific, and they are not boilerplate

Two warning blocks sit in the README, and both are worth reading closely rather than skimming past, because they are the part of the documentation that tells you how the project expects the device to be used.

The first states that ironbci is not a medical device, that you are fully responsible for your personal decision to purchase this device and for its safe use, that it has not been certified by any government regulatory agency for use with the human body, and that you should use it at your own risk.

The second is a caution with a physical requirement: the device must operate only from a battery, 5 V, and complete isolation from the mains power is required. The device must not be connected to any kind of mains power, via USB or otherwise. The power supply is only battery 5V, and the README points at the liability page for that.

This is the kind of warning that matters more than it looks. A device that is worn on the head and connected to a computer for data logging is exactly the arrangement where somebody would reach for a USB cable to charge the battery, and the warning exists to close that path. Complete isolation from mains, enforced by running on a battery, is a stated design constraint rather than a preference.

For an evaluator, the combination tells you the scope of the project clearly. This is a research and teaching platform for neural signal acquisition, and the project is explicit that it is not a medical device, that it carries no regulatory certification, and that the electrical safety conditions are non-negotiable. Anyone planning to put it on a person should read legal.md equivalent documentation, which here is the README and the linked liability page, before anything else.

Editorial conclusion

Adopt ironbci if you are prototyping a brain-computer interface and want eight channels of EEG over Bluetooth Low Energy without a commercial amplifier, and if you are prepared to work on the hardware side, since the electrodes, the front end and the 3D printable headset are all part of the project rather than accessories to it. Do not adopt it for anything clinical, because the README states plainly that the device is not a medical device and has not been certified by any regulatory agency, and do not power it from mains or USB under any circumstances, since complete isolation from mains via a 5 V battery is a stated safety condition. Before you commit, read the two warning blocks and the linked liability page, work through the supplied dataset and the Scripts_for_work_with_dataset tools to see the signal quality you would be working with, and check the alpha rhythm test and the artifact traces against your own setup to know what a good and a bad recording look like on this hardware.

Frequently asked questions

What hardware does the ironbci brain-computer interface use?

It is built around an ADS1299 analogue front end and an STM32 microcontroller, with eight channels streamed over Bluetooth Low Energy. The README shows the electrode connection schematic, and the sample rate for raw data is 250 samples per second.

What electrodes does ironbci use and what artifacts should I expect?

Dry Ag/AgCl electrodes without gel, which removes the gel and skin preparation a wet setup needs. The README documents chewing and blinking artifacts alongside the raw traces, and shows an alpha rhythm test with eyes closed and eyes open, where the trace is high with eyes closed and drops with eyes open.

What software comes with ironbci?

A Python SDK in the SDK directory, an Android SDK in the mobile_app directory, recorded data in the dataset directory, and the Scripts_for_work_with_dataset directory for processing it. There is also a 3D printable headset design in a separate repository, and the project is included in the PiEEG-Server software.

Is ironbci a medical device and how is it powered?

No. The README states it is not a medical device, has not been certified by any government regulatory agency for use with the human body, and is used at your own risk. It must operate only from a 5 V battery with complete isolation from mains power, and must not be connected to mains power via USB or otherwise.

Is there a publication describing the ironbci platform?

Yes. The citation given is Rakhmatulin, I., IronBCI: A Low-Cost, Open-Source BCI Platform with Mobile SDK for Rapid Neurotech Prototyping, Preprints 2025, 2025071198. The project is also documented on its own site at pieeg.com.

Official sources

  1. Issues
  2. pieeg-club/ironbci on GitHub
  3. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/pieeg-club-ironbci.svg)](https://hysenlabs.com/projects/pieeg-club-ironbci)

Was this useful?