Inspiration Previously, we successfully achieved stable acquisition of invasive and non-invasive electroencephalogram (EEG) signals in mice and rats in the laboratory, validating our core capabilities in neurophysiological microenvironment and signal processing. However, the high cost of commercially available closed-source equipment limits the widespread adoption and agile development of brain-computer interface (BCI) technology. This inspired us to create sgBCI: a wireless neural signal acquisition system based on a low-cost, open-source hardware architecture, aiming to break down the barriers between basic medical research and engineering applications.

What it does sgBCI is a wearable wireless brain-computer interface front-end. It can acquire microvolt-level EEG and EMG signals with high precision and transmit them to a host computer in real time via wireless protocols. The current version can interface with OpenBCI and its downstream ecosystem and has the potential to be extended to control external devices (such as robotic arms) in real time, providing a cost-effective underlying hardware solution for neuroengineering developers and researchers.

How we built it

For hardware architecture, we chose the Texas Instruments ADS1299 analog front-end chip, leveraging its 24-bit high-resolution ADC features specifically designed for biopotential measurement; the main control MCU uses the ESP32 to achieve low-latency wireless data encapsulation and transmission.

At the software level, we developed C++ firmware adapted to the ESP32 and built a Python-based real-time signal analysis pipeline. Through a customized hardware interface kit, we miniaturized the complex analog/digital mixed-signal link to a portable size.

Challenges we ran into

  1. Signal-to-noise ratio (SNR) optimization for extremely weak signals: Microvolt-level neural signals are easily overwhelmed by 50Hz/60Hz power line interference and high-frequency noise from digital circuits. We must strictly separate analog and digital grounds in the hardware layout and fully utilize the ADS1299's extremely high common-mode rejection ratio (CMRR, typically around -110 dB) to cancel common-mode noise:

$$ V_{out} = A_d (V^+ - V^-) + A_c \left(\frac{V^+ + V^-}{2}\right) $$

  1. Real-time Data Stream Packetization and Synchronization: When using ESP32 for multi-channel wireless transmission, network jitter can easily lead to packet loss and timing discrepancies. We designed a timestamped ring buffer mechanism to ensure the integrity of data frames during host computer reconstruction.

Accomplishments that we're proud of & What we learned

We successfully scaled up and engineered our laboratory-level physiological signal acquisition experience into a maker-level hardware prototype. This not only deepened the team's understanding of mixed-signal circuit routing and wireless RTOS scheduling, but also successfully implemented the entire chain from underlying chip data acquisition to upper-level computer algorithm analysis.

What's next for sgBCI? Further optimization of low-power management, attempts to introduce lightweight filtering algorithms for signal preprocessing at edge computing endpoints (such as ESP32 local), and improvement of downstream mechanical exoskeleton/bionic hand control interfaces.

Built With

  • ads1299
  • agent
  • esp32
Share this project:

Updates

Submission history