BODAQS Import Manager is the desktop app for getting logger sessions off the logger and into your library. It watches log sources (folders on your computer or loggers on WiFi), imports and processes the logs, and writes the results into a library directory.
The manager sits between raw logger output and the tools you use for analysis.
It can watch folders, download completed sessions from loggers on Wi-Fi, run
the BODAQS preprocessing pipeline, and write the results into a local library.
It does not require a cloud account, database server, phone app, or Python
environment for normal use.
Session
A completed ride or test recorded by the BODAQS logger. Between the time you start logging and the time you stop, that is a session. A logger session is normally stored as a ZIP archive, or as logger files that the Import Manager packages and processes.
Source
A place the Import Manager looks to find sessions. A source can be a folder on your computer, or a logger connected to the same Wi-Fi network as your computer. A source has a target library and points to the bike, preprocess, note, FIT, and Wi-Fi settings used for imports.
Library
A destination for processed sessions. A library contains processed run data and metadata, the original log files, optional notes, and optional files for export to data.syn.bike.
Import run
A batch of work performed by the manager. A run may contain one or many sessions imported from the same source pass. Run and session IDs stay stable; descriptions are the human-friendly names shown by downstream tools.
Current Import Manager setups use a shared workspace model. Bike profiles,
preprocess profiles, and event schemas live beside the managed libraries so
they can be reused by several sources and libraries.
A typical shared workspace looks like this:
<data-or-workspace-root>/
bike_profiles/
preprocess_profiles/
event_schemas/
libraries/
<library>/
runs/
library/
syn/
sources/
<source>/
import_source.json
notes/
fit/
inbox/
done/
failed/
staging/
Most users keep sources/ and the library workspace root under one shared data folder, often in
OneDrive or another cloud-synced drive.
Manager is for everyday operation: checking sources, importing now,
starting or stopping watch mode, editing source settings, and reviewing
status.
Provision is for creating or extending the setup: adding libraries and
sources, choosing source type, setting the initial target library, and choosing
session naming defaults.
The setup guide walks through the first provisioning pass. In normal use, most
of your time will be on the Manager tab.
The Manager tab is the operational center of the app. It shows configured
libraries and sources, exposes import actions, and writes a status log as work
is performed.
The library list shows the libraries managed by the app. The current table
shows:
Library Name: the user-facing library name.
Syn Export: whether future imports into that library should generate
data.syn.bike-compatible export files.
Use Syn Export when you want new imports into that library to produce
data.syn.bike-compatible CSV outputs. The setting affects future imports and
reprocesses. It does not automatically rebuild exports for sessions that were
already imported.
Right-click a library to rename it, inspect details, or remove it.
Right-click a source to open actions for that source. Stop watch mode before
editing source settings. The manager will also block some editing actions while
the watcher is active.
The menu includes:
Edit bike: edit the currently assigned bike profile.
Assign bike profile: choose an existing shared bike profile for this
source.
Duplicate bike profile: create a new shared profile from an existing one.
The duplicate is not assigned automatically; assign it when you are ready to
use it.
Assign preprocess profile: choose the preprocess profile this source uses.
Change target library: choose which library receives future imports.
Import naming: configure session auto-naming for this source.
Details: inspect source paths and settings.
Validate: check that the source configuration and referenced files can be
read.
Rename source.
Remove Source.
For WiFi logger sources, the menu also includes:
Edit Wi-Fi settings: set the logger ID, discover loggers on the WiFi network and other WiFi options
Check Logger: find the logger and verify it is responsive
Request Upload Mode: place the logger in upload mode ready to transmit log files
Open Logger Web UI: open the logger UI in a new browser window
Scans enabled sources once. Use this when testing a new source, importing a small number of files, or checking whether a failed setup has been fixed.
Start Watch
Keeps the manager running and checks enabled sources repeatedly. Ideal in intensive use, for example when managing data acquisition for multiple riders concurrently.
Import Now is the safer first test for a new setup. Once you can import a
known-good session manually, watch mode is useful for unattended folder or
logger workflows.
When several sessions are detected in one source pass, the manager will process
them into one run with multiple sessions. The run records the batch of work; the
individual sessions remain separate inside it. The status log updates during detection and processing, so progress throught large batches of logs is visible.
When you select Import Now, the manager will ask for a run description
override. Supply one if you want to name this import run distinctively; leave the field blank to use default run naming.
Use Import naming from the source context menu when you want the source to
auto-name sessions. A common pattern is a base name plus an index, such as
Practice 001, Practice 002, and Practice 003.
The manager can save a start-at-login preference. On Windows this creates a
per-user startup entry, so administrator access is not required.
When the app starts at login, it uses the saved app configuration and can start
the watcher automatically. If the window is hidden, use the tray icon to reopen
or quit the manager.
Use the Provision tab when you need to add another destination library or
another data source. You do not need to repeat the whole first-run setup.
Add another library when you want a separate destination for processed sessions,
for example for:
a different rider
a different bike
a separate test program
Add another source when sessions arrive from a different place or need different
settings, for example to manage:
another logger
another source folder
another bike profile assignment
another preprocess profile assignment
another way of getting data off the same logger
Each source targets one library, but multiple sources can target the same
library. Multiple sources can also use the same shared bike profile or
preprocess profile.
The Provision tab also has session auto-naming controls. Enable Auto-name
sessions on import and enter a Session base name if you want sessions
from the new source to receive numbered descriptions automatically.
Use Use Existing Workspace when source and library folders already exist on
disk and you want this computer’s local app settings to adopt them.
Choose Local archive folder when you want to copy completed sessions into a
folder for processing.
The import flow is:
Put completed .zip session archives or .bdq logs, in the source inbox/ folder.
The manager waits until each file appears stable.
The input is prepared in staging/.
The manager validates the session files.
The BODAQS preprocessing pipeline runs.
Processed outputs are written to the target library.
Source inputs move to done/ on success or failed/ on failure.
A source pass can detect more than one session. Sessions detected in the same
pass can be grouped into the same import run while remaining separate sessions
inside that run.
By default, the manager identifies a Wi-Fi source by logger ID. It is generally better to using a fixed IP address if possible: Discovery can find a logger even if its IP
address has changed. However if discovery is blocked by the network, firewall, VPN, or
guest-network isolation, you can use a fixed IP address. You will want to set the fixed IP address on the logger too.
You may also want to use a fixed IP address if you are using the logger in access-point mode and the computer is connected directly to the logger’s access point. In that case, use the fixed/manual address shown by the logger and
use Open Logger Web UI to confirm that the browser can reach it.
Upload mode protects active logging. A logger should not transfer files while it
is recording.
Use Check Logger to confirm the selected source reaches the expected logger
and to see whether upload mode is active. Use Request Upload Mode if the
logger is reachable but not yet accepting transfers.
If the manager cannot put the logger into upload mode, use the logger controls
directly, then return to the manager and check again. Upload mode can be turned
on in the logger menu, or by a long press of the up button from the home
screen.
Bike profiles are shared workspace files. A source is assigned to one bike
profile, and multiple sources can use the same profile.
The bike profile contains general descriptive information and controls how
logger signals are interpreted during preprocessing. The following values are
particularly important:
wheel travel and suspension travel values
head angle
front suspension transform
rear wheel travel lookup table (LUT)
normalization ranges used by preprocessing and exports
Use Assign bike profile to point a source at an existing shared profile.
Use Duplicate bike profile before experimental edits if the current profile
is also used by other sources. Duplicating creates a new shared profile file but
does not automatically assign it to the source.
The rear wheel lookup table maps rear sensor travel to rear wheel travel. The
sensor may be measuring shock movement directly, linkage movement, or rotary
angle depending on the installation.
At minimum, the LUT needs a zero-travel point and a full-travel point.
Additional points let the profile describe a non-linear suspension curve.
LUT input units can be millimetres or degrees. The first table heading changes
to sensor mm or sensor deg to match the selected input unit. The output
side of the LUT is rear wheel travel in millimetres.
Fork movement is measured along the fork, but by convention wheel travel is
usually taken to be vertical wheel movement. The head angle lets preprocessing
derive that vertical component.
Bike profiles are JSON files under the shared bike_profiles/ directory unless
you are using a legacy source-local profile. Direct editing is possible, but use
care: a shared profile can affect several sources.
Preprocess profiles control how raw logger signals are transformed into
processed BODAQS session data. They also reference event schemas when event
detection or event metrics are enabled.
Event schemas are shared workspace files under event_schemas/. The seeded
preprocess profile refers to the seeded event schema with this relative path:
../event_schemas/event_schema.yaml
Use Assign preprocess profile from the source context menu to choose a
different preprocess file for a source.
Each source points to one preprocess profile. Multiple sources can (and generally do) use the same
profile.
The note profile controls which setup-note fields are created for imported
sessions and what default values they start with.
Automatically generated notes are intentionally marked as drafts. They are
meant to be reviewed and edited later, because the defaults may not exactly
match the setup used for that session.
Use Attach Note in the source list to turn draft note creation on or off for
future imports from that source.
Unlike bike and preprocess profiles, note templates and presets are still
source-local under the source notes/ folder.
FIT enrichment is merging GPS data from a Garmin .FIT file into logger data. While BODAQS loggers support dedicated GPS sensors, FIT enrichment enables you to have GPS data without the cost, space, or wiring requirements of an additional sensor.
FIT enrichment is enabled in the preprocess profile by default (it can be turned off). If it is enabled, the manager looks in the source fit/ folder for .fit activity files with timestamps matching the log and re-samples them to the same time grid as the logger. FIT files need to be provided before running the session import. The files are read in place and are not moved or deleted by the manager
If multiple FIT files overlap a session, the best overlap is preferred. If matching fails, the import can still continue without FIT enrichment.
If Syn Export is enabled for the target library before import, the manager
writes data.syn.bike-compatible outputs into:
<library>/syn/
The syn/ folder contains exported CSV files, helper text files, and export
metadata for sessions imported or reprocessed while export was enabled.
The helper text files show the settings to enter manually when uploading to
data.syn.bike. This is useful because the export is shaped for data.syn.bike,
but the website still expects some setup information to be entered by the user.
Use Validate after editing source files or adding a new source. Validation
checks whether the manager can read the source configuration and related
settings.
Use Sync Workspace when files or folders have been added, removed, renamed,
or restored outside the Import Manager. It reconciles the app’s local settings
with the configured source and library roots.
The status log is the first place to look when something unexpected happens. It
reports source validation results, import counts, Wi-Fi logger checks, watcher
snapshots, and common failures.
For local archive sources, a typical import status includes:
sessions seen
sessions imported
sessions deferred because the file is not settled yet
sessions failed
For Wi-Fi sources, status can also report upload mode, logger identity, and
network errors.
Removing a source or library can mean two different things.
Remove from Import Manager only removes the entry from the app’s local
configuration. It does not delete files on disk.
Remove from Import Manager and delete folder removes the entry and deletes
the selected source or library folder from disk. Because this is destructive,
the manager asks for an additional confirmation and requires you to type
DELETE.
Complete source removal deletes the source folder, including workflow folders
such as inbox/, done/, failed/, and staging/.
Complete library removal deletes the individual library folder. It does not
delete shared workspace-level folders such as bike_profiles/,
preprocess_profiles/, or event_schemas/.
The manager compares the reachable logger ID with the logger ID saved in the
source. If they do not match, it refuses to import. Check that the source points
to the intended logger, especially if a fixed address is being used.
Check which activity signals are available. Current preprocessing prefers GPS
velocity when usable GPS is available, then falls back to wheel motion. A flat
analog signal can mean the bike is parked or that the sensor is disconnected, so
profile and source setup still matter.
Check that logger GPS points are valid, or that matching FIT files exist if the
source relies on FIT enrichment. Logger GPS rows with invalid coordinates are
ignored, but valid logger GPS should be available to preprocessing and
data.syn.bike export.
Complete removal can fail if files are locked or read-only. Close open file
explorer windows, editors, notebooks, and cloud-sync previews that might be
holding the folder, then try again.