Timing Capture and Configuration
This document provides guidance on capturing timing data during events using the RaceTribe platform. It outlines the key methods and configuration principles for accurate and reliable timing based on the platform’s capabilities and architecture.
Important: To avoid many issues later, you must ensure that the clocks on all timing devices (including any backup devices such as video or photo finish systems) are properly synchronized!
You can check the clock status in the Timing Overview section of the RaceTribe app. For Bluetooth LE and Manual timing, the RaceTribe app’s clock is used to timestamp all results. However, for RFID or External Source timing, the correct time must be set directly on those devices, as their internal clocks are used for all recorded times.
Configuring Timing Capture
There are five primary methods for collecting data for checkpoints. One of these involves manually importing data directly into a checkpoint. However, this method is not suitable for live result updates. It can be useful for start checkpoints to import externally defined individual start times or in other specific scenarios.
For regular checkpoints, the recommended workflow is to choose one of the following data capture approaches.
Capture Channels
- Bluetooth Low Energy (BLE) timing
- RFID timing
- Manual timing
- External source timing
For all these timing methods, configuring the "Target Log File" is a shared requirement. While each method has its own specific setup, the process for transferring collected data remains consistent: data is first transferred to cloud storage, and then a copy is routed to the event, where result calculations are performed.
Bluetooth Low Energy (BLE), RFID, and Manual timing can operate without an internet connection. As soon as internet access becomes available, the data will be immediately sent to the cloud and to the event, as long as the data subscription is set up correctly (which, for Checkpoint Mode, usually happens automatically in the background).
Configuring the Target Log File
There are two main ways to create a log file:
For Checkpoint Mode
This configuration requires an internet connection to communicate with servers and retrieve available events and their associated checkpoints.
Important: If the event creator is a different user than the one operating the timing device, the event creator must grant the timing operator access by adding their email address in the "Event Staff" section and assigning them the role of "Checkpoint Timer."
Configuring Checkpoint Mode:
- Event: Select the event.
- Checkpoint: Choose the appropriate checkpoint.
- Log File: The system will suggest an automatically generated file name for storing data. If the file does not already exist, click "Create." This action performs several technical operations in the background. Specifically, a data subscription is created for the selected checkpoint within the event. This ensures that any new data added to the file is immediately routed to the event, and triggering result recalculations. The data subscription facilitates seamless data flow between the cloud (where captured data is stored) and the core system (where results are calculated).
Tip: If you are unsure whether there will be internet access at specific timing points, you can create the log file on the intended timing device in advance while you still have internet. On site, if there is no internet, use manual timing but select the pre-created file, which already has a data subscription set up in the background (this happens when the file For Checkpoint Mode is created). In this way, as soon as internet connectivity is restored, the data will automatically be delivered to the event.
Manual (Standalone) Mode
In manual mode, only the "Log File" needs to be specified.
This mode does not require an internet connection. However, checkpoint data subscriptions must be manually configured later (see [Setup Checkpoint data subscription]).
Important: If the event creator is a different user than the one operating the timing device, the timer must grant the event creator access to read the file. This is done in the Event Manager's Timing section by selecting "Log Files," then "Cloud Files," choosing the relevant file, and using the "Manage Access" option under the "More" icon. The event creator's email address (registered on the RaceTribe platform) must be entered. An internet connection is required to grant these permissions.
Bluetooth Low Energy (BLE) timing
To record times using this method, you need a RaceTribe BLE beacon kit.
- Set up the Target Log File (see instructions above).
-
Advanced settings (optional). Change these only if you understand their purpose.
-
Gap: The time in seconds that will be added to the recorded time before it is written to the file. If Gap is negative, the final time will be earlier than the captured time.
-
Signal filter: Click the round icon to enable or disable the filter (a green icon means the filter is enabled). In the input field, specify the RSSI (Received Signal Strength Indicator) value; signals weaker than this will be ignored.
-
Measurement ready when: A set of criteria that determines when enough signals have been received, and with the correct trend, to identify the moment the timing line was crossed. For example, if Min signal count is 5, Not exceeded max RSSI seconds is 10, Out range seconds is 6, and Required RSSI is -80, then a valid measurement requires: 1) at least 5 signals received from the participant's beacon, 2) for 10 seconds, no signal has exceeded the previously detected strongest signal or for 6 seconds, no signals have been received from this beacon, and 3) at least one signal must be stronger than -80 dBm.
-
High accuracy: Click the round icon to enable or disable this filter (a green icon means it is enabled).
Once it is determined that the participant has crossed the timing line (the "Measurement ready when" criteria are met), all received signals are passed to a special algorithm that determines the exact crossing moment. This is a computationally intensive process, so if many participants finish at the same time, they are queued. If the participant flow is too intense, you can limit the queue length using the Max waiting time (in seconds) setting. If the queue is too long, the result is determined simply by selecting the strongest signal.
-
Debug mode: Store all signals in the database. This will significantly increase the amount of transferred data. Do not use unless necessary.
You can use "Reset Defaults" to restore the default settings.
-
-
Press the "Start" button and place the tablet at one end of the timing line.
- When finished, press the "Stop" button.
Tip: The narrower (shorter) the timing line, the more accurate the results. On wider roads, if possible, narrow the timing line using cones, and place the receiving device as close as possible, but in a way that participants do not accidentally knock it over or run into it.
RFID timing
RFID timing configuration differs slightly from other methods, as there may be situations where multiple readers send data to the same log file. For example, at a wide finish line, a single reader's antennas may not be sufficient to cover the entire area. For this reason, the configuration is divided into two steps: configuring the reader(s) themselves, and configuring the logger (the mechanism that agregate data before writing it to file).
You can add any RFID reader that supports the Low Level Reader Protocol (LLRP). To do this, ensure that the tablet or phone running the RaceTribe timing app and the RFID reader are on the same network.
A common setup is to use a Wi-Fi router with internet access (often via mobile data) as the base. The RFID reader is connected to the router via a LAN cable, while the tablet connects via Wi-Fi. This ensures that both the RFID reader and the tablet are on the same network, and the tablet (when connected to this network) also has internet access, which is important if you need to provide live data.
Important note: The app uses the reader's internal clock, which can be very inaccurate (in some cases, a drift of several seconds can occur in less than three hours). The LLRP standard does not provide a way to control the reader's clock, so it must be set manually. For example, Impinj readers—which we have used for most of our testing—allow you not only to set the time but also to specify Network Time Protocol (NTP) servers to ensure accurate time throughout the timing process. If possible, configure NTP servers; this is the recommended approach, but it will only work if the reader has internet access via the Wi-Fi router.
Configure Reader
-
Set up the Target Log File (see instructions above).
-
Setting for all antennas:
- TX Power: Transmission power in dBm.
- Sensitivity: Minimum accepted signal strength in dBm (the higher the negative value, the weaker the signals that will be accepted).
- Gap: The time in seconds added to incoming signals. If negative, the final time will be earlier than the received signal time.
-
Settings for individual antennas:
- Enabled/Disabled: A switch to turn the antenna on or off.
- Priority: Signal priority. A lower number means higher priority. The system will try to use the time from the antenna with the highest priority. This is useful if you use one antenna as a backup, positioned at a different angle where it might pick up stronger but less accurate signals. By assigning a lower priority to such a backup antenna, its readings will only be used if no valid readings are found from antennas with higher priority.
Configure Logger
The Logger configuration section provides the following options:
-
Measurement ready mode: These settings control how often and under what conditions the system considers a participant's measurement to be complete and ready for further processing.
- Fixed interval: A measurement is considered ready after the specified number of seconds, regardless of whether the participant is still within the antenna's detection zone. If the participant remains in the zone, a new measurement will be generated for them every X seconds.
- Out time: A measurement is considered complete if no antenna has detected the participant for longer than the specified number of seconds. This does not guarantee that there will be no extra readings, but it will reduce their number.
-
Time in seconds: This is the time in seconds used according to the selected Measurement ready mode (Fixed interval or Out time). The larger the value, the fewer repeated measurements will be generated, but live results may be slightly delayed. Typically, set 5–10 seconds for Fixed interval mode and 3–5 seconds for Out time mode.
Note: If the time value fr Out time mode is set too low, a participant may temporarily disappear from detection (for example, due to signal loss or interference) and then reappear before actually crossing the line. This can cause the system to record a result too early, before the participant has truly finished. Choose the Out time value carefully to avoid premature result recording.
-
Target signal: Determines which signal, among those read during the relevant time window, will be used as the final result.
- First: Uses the first incoming signal.
- Strongest (recommended): Finds the strongest signal and uses its timestamp as the final time.
- Last: Uses the last incoming signal.
-
Debug mode: Store all signals in the database. This will significantly increase the amount of transferred data. Do not use unless necessary.
Manual timing
Manual timing is intended for events with a moderate or low participant flow.
The timer can freely switch between three input views. All these views serve the same purpose—recording bib numbers and times—but each offers a slightly different workflow.
Bib Number and Time Input Views:
- Keypad: This view features a virtual keypad for entering bib numbers, without dedicated buttons for each participant. Many users find this view the most convenient. Pressing the large time button records the time, and the bib number is entered using the keypad. You can either press
⏎to record the bib number or⏎ + timeto record both the bib number and time simultaneously. - One Click: Suitable for events with a small number of participants, where all or most bib numbers fit on a single screen. In this view, there is no separate time button; the time is recorded as soon as the corresponding bib number button is pressed. This is why it is called "One Click"—both the bib number and time are recorded with a single click.
- Two Click: Also suitable for events with a small number of participants. This view provides a separate time button and bib number buttons.
- Start: Currently in development. This view will be tailored for common start procedures.
In the Keypad and Two Click views, when several participants finish close together (for example, three participants), you can start entering their bib numbers as soon as you can identify them. When they cross the finish line, focus on recording the exact times using the large time button, then finish entering the bib numbers. Since bib number and time entries are independent in these views, you can enter all bib numbers first and then add the times, or do it the other way around—record all times first and then assign the bib numbers.
Each view includes a table of entered times:
- The orange background in the table indicates where the next bib number or time will be entered.
- The swap button allows you to switch adjacent participants without changing their times.
- Clicking on a cell in the bib number column opens a screen to correct the participant's bib number.
- Clicking on a cell in the time column opens a screen to correct the recorded time. When the popup window opens, tap on the specific digit of the time you want to edit. For example, if you only want to correct the tenths of a second and leave the rest unchanged, tap the corresponding digit, then use the virtual keypad to enter the new value.
To start timing:
Set up the Target Log File (see instructions above), and configure Bib Number buttons::
-
From Event: Loads participants from the database and, in the One Click and Two Click views, displays only bib numbers assigned to participants.
-
Specific range: You can specify a range of bib numbers to generate buttons for the One Click and Two Click views.
As soon as both a bib number and a time are recorded for a participant, the data is immediately sent to the event, where result calculations are triggered.
External source timing
External source watchers monitor the specified file, and as soon as any changes are detected, they immediately send the updates to the RaceTribe system.
This method can be used for any type of timing, as long as it is possible to generate a file on a Windows computer that contains, at minimum, the participant's bib number and time.
External Source Watcher Setup Steps:
-
Select the file: Select the Log File. In the advanced settings, you can adjust the CSV parsing configuration and specify whether the first row contains column titles.
-
Map database fields to file columns: Use drag and drop to match columns from the selected file (right side) to the corresponding database fields (left side) in the column map.
-
Set up the Target Log File (see instructions above).
-
Other settings:
- Date to use if not present in time column: If the time column in the source log file does not contain a date, you must add it.
-
Automatic date increment: Auto-detect day changes and increment the date if the date is not present in the time column. This is important if times without dates span multiple days.
Important: If the file contains times without dates and they are not all from the same day, the date of the first time entry should be specified as the base date.
-
Create the watcher
If you have multiple log files to watch, you can create several watchers. These watchers can also be run simultaneously to monitor and process data from multiple sources at once.
Data Subscriptions (Advanced)
This advanced section explains how to manually configure data subscriptions, including scenarios where multiple files are routed to the same checkpoint.
Understanding Timing Data Flow and Key Principles
Timing data is managed to ensure reliability, accuracy, and data integrity throughout the event lifecycle. The process is as follows:
-
Data Capture and Local Persistence:
- Timing records are captured from devices (BLE, RFID, manual).
- Data capture continues even without internet connectivity; records are stored locally on the device.
-
Cloud Synchronization:
- As soon as an internet connection becomes available, locally stored records are automatically sent to Cloud Timing Storage.
-
Routing and Data Subscriptions:
- Cloud storage uses data subscriptions to map and route timing records to the appropriate Event domain (checkpoint) for result calculation.
- Multiple files can be routed to the same checkpoint if needed.
- All records remain in cloud storage; only those with an active data subscription (mapping) are routed to the event for result calculation. Unmapped records stay in storage and are not delivered to the event until a subscription is set up.
-
Data Immutability and Corrections:
- For BLE and RFID, timing records—once written locally or to the cloud—never change.
- For Manual and External Source timing, records can change at the point of origin: manual entries may be corrected by the timer on their device. For external source files, since the RaceTribe app only monitors files it does not control or create, any changes made to those files—by any external process or user—will be reflected in the cloud.
- In all cases, it is not possible to modify raw records directly in the cloud; corrections can only be made to imported copies within the Event domain.
-
Reliability and Recoverability:
- The system is designed to ensure data integrity and supports recovery in case of failures, minimizing the risk of data loss.
Configure Data Subscription
In most cases, a data subscription is created automatically when you select an event, checkpoint, and create an associated log file in the timing app. However, if you are using a standalone file not linked to a checkpoint, you must manually configure the data subscription for the relevant checkpoint.
The data subscription configuration form includes the following fields and options:
-
Log file: The name of the log file to be subscribed. The file owner is displayed below the file name.
-
Subscribe from / Subscribe to: Define the time window for which the subscription is active. Only records within this period will be processed.
-
Time Correction (in seconds): A value (positive or negative) that will be added to each time in the incoming log file. Use a negative value to subtract time if needed.
-
Map file: Select or clear a mapping file if custom mapping is required. The default mapping is used if none is specified.
- For BLE and Manual timing, mapping is usually not needed because participant bib numbers are already included in the data from the system.
- For RFID timing, the incoming data’s Transponder ID (TRID) is actually the Electronic Product Code (EPC), which must be mapped to participant bib numbers. Map files for this purpose can be managed in the Event main menu under "Num mapping."
-
Mapping policy:
- Auto (try trid first, then try num): The system will first attempt to map entries using the trid (transponder ID), and if not found, will try the bib number.
- Try trid only (skip if not found): Only the trid will be used for mapping; if not found, the entry will be skipped.
Advanced cases
System technically allows you to feed data from multiple files into a single checkpoint. This is achieved by creating multiple data subscriptions for the same checkpoint, each linked to a different file. Incoming data is then merged according to a specified tolerance, which is set in seconds using the Merge delta field and priority. You can set the priority simply by reordering the data subscription cards in the interface—the higher a card appears, the higher its priority.
Merging ensures that there cannot be two measurements for the same participant that are closer together than the allowed 'Merge delta'. If such a situation occurs, the system gives priority to the measurement from the higher-priority subscription. If both measurements come from subscriptions with the same priority, the first measurement is kept. Setting a 'Merge delta' of 0 means that merging will only apply to completely identical measurements.
Number mappping
Number mapping is the process of translating the unique transponder identifier (TRID), for RFID also known as Electronic Product Code (EPC) to the participant's bib number.
This mapping is implemented using a map file—a simple table that lists each TRID alongside the corresponding bib number. When timing data is processed, the system looks up each TRID in the map file and replaces it with the correct bib number. If a TRID is not found in the map file, the system can either skip the entry or handle it according to the selected mapping policy.
In other systems, the mapping file is often used directly on the reader device itself. In contrast, the RaceTribe approach applies the mapping only when transferring data to the event context. The main advantage is that if you have many timing devices, you do not need to configure the mapping file on each one—just set it once at the event level. If you need more granularity, you can create multiple map files and specify which one to use for each subscription, but usually a single central file is sufficient. Additionally, if you need to correct errors in the mapping file, you can update it without losing any data.
Seting up map file
Zem Eventa gavenā menu sadaļas Number mapping atrodiet sev interesējošo map failu (ja nepieciešams, izveidojiet jaunu), un nospiediet manage data.
In the upper right corner of the table, click the More icon and select the "Import data" option.
-
Select the file:
- Select the Map File. In the advanced settings, you can adjust the CSV parsing configuration and specify whether the first row contains column titles.
-
Map database fields to file columns:
- Use drag and drop to match columns from the selected file (right side) to the corresponding database fields (left side) in the column map.
-
Additional options
-
Import mode
- Import only new records
- Import new and update existing
- First delete all, then import
-
Transponter ID formt: Select the transponder id formt in map file.
- Decimal
- Hexadecimal
-
Current Limitations
- The mobile app for BLE, RFID, and manual timing is available only on Android.
- The Electron app for external source timing is available only on Windows.
- Individual starts with pre-defined times require file-based import to the start checkpoint.
Planned Improvements
- Enhanced workflows for manual timing, including interval-based starts.
- Built-in support for individual starts with pre-defined times.
- Improved visibility of participant-level timing data in the Event Workspace.