Recording#

A recording captures the raw signal from a streaming headset to a file on the phone. You start and stop it from several places in the app — most directly with the ● Rec button in the Live signal viewer dock. This page covers starting and stopping, where the files go, the BDF and CSV formats, markers, and snapshots.

Starting and stopping#

Where

How

Viewer dock

● Rec — tap to start, tap again to stop

Device card

● Rec — starts streaming and recording in one tap; while recording the same button becomes a stop button with a timer

Contact check

Record — switches to streaming and starts recording

Notification

Stop — stops all streams and finishes their recordings

When a recording finishes you get Saved m:ss · FORMAT · filename with an Open button that takes you straight into review (see Recordings and review).

Where files go#

Android/data/com.neurotec.brainaccessmobile2/files/Documents/BrainAccess/recordings/

Filenames: YYYY-MM-DD-HH_mm_ss_TAG.bdf (or .csv), where TAG is a short identifier derived from the headset’s Bluetooth address so two headsets are distinguishable in a directory listing — for example 2026-08-04-22_07_16_A1B2C3.bdf. If you set a Session label it is appended as a slug: 2026-08-04-22_07_16_A1B2C3_eyes-closed.bdf.

Because Android 11 and newer restrict file-manager access to this folder, the reliable way to get files off the phone is the in-app Share (see Recordings and review), or a USB connection from a computer. See Files, storage and privacy for more on where recordings live and how to move them.

Choosing a format#

BDF (default)

CSV

Format

24-bit BDF+ (BioSemi/EDF+ family)

Plain text, comma separated

Opens in

EDFbrowser, MNE-Python (read_raw_bdf), EEGLAB, any EDF/BDF tool

Any spreadsheet, pandas, MATLAB

Size, measured at 32 ch / 250 Hz

~95 MB per hour

~350 MB per hour (about 3.5× BDF)

Markers

Stored as BDF+ annotations. Total capacity is about four markers per second of recording length (a dense burst is fine; it is the total that counts). Markers beyond that are dropped when the file is closed, and the app warns you once

Stored in a marker column, no limit

Contact flags

Not included

One contact_<channel> column per channel

Dropped-sample flag

A Streaming signal — 1 where a sample arrived, 0 where the link dropped it

A streaming column, same values

If the session ends abnormally

Robust — every second is committed as it is written, so an interrupted or killed session still opens, and its markers are recovered

Less robust — if the final write fails (typically because storage ran out) the file may be discarded entirely

Warning

If storage runs out mid-session, a CSV recording can be discarded entirely — a failed final write can lose the whole file. BDF commits every second as it is written, so an interrupted session still opens. Prefer BDF for long or unattended sessions.

BDF contents. One signal per active EEG channel, labelled with your electrode names, in uV; then Accelerometer x/y/z in m/s^2 if the headset has one; then a Streaming flag signal (1 where the sample arrived over Bluetooth, 0 where the link dropped it and it was filled with zeros); then annotation channels for markers. Data is written in one-second records at the configured sample rate; a trailing partial second is dropped. The session label is stored in the header.

CSV contents. Header row:

sample,time_s,P8_uV,O2_uV,…,accel_x,accel_y,accel_z,contact_P8,contact_O2,…,streaming,marker
  • sample — running sample index, time_s — seconds from the start with four decimals,

  • <name>_uV — the raw signal in microvolts,

  • accel_* — accelerometer in m/s² (only if the headset has an accelerometer),

  • contact_* — 1 when the headset reports that electrode as connected, otherwise 0,

  • streaming — 1 when the sample arrived over Bluetooth, 0 when the link dropped it and it was filled with zeros,

  • marker — the marker label on that sample, if any.

  • If you set a session label, the file starts with a # session: <label> comment line.

Note

Recordings always contain the raw signal. Display filters, the notch and contact suppression are not applied to the file.

While recording#

  • The session survives leaving the viewer, switching apps and the screen turning off, as long as the ongoing notification is present.

  • The device card and viewer show a running m:ss timer.

  • ⚠ N samples lost counts samples the Bluetooth link dropped and the headset filled in.

  • Samples the Bluetooth link dropped are filled with zeros and marked in the file — the Streaming signal in BDF, the streaming column in CSV. The count is shown when the recording is saved, so you can tell afterwards whether a session was affected and by how much.

  • There is no size or duration limit other than free storage. Measured on a 32-channel 250 Hz headset, expect roughly 95 MB per hour as BDF and 350 MB per hour as CSV — check you have room before a long session.

What ends a recording#

Event

Result

Rec / notification Stop / viewer Stop

File is closed cleanly and saved

Disconnect while recording

You are asked to confirm: This device is recording. Disconnecting ends the recording now — the file is kept, but everything after this moment is lost.

Headset goes out of range or switches off

The recording is finished at the last written second and saved. It is not resumed when the headset reconnects

A firmware update

Refused while a recording is running — stop it first

Storage runs out

The recording stops and you are told. With BDF everything written up to the last completed second is kept. With CSV the file may be discarded entirely — for long or unattended sessions prefer BDF

App killed by the system

A BDF keeps everything written up to the last second, and its markers are recovered when you open it. The app tells you the recording was interrupted and how much was recovered

Markers#

Markers are timestamps with a label, written into the recording and drawn on the plot as amber dashed lines (see Live signal viewer).

  • Tap the Marker chip to drop a marker with the last label you used (the chip flashes to confirm). The label is remembered between sessions.

  • Tap the caret (or long-press the chip) for the preset list: Marker, Note, Bad, Event by default, plus Edit presets….

  • Edit presets… — add your own labels (up to 24 characters, up to 8 presets, at least one), remove them, then Save.

  • The Marker action in the ongoing notification drops a marker on every running stream without opening the app.

Markers land in the CSV marker column, or as BDF+ annotations. A BDF’s annotation capacity is a whole-file budget of roughly four markers per second of recording length, so bursts are fine but a very long marker list on a short recording can overflow; the surplus is dropped when the file is closed and the app tells you once that CSV keeps every marker. The plot shows the most recent 256 markers — the file keeps them all.

Snapshots#

The camera icon in the viewer saves a PNG of the current view to the same folder as your recordings, named snapshot-YYYY-MM-DD-HH_mm_ss.png, and confirms with Snapshot saved: . Snapshots appear on the Snapshots tab of the browser; tap one to open it in your gallery/image viewer, or select it to share (see Recordings and review).

See also#