by Starcat

8-32 channel TI ADS1299 Arduino shield for EEG, EMG, and EKG bio-signals acquisition

View all updates Jan 21, 2020

Four Boards, 32 EEG Channels

4 HackEEG boards stacked, blinking their blue LEDs

I’ve been wanting to show this off for a long time, and I finally got the software working!

Up to four HackEEGs can be stacked, for a total of 32 EEG channels. That’s a short movie of the HackEEG python client hackeeg_shell asking the Arduino Due driver to blink the blue board LED in turn. The blue LED is connected to an ADS1299 GPIO pin, so if we can blink it, we know we can send data to chip and configure it. So the whole stack of boards is working! 32 EEG channels!

That proved we can write to the chip. Can we read EEG data from it? Yes! Things are a bit slower with a stack of boards, since the multi-board software is still a work in progress. But we can read 500 SPS from all four boards without losing any samples:

$ hackeeg_stream --channel-test --sps 500 --samples 100000  --messagepack  --quiet
duration in seconds: 50.95084853300068
samples per second: 1962.675850927789
dropped samples: 0

screenshot of hackeeg_stream commandline program run results

Notice we’ve set the sampling rate to 500 samples per second (SPS) but we got almost 2,000 samples per second. That’s 500 SPS x 4 boards = 2000 SPS total.

In the movie and the demo above, the HackEEG is not connected to EEG electrodes– I’m testing using the --channel-test option, which turns on a combination of ADS1299 internal test signals. It’s digitizing its own test data. In a later update I’ll show the whole setup connected to OpenBCI so we can look at the EEG data graphically.

4 HackEEG boards stacked

Why are things slower with four boards? With one board, we can read 16,000 samples per second, with four we should be able to do 4,000 per board, right? Theoretically that’s true. But in practice, there’s more overhead to deal with – we have to configure 4x as many boards, there are 4x as many interrupts happening, we have to do more conditional checks when running with 4 boards, etc. I hope to do some optimization in the next few weeks, and that might allow us to get to 1,000 samples per second per board, so 4,000 SPS total. It’s pretty close to that already.

$26,720 raised

of $8,455 goal

316% Funded! Order Below

Product Choices


HackEEG 8-Channel Basic Kit

Includes one HackEEG, a ribbon cable, and an electrode connector.


HackEEG 8-channel Starter Kit

Includes one HackEEG board, a ribbon cable, and a connector board with ten DIN 42-802 touch-proof electrode connectors (eight inputs, one reference, one ground).


HackEEG 8-channel Deluxe Kit

Includes one HackEEG, a ribbon cable, an electrode connector, Arduino Due, ten silver chloride EEG electrodes, two ounces of Ten20 conductive paste, and four ounces of NuPrep prep gel.


HackEEG 32-channel Deluxe Kit

Includes 4 x HackEEG, 4 x ribbon cable, 4 x electrode connector, 1 x Arduino Due, 40 x silver chloride EEG electrode, 4 x two ounces Ten20 conductive paste, 4 x four ounces NuPrep prep gel.



Electronics R&D company specializing in open source hardware and high performance biosignals acquisition equipment; creator of the HackEEG shield successfully launched on Crowd Supply in 2020

Adam Feuer


PCB Fabrication & Assembly

Plastics One Technologies

Components Manufacturing

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: