RaceCapture App User's Guide
The RaceCapture/Pro V2 firmware and app represents a major upgrade to the capabilities of the original RaceCapture/Pro system.
Currently supported platforms:
- Windows: currently supported
- Linux: currently supported by running from source
- OSX - beta support
- Android: Beta available, contact us a [email protected] for access
- 1 Downloads
- 2 Discussion Forums
- 3 Features
- 3.1 Multi-Platform, touch oriented application
- 3.2 Automatic Track Detection and configuration
- 3.3 Manual Track Configuration
- 3.4 Multi-Sector Timing
- 3.5 Separate Start/Finish Lines
- 3.6 Predictive Lap Timing
- 3.7 CAN bus expansion
- 3.8 OBD2 support
- 3.9 Virtual Channels
- 3.10 Lua Scripting
- 3.11 Improved log timing accuracy
- 4 Upcoming Features
- 5 Installation
- 6 Running
- 7 Editing Configuration
Get the latest firmware and app from the Downloads Page
In the spirit of sharing and collaboration, please post all of your questions / feedback in the community forums.
Check out some kickass features:
Multi-Platform, touch oriented application
Capable of running on Windows and Android, the new RaceCapture app will ultimately combine RaceAnalyzer and the current Mobile app into a unified configuration, dashboard and analysis solution.
Automatic Track Detection and configuration
The RaceCapture/Pro firmware supports automatic track detection and configuration, supporting up to 40 of your favorite race tracks.
When RaceCapture/Pro is powered up and GPS locks on, the system searches for a track within a 2 mile radius. If one is found, the start/finish line and sector points are automatically configured, enabling lap, sector and predictive timing features without having to alter configuration.
The latest race track configurations can be automatically downloaded and synchronized from http://www.race-capture.com via the application. If your track is not in the list, email us at [email protected] and we will work to get it added.
Automatic configuration can still be disabled and manual start/finish and sector points can be defined.
Manual Track Configuration
You can manually specify start/finish lines for custom track configurations.
- On the Race Track sectors page set Automatic Track Detection to Off
- For circuit type racing, set Separate start and finish lines to Off
- Click on the gear icon to the right of the Start/Finish configuration line
- Minimum Configuration
- Set the latitude / longitude point of the start finish line in the Start/Finish section
- Sector Configuration
- Set additional sector points ordered in the direction of travel on the track.
We've expanded timing from a single split point to up to 20 sectors, enabling true sector based timing. The sector timing information are exposed as two additional channels:
- sectorTime - indicates the time of the last completed sector
- sector - indicates the last completed sector
Separate Start/Finish Lines
To enable auto-x/rally/hillclimb scenarios we've enabled the ability to define a separate start and finish line.
The beginning of a lap is triggered by the combination of a start point which defines the general area where the race car is staged, and a launch detection algorithm combining a speed and g-force delta threshold.
The completion of a lap is detected using the conventional GPS target detection mechanism.
Predictive Lap Timing
A new predictive lap timing algorithm augments current 'lapTime' channel with a new channel called 'predTime'.
Once a lap is completed, the data is used as a model to predict the next, ongoing lap. The predicted time sample rate is configurable up to the native GPS data rate.
CAN bus expansion
A single CAN bus channel is supported using the CANx expansion module, which plugs in to the expansion port next to the green terminal block.
The CAN feature can be configured with a variety of standard baud rates.
CAN send and receive commands are made available via Lua scripting and can be combined with the Virtual Channel feature.
Enabled via the CANx module, standard OB2 PIDs can be queried and mapped to RaceCapture channels along with other sensors.
Due to the design of the OBD2 protocol, individual channels (PIDs) are requested sequentially, so individual channel rates decrease based on the number of channels enabled.
A virtual channel (aka 'Math channel') can be used to derive new channels from existing channel values. Examples include:
- Detecting gear based on RPM and speed ratios
- Turbo intercooler efficiency by calculating the difference between inlet and outlet temperature probes
- A calculated 'engine load' indicator by integrating RPM + Manifold Pressure Sensor value.
Lua Scripting stability, error recovery and logging has been improved.
- Use the print() and println() to print out log messages which will show up in the scripting view. Great for debugging.
- If a wayward script somehow crashes the firmware, the RCP watchdog will fire and start up RCP in safe mode, illuminating the red LED and bypassing script execution. Then, you'll have a chance to make fixes.
- Functions have been streamlined and normalized for consistency. Additional Lua functions have been added to support virtual channels, OBDII and CAN bus messaging.
Read more in our Lua Scripting Guide
Improved log timing accuracy
The core sample rate tick is now derived directly from the system's crystal-backed oscillator, making log file sample rates much more accurate.
The following upcoming features will bring the analysis features from RaceAnalyzer and the dashboard features from the current RaceCapture Android app into a unified experience for RaceCapture/Pro.
The dashboard view will feature most, if not all,, of the same informational views as the current RaceCapture mobile app, including:
- Multi-gauge dashboard view
- Lap Time view showing last, predicted, best time and delta from best
- Raw channel monitoring view to show all known channels in a list
- Lap Time + real-time accelerometer + gyro view
Note, installation of the V2 firmware will disable the configuration functions of RaceAnalyzer. You will still be able to use analyze data from the RaceCapture/Pro log files until the analysis features are ported over to the new app.
Before continuing, save your old RaceCapture/Pro configuration to preserve any sensor calibration data. You will need this later when re-entering the calibration data into the new app
- Note, Due to the significant changes in the firmware, the RaceCapture .rcap configuration files are not compatible with the new configuration file format
To start, install the latest V2 beta firmware from the downloads section. Follow the flashing instructions in the file. After flashing, unplug / replug RaceCapture/Pro and verify the USB device is recognized.
- Windows: Check under Device Manager for a RaceCapture/Pro device under the Ports section.
- Linux: When plugged in, a CDC-ACM device should show up. Check it by issuing the dmesg command; typically it will be /dev/ttyACM0
(screenshot of firmware flashing progress)
Install the RaceCapture app after downloading the setup package from the downloads section
The RaceCapture app will search for a compatible RaceCapture/Pro on all of the available ports. If it is found, the configuration will be automatically read.
You can edit the RaceCapture/Pro configuration by entering the configuration view by touching the top level icon or accessing the sidebar menu.
Reading / Writing / Saving / Opening configuration
Use the icons in the lower left of the configuration view to read / write configuration data from the controller as well as save / load configuration files.
When reading the configuration, the progress bar at the top will show activity. After making a change, be sure to write back the configuration to RaceCapture/Pro.
Auto track detection
To enable automatic track detection and configuration, select the Race Track / Sectors option in the left menu. Touch the "+" icon at the bottom to select tracks to add.
- Note: For the first time running you will need to download the latest set of race tracks by touching the cloud icon in the lower right corner of the app.
Search for your favorite tracks by name and add them to the list.
You can select a common sample rate for GPS related channels, up to the limit of the sensor (10Hz).
- Note: Leave the Position, Speed, Distance, and Time of Day channels enabled for accurate analysis.
Configure analog sensors using this view.
Enable a channel by selecting a channel name and sample rate, then configure the mapping scheme:
- Raw value
- Simple linear scaling
- Interpolated map
Most sensors are configured in map mode to compensate for non-linear response, like many temperature sensors.
- Note Channel #8 is fixed as a battery input channel and should not be changed.
Configure RPM / Timer / pulse channels using this view.
Enable a channel by selecting a channel name and sample rate, then configure the channel options:
- Channel Operation Mode: RPM, frequency, or pulse period
- Clock divider: This specifies the operating range for measuring the pulse. This is typically left at 128.
- Pulse Per Revolution / Teeth Per Wheel: This specifies the number of pulses representing a complete revolution of the wheel.
- For RPM mode This value is typically set based on the number of cylinders and the number of coil packs used on the engine
Configure the 3 digital input / output channels using this view:
Enable a channel by selecting a channel name and sample rate, then configure the channel options:
- Mode: Set the channel to input for reading digital on/off sensors, or output to use the channel in output mode to control a device.
Configure the Accelerometer / Gyro with this view. Edit channel mappings, orientation and zero levels.
Up to 4 PWM / analog output channels are available for controlling devices - LEDs, motors - or sending signals to other systems.
Enable a channel by selecting the channel name and sample rate, then configure the channel options:
- Output Mode Select either Frequency / Pulse Width Modulated (PWM) mode or analog output mode. MK1 only: to enable analog mode you also need to flip the hardware dip switch on the RaceCapture/Pro main board.
- Logging Mode Select either logging the frequency or the analog output voltage.
- Startup Duty Cycle The default duty cycle when the system starts up.
- Startup Period The default startup value for the pulse period. A larger number means individual pulses are spread further apart.
Enable the CAN bus interface and baud rate using this screen.
You can create OBDII channels and query standard OBD2 PIDs over a compatible OBD2 CAN bus link.
Note OBD2 is only supported for ECUs that support the CAN bus protocol. The mandatory requirement for CAN support is 2008, but some vehicles implemented it earlier. Research your year/make/model to confirm.
To add an OBD2 channel, click the + sign at the bottom of this configuration page and select the channel you wish to log.
Important The sample rate you select is the logged sample rate, not the actual sample rate of the data. Due to the limitations of the OBDII protocol, channels are queried sequentially in a request/reply fashion. Therefore, as more channels are enabled the effective individual channel sample rate is reduced.
You can enable Bluetooth via the Wireless settings. After enabling and saving the configuration to RaceCapture/Pro, following these steps:
- Install the Race Capture app on your Android device from the Google Play Store
- Turn on Bluetooth on your tablet and pair with RaceCapture/Pro, password is 1234
- Open the RaceCapture app, tap the screen until the RaceCapture logo show up at the top.
- Tap the Bluetooth icon at the top right
- Select RaceCapture/Pro
- After a few seconds you should see a 'Connected to RaceCapture/Pro' message and data will be transmitting to your tablet.
- Swipe to the digital dash screen and you should see values changing, pick up your RaceCapture/Pro and move it around, you should see even more sensors changing!
For detailed setup instructions read our Telemetry Quickstart
LuaScripting for RaceCapture/Pro enables unlimited capabilities for your data logging and control requirements. Create a virtual/math channel or control an airbrake or intercooler sprayer. For full information about how to write Lua Scripts, read our Lua Scripting Guide
Use the print() and println() to print out log messages which will show up in the scripting view. Great for debugging!