Quick Start
Get up and running with SiFi Bridge in 5 minutes.
Starting the REPL
Launch the SiFi Bridge interactive shell:
sifibridge
{"new": {"active":"device","created": "device","message":"Device device created and selected"}}
You're now in the REPL (Read-Eval-Print Loop) where you can type commands interactively.
SiFi Bridge outputs responses in JSON format. For easier reading, use the --pretty flag:
sifibridge --pretty
{
"new": {
"active": "device",
"created": "device",
"message": "Device device created and selected"
}
}
The examples below show simplified output for clarity.
Scan for Devices
Discover available SiFi devices via Bluetooth:
> list ble
{
"list": {
"devices": [
{
"name": "BioPoint_v1_3",
"id": "C2:EC:EF:30:0D:10"
},
]
}
}
You can also list devices from other sources with list serial or list devices.
Connect to a Device
Connect to your device using its name or MAC address:
> connect BioPoint_v1_3
You can also connect by MAC address:
> connect C2:EC:EF:30:0D:10
{
"connect": {
"id": "device",
"device": "BioPointV1_3",
"connected": true,
"mac": "C2:EC:EF:30:0D:10"
}
}
Check Device Status
View detailed information about the connected device:
> show
{
"show": {
"id": "device",
"mac": "C2:EC:EF:30:0D:10",
"connected": true,
"device": {
--- snip ---
}
}
}
The show command outputs the complete device configuration in JSON format.
Start Collecting Data
Begin acquiring data from your device:
> start
{
"command": {
"id": "device",
"device": "BioPointV1_3",
"connected": true,
"command": "start_acquisition"
}
}
{
"device": "BioPointV1_3",
"id": "device",
"mac": "C2:EC:EF:30:0D:10",
"packet_type": "start_time",
"data": {
"year": [
2025.0
],
"day": [
16.0
],
"hour": [
14.0
],
"minute": [
50.0
],
"second": [
36.0
],
"month": [
11.0
]
},
"data_timestamps": {
--- snip ---
},
"data_lost_count": {
--- snip ---
},
"status": "lost_data",
"timestamp": 1763322636.219
}
SiFi Bridge returns the start acquisition response acknowledge. Notice that the device returns a Start time packet whenever a new acquisition is started.
Stop Data Collection
Stop the data acquisition:
> stop
{
"command": {
"id": "device",
"device": "BioPointV1_3",
"connected": true,
"command": "stop_acquisition"
}
}
Export Data to CSV
To save data to CSV files, use the --csv-out flag when starting sifibridge:
sifibridge --csv-out ./data/
A file will be created for each device, sensor and recording. Each file contains timestamped sensor data ready for analysis.
You can also use the REPL command:
> download-memory [options] <PATH>
For example:
> download-memory ./data/
--- data packets snip ---
{
"device": "BioPointV1_3",
"id": "device",
"mac": "C2:EC:EF:30:0D:10",
"packet_type": "memory",
"status": "memory_download_completed",
"timestamp": 1763324822.599
}
And now the output folder contains:
$ tree ./data/
data
├── device_2025-11-16-15-26-06_ecg.csv
├── device_2025-11-16-15-26-06_eda.csv
├── device_2025-11-16-15-26-06_emg.csv
├── device_2025-11-16-15-26-06_imu.csv
├── device_2025-11-16-15-26-06_ppg.csv
├── device_2025-11-16-15-26-19_ecg.csv
├── device_2025-11-16-15-26-19_eda.csv
├── device_2025-11-16-15-26-19_emg.csv
├── device_2025-11-16-15-26-19_imu.csv
└── device_2025-11-16-15-26-19_ppg.csv
All the files' header starts with time, followed by the biochannels:
$ head -n 2 data/device_2025-11-16-15-26-06_imu.csv
time,ax,ay,az,qw,qx,qy,qz
1763324766,2.40,-1.49,0.90,0.80,-0.31,-0.51,-0.01
Disconnect from Device
Close the connection:
> disconnect
{
"disconnect": {
"id": "device",
"device": "BioPointV1_3",
"connected": false
}
}
Exit SiFi Bridge
Leave the REPL:
> quit
You can also use Ctrl+C or Ctrl+D to exit.
Get Help
Type help in the REPL for a list of all available commands, or help <command> for details about a specific command:
> help
Available commands:
list List devices from BLE, serial, or saved devices
connect Connect to a device
disconnect Disconnect from device
...
> help connect
Connect to a device via BLE.
The connection handle can be:
- Empty to auto-connect to a device
- BLE device name (e.g. 'BioPoint')
- (Windows/Linux) BLE MAC address (e.g. '00:11:22:33:44:55')
- (MacOS) BLE UUID (e.g. '00001122-3344-5566-7788-99AABBCCDDEE')
Usage: connect [HANDLE]
Arguments:
[HANDLE]
Connection handle
Options:
-h, --help
Print help (see a summary with '-h')