BioLink — synchronized psycho-physiological and behavioural data acquisition (PLUX + stimulus events, e.g. from PsychoPy via serial).
User manual · LGPLv3
BioLink acquires physiological data from PLUX Biosignals devices and aligns stimulus/event markers (typically sent over a serial port from PsychoPy or similar) on a single timeline. Recordings are saved as .npz + .json and can be exported to tab-separated .txt.
Cross-platform desktop app: Windows, macOS, and Linux.
- Python 3.10+
- Dependencies in
requirements.txt(PySide6, numpy, matplotlib, pyserial) - PLUX: OpenSignals with the Python
pluxmodule, or MAC addressdummyfor testing without hardware
git clone git@github.com:hurxan/biolink-v2.git
cd biolink-v2
pip install -r requirements.txt
python -m biolink- macOS / Linux:
./run.sh - Windows: double-click
start.batorpython -m biolink
Settings are stored in settings.json (project root). Logs go to log/.
- Pair the device (USB dongle or Bluetooth, PIN often
123). - Install OpenSignals (r)evolution so the Python
pluxmodule is available. - If BioLink does not find it automatically, set
BIOLINK_PLUX_PATHto the directory that containsplux(e.g. OpenSignals.../code/modules/WIN32orMAC64).
Use find devices in the app or enter the MAC address manually. For offline development, set Plux MAC to dummy.
Custom extensions live under biolink/extensions/<name>/. Included demos:
template— minimal dialog + live samples (learning)marker_panel— manual/auto markers for testing without PsychoPy or serial
Extensions guide: docs/EXTENSIONS.md
See the complete user manual (installation, GUI, PLUX, serial/PsychoPy, data formats, troubleshooting).
Quick tips:
- Subject ID
nolog: run without saving.npz/.json - Serial events: lines terminated with
\n;#ENDstops the session;#ID:…can supply Subject ID - Tools → Convert log to txt / Plot BioLink Data
- Python 3, PySide6
- numpy, matplotlib, pyserial
Documentation for the retired Python 2 / GTK application is archived separately:
- docs/legacy/ — index
- Manual.pdf — original 1.x user manual (reference; UI and install steps differ from BioLink 2)
- Original BioLink / BioLinkJ (University Hospital Zurich)
- Community forks and contributors