THALis: Unicorn LSL acquisition

8 channels, 250 Hz, EEGdata.csv. note to self: channel order + timestamps + dropped samples BEFORE doing anything clever with the numbers

Archived implementation: commit 784f088 adds main.py for connecting to the Unicorn Hybrid Black through Lab Streaming Layer and saving incoming data to EEGdata.csv. The archive describes an 8-channel EEG stream at 250 Hz and a CSV containing 15,001 rows.

Acquisition responsibilities: discover/select the LSL outlet, pull samples, retain timestamps and channel order, and write the recording. A vendor-wrapper cache also appears in the archived change; that is not a substitute for dependency/setup documentation.

EEG setup, November 2025
EEG setup, November 2025

Lab Streaming Layer introduction
Lab Streaming Layer introduction

Unicorn EEG Python interface
Unicorn EEG Python interface

Review questions: does the CSV row count include a header, and which clock do timestamps use? Are non-EEG channels present in the source stream? What happens when samples are missing or arrive late? Those details determine how downstream event alignment and window lengths should be interpreted.

Evidence status: a saved stream establishes acquisition plumbing. It does not establish cleaned signal quality, motor decoding or prosthetic-control performance.

Archived code references: 784f088.