Show HN: 오픈 소스 8채널 BCI 보드 (ESP32, ADS1299 및 OpenBCI GUI)
요약
Cerelog ESP-EEG는 EEG, EMG, ECG 및 뇌-컴퓨터 인터페이스(BCI) 연구를 위해 설계된 고정밀 8채널 오픈 소스 바이오센싱 보드입니다. ESP32와 ADS1299를 기반으로 하며, Lab Streaming Layer(LSL) 프로토콜을 통해 OpenBCI GUI 및 Brainflow API와 호환되어 데이터 시각화와 분석이 용이합니다.
핵심 포인트
- ESP32 및 ADS1299를 활용한 고정밀 8채널 바이오센싱 지원
- Lab Streaming Layer(LSL) 프로토콜을 통한 데이터 스트리밍 및 타 소프트웨어(Matlab 등) 연동 가능
- OpenBCI GUI 커스텀 포크 및 Brainflow API를 통한 데이터 수집 및 분석 지원
- 펌웨어, 소프트웨어, 회로도 및 3D 프린팅 케이스 설계가 포함된 오픈 소스 프로젝트
Cerelog ESP-EEG
<img src="ESP_EEG_1_2_image.jpg" alt="Cerelog Board" width="450">EEG, EMG, ECG 및 뇌-컴퓨터 인터페이스 (BCI) 연구 애플리케이션을 위해 설계된 고정밀 8채널 바이오센싱 보드
www.cerelog.com 및 제품 페이지 (조립 완료 유닛 구매 가능): 여기
도움이 필요하거나 질문이 있으신가요? Discord 채팅 커뮤니티
이 페이지에 오픈 소스 펌웨어 (Firmware), 소프트웨어 (Software) 및 회로도 (Schematic)가 포함되어 있습니다.
유용한 링크
연락처: simon@cerelog.com
도움이 필요하거나 질문이 있으신가요? Discord 채팅 커뮤니티
제품 페이지: 여기
제품 사용 가이드: 여기 및 장치 사용을 위해 위의 지침 파일을 참조하세요
제품 개요 영상: 여기
자신만의 케이스를 3D 프린팅하세요 여기
<img src="connecting_photo.jpeg" alt="Connecting Photo" width="1900">유용한 문제 해결 가이드 (troubleshooting guide)
왜 Cerelog의 ESP-EEG인가?
사용하기 쉬운 소프트웨어 호환성:
Lab Streaming Layer (LSL) 프로토콜을 통해 **OpenBCI GUI (커스텀 포크 (Custom fork))**와 호환됩니다 (LSL이란 무엇인가?)
<img src="IMG_3756.jpg" alt="Demo" width="500">커스텀 포크된 OpenBCI GUI 사용하기:
설정 지침 및 LSL 커스텀 Python 연결 스크립트: 여기
데이터를 쉽게 시각화하고 다른 플랫폼으로 스트리밍할 수 있도록 수정된 OpenBCI GUI가 위와 같이 포크되었습니다. 이는 특별한 Python 스크립트(위 링크에 있음)를 통한 LSL 스트리밍 기능을 통해 작동합니다!
ESP-EEG의 Python 클라이언트 소프트웨어는 표준 신경과학 소프트웨어 통신 프로토콜인 Lab Streaming Layer (LSL)를 통해 데이터를 스트리밍할 수 있습니다. 이는 여러분이 선호하는 신경과학 소프트웨어나 노트북 또는 원격 컴퓨터에서 실행 중인 Matlab으로 데이터를 직접 스트리밍하고, 데이터 스트림을 기록하며, ESP-EEG의 데이터를 다른 데이터 스트림과 통합할 수 있음을 의미합니다.
복잡한 데이터 분석을 위해 Brainflow API로 데이터 스트리밍하기 :
<img width="280" height="111" alt="image" src="https://github.com/user-attachments/assets/ec388fc8-904d-449b-bd2b-493beb47d03b" />Brainflow API 커스텀 인스턴스를 사용하여 장치로부터 데이터를 수집하는 방법에 대한 안내: 여기
그리고
장치로 데이터를 수집하기 위한 Brainflow 리포지토리 (Repo)의 커스텀 인스턴스: 여기
참고: 플롯(plot)을 빠르게 확인하고 데이터를 획득하기 위한 테스트 스크립트 -> 위 리포지토리에서 'Shared_brainflow-cerelog/python_package/cerelog_tests/filtered_plot.py'를 실행하세요. (사용하려면 전체 Brainflow 인스턴스를 다운로드하여 실행해야 합니다)
Brainflow를 사용한 Cerelog ESP-EEG의 2가지 빠른 영상:
위에서 링크된 가이드는 매우 상세하므로 반드시 읽어보시기 바랍니다. 설정 중 어려움이 있다면 아래 영상들을 확인하세요:
위 링크들은 YouTube 영상으로 연결됩니다
EMG 데모
ESP-EEG 로봇 손 컨트롤러 🤖
ESP-EEG 생체 신호 센서의 EMG (근전도) 기능을 사용하여 로봇 손을 제어하는 시연입니다.
(YouTube에서 데모를 보려면 위 이미지를 클릭하세요)
데모
SSVEP 기술을 이용한 DIY 뇌-컴퓨터 인터페이스 (Cerelog ESP-EEG 사용)로 퐁(Pong) 게임 하기 🤖
SSVEP 기술을 사용하여 ESP-EEG 생체 신호 센서로 퐁(Pong) 게임을 플레이하는 시연입니다.
(위 이미지를 클릭하면 YouTube에서 데모를 시청할 수 있습니다)
Instructables: 마음으로 퐁 게임 하기 – DIY 뇌-컴퓨터 인터페이스 (Brain Computer Interface)
PhantomLoop 통합 — 브라우저 기반 신경 디코더 (Neural Decoder) (베타 테스트 중)
디코더(Decoder)는 해당 신호들을 분석하여 사람이 무엇을 생각하거나 시도하려 하는지 추측하는 작은 프로그램 — 대개 머신러닝 (Machine-Learning) 모델 — 입니다.
커뮤니티에서 구축한 브라우저 기반의 디코더 플레이그라운드입니다. ESP-EEG에서 실시간 EEG 데이터를 스트리밍하고, 그 위에 ML 모델을 실행하여 예측값과 실제 출력값을 나란히 비교해 볼 수 있습니다 — 로컬 설치가 필요하지 않습니다. 커뮤니티 멤버인 yelabbassi가 제작하였으며, 제3자(third-party) 제공 서비스입니다.
신규: WiFi 지원 - (베타 테스트 중) - OpenBCI GUI Fork / LSL 사용 용도
<img src="https://upload.wikimedia.org/wikipedia/commons/a/ae/WiFi_Logo.svg" alt="WiFi Logo" width="100"/>📉 탁월한 노이즈 감소 (Closed-Loop Bias)
"오픈 루프 (Open-loop)" 또는 수동 접지(passive grounding) 전략을 사용하는 많은 소비자용 EEG 장치와 달리, ESP-EEG는 **진정한 클로즈드 루프 액티브 바이어스 (True Closed-Loop Active Bias, Drive Right Leg)**를 구현합니다.
- 문제점 (The Problem): 많은 경쟁 제품들이 바이어스 피드백 루프 (Bias Feedback Loop)를 개방된 상태로 두어, 움직임에 의한 아티팩트 (Movement Artifacts) 및 50/60Hz 험 (Hum)에 대한 노이즈 제거 효과를 무력화합니다. 이들의 바이어스 핀 (Bias Pin)은 사실상 전원 레일 (Supply Rails)의 평균값이 되어 장치의 접지 (Ground)처럼 작동하며, 이로 인해 ADS1299 데이터시트 (Datasheet)에서 의도한 대로 바이어스 핀이 효과적으로 기능하지 못하게 됩니다.
- 우리의 해결책 (Our Solution): 우리는 ADS1299의 모든 성능을 활용하여 공통 모드 신호 (Common-mode Signal)를 측정하고, 이를 반전시켜 신체로 다시 능동적으로 구동 (Actively Drive)합니다.
- 결과 (The Result): 노이즈 플로어 (Noise Floor)가 현저히 낮아지고 아티팩트가 줄어들어, 차폐되지 않은 환경에서도 연구 등급 (Research-grade)의 데이터 캡처가 가능합니다.
하드웨어 개요 (Hardware Overview)
장치 회로도 (Schematic)는 hardware 폴더를 참조하세요.
🔌 하드웨어 핀아웃 및 표시등 (Hardware Pinout & Indicators)
- 상태 LED (Status LED, GPIO 17):
- 🟢 점등 (Solid On): 펌웨어 (Firmware) 로드 완료, 스트리밍 준비됨.
- ⚫ 소등 (Off): 보드 전원 없음 또는 부팅 실패.
- 배터리 LED (Battery LED):
- 🔴 빨간색 (Red): 충전 중.
- 🟢 초록색 (Green): 완충됨.
- 배터리 커넥터 (Battery Connector): JST-PH 2.0mm (빨간색 = +, 검은색 = -). 3.7V LiPo 지원.
- 전극 (Electrodes): 표준 접촉 방지 헤더 (Standard touch-proof headers). (핀 1-8 = 신호 (Signal), SRB1 = 기준 (Reference)).
⚡ 기술 사양 (Technical Specifications)
| 기능 (Feature) | 사양 (Specification) |
|---|---|
| ADC | Texas Instruments ADS1299 (24-bit, 연구 등급 (Research Grade)) |
| ... |
펌웨어 (Firmware)
펌웨어 및 수정 지침은 firmware 폴더를 참조하세요.
⚠️ 치명적인 안전 경고 (CRITICAL SAFETY WARNING)
비절연 장치: 배터리 작동 필수 (NON-ISOLATED DEVICE: BATTERY OPERATION REQUIRED)
이 장치에는 전기적 절연 (Galvanic Isolation) 회로가 포함되어 있지 않습니다. 사용자의 안전을 보장하고 접지 루프 (Ground Loops)를 방지하려면:
- 항상 이 장치를 **배터리 전원 (Battery Power)**으로 작동 중인 노트북과 함께 사용하십시오.
- 절대로 이 장치를 벽면 콘센트 (Mains Power)에 연결된 컴퓨터에 연결하지 마십시오.
- 절대로 이 장치를 데스크톱 컴퓨터에서 사용하지 마십시오.
이 지침을 따르지 않을 경우, 전원 서지 (Mains Surge) 발생 시 감전의 위험이 있으며, 접지 노이즈 (Ground Noise)로 인해 신호 품질이 크게 저하됩니다.
중요 공지
이 제품은 연구, 엔지니어링 및 교육 목적으로만 제작되었습니다. 이는 의료 기기가 아니며 FDA의 평가를 받지 않았습니다. 또한, 본 제품은 UL 또는 FCC 인증을 받지 않았습니다.
본 평가 보드/키트는 오직 엔지니어링 개발 (ENGINEERING DEVELOPMENT), 시연 (DEMONSTRATION) 또는 평가 (EVALUATION) 목적으로만 사용하도록 설계되었으며, Cerelog Inc.는 이를 일반 소비자용으로 적합한 완제품으로 간주하지 않습니다.
당사는 이 제품의 사용으로 인해 발생하는 수익 손실, 이익 손실, 영업 중단 또는 데이터 손실을 포함하되 이에 국한되지 않는 어떠한 직접적, 간접적, 결과적, 부수적 또는 특별 손해에 대해서도 명시적으로 책임을 부인합니다.
이 장치는 자체 배터리로 작동하는 노트북이나 휴대용 배터리 뱅크로 전원을 공급받는 Raspberry Pi와 같이 배터리 전원으로 구동되는 컴퓨터에만 연결하십시오. 전원 서지 (Power Surge) 발생 시 절연되지 않을 수 있으므로 PC와 같이 상용 전원 (Mains Power)을 사용하는 장치에는 연결하지 마십시오.
Cerelog Inc.는 이 웹사이트에 링크되거나 권장된 제3자 제품의 성능, 적합성 또는 사용에 대해 어떠한 책임도 지지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Game Dev의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기