Skip to content

Connecting and configuring sensors

This guide covers connecting sensors to a BODAQS logger and configuring the logger to read the sensor correctly.

The inputs on a BODAQS logger are general purpose - this means flexibility, but it also means some simple configuration is necessary when you first set up the logger, or when you want to attach additional sensors.

Configuring a sensor means telling the logger:

  • what type of sensor it is;
  • where it is connected, such as AIN0, I2C1 address 54, or UART0;
  • what the sensor is measuring, (‘signal semantics’) so downstream analysis tools know what to do with its output
  • how to translate the raw sensor output into real-world measurements (calibration information)
  • for some sensors, additional settings particular to the type of sensor.

Currently BODAQS loggers support the following sensor types:

Sensor typePhysical connectionTypical use
Analog PotentiometerAnalog inputLinear potentiometers for suspension travel.
AS5600 Angle (I2C)I2CMeasurement of suspension linkage rotation for calculating rear wheel movement
AS5048B Angle (I2C)I2CLinkage rotation, higher-resolution single-turn rotary angle measurement.
DAN-F10N GPS (UART)UARTOn-logger GPS position, speed, and heading.
AS5600 String Pot (I2C)I2CMulti-turn AS5600-based string potentiometer, digitally read.
AS5600 String Pot (Analog)Analog inputAS5600-based string potentiometer, read via analog.

Configuration information lives in a file on the SD card inside your logger. Normally you change it by connecting to the logger via WiFi.

As well as sensors, BODAQS loggers have an optional handlebar switch with an LED that can be used to start and stop logging and provide visual confirmation that logging is running. The switch does not require configuration: it just plugs in.\

Analog sensors use three logical wires:

Sensor wireConnects toNotes
+, VCC, excitationLogger sensor powerUse the logger’s sensor supply, labelled ‘+3V0’ on A8 loggers and ‘+3V3’ on Prototype F loggers.
-, GND, 0VLogger groundUse the logger’s Ground, labelled ‘GND’.
signal, out, wiperOne analog inputAnalog inputs are labelled ‘A0’ or ‘AIN0’, ‘A1’ or ‘AIN1’ etc.

See Sensor Overview to locate these pins on the logger. See Wiring and Connector Tips for practical wiring advice.

Use Analog Potentiometer configuration for ordinary three-wire linear potentiometers, often used as fork and shock displacement sensors. Connect each analog potentiometer per the table above. Multiple potentiometers can connect to the same logger + and - pins, but each one must have its own analog input.

Connect to the logger configuration web interface and navigate to the Sensors page, as described in the User Guide

Add a new sensor of type Analog Potentiometer. Give it a helpful name, for example front_shock or rear_shock.

Click ‘Edit’ to edit the sensor configuration.

Set configuration options for the sensor:

  1. Set Analog input to the AIN where the signal wire is connected.
  2. Set Output mode to LINEAR. Enable Include raw column.
  3. Measure the actual travel of the potentiometer. This is usually a few mm longer than the nominal travel. Set Sensor full travel (mm) to the measured value. potentiometer.
  4. Set Installed range to the maximum travel of the thing you are measuring (usually a fork or shock). Note that ‘installed range’ does not directly affect the measurements made by the logger, but is needed if you want to use the logger’s Sag Helper.
  5. Set the usage metadata. The primary quantity for analog pots is always ‘disp’ (they measure displacement). Set end to front or rear. Primary domain should usually be suspension, even for the front wheel (BODAQS considers all wheel travel to be vertical travel, so front suspension travel and wheel travel aren’t the same).
  6. Leave the calibration data unchanged. Calibration is done through the logger and these values are set automatically.

Save the sensor when you are finished.

Analog potentiometer calibration and testing

Section titled “Analog potentiometer calibration and testing”

There are two different calibration processes for an analog potentiometer: range calibration and zeroing. Both processes are completed on the logger. Instructions for calibration are here

Note that the order you read the end points matters for range calibration. The first reading must be the ‘zero travel’ end of the range. In most setups, this will be with the potentiometer fully extended. The second reading must be the ‘full travel’ end, usually with the potentiometer fully compressed. This matters because the logger uses the information to infer whether sensor output increases or decreases with travel.

Zeroing sensors on the bike is not strictly necessary since the software can guess zero from the minimum travel seen. However, I recommend zeroing. It’s super reliable and takes less than 30 seconds. Make sure the suspension is at full extension when zeroing: forks especially don’t always rest at fll extension.

Open the Sag Helper and switch to percentage mode. Sit on the bike and confirm that the sag percentages look about right.

This sensor configuration is intended for use with the BODAQS string potentiometer design, a multi-turn string pot using an AS5600 magnetic encoder. At the time of writing the design is still in testing and has not been published.

AS5600 chips can be read either as I2C devices or as analog devices. This section covers configuration as an analog device.

Wiring is generally the same as for other analog devices, but with some additional caveats:

  • The general rule that + and - can be reversed for analog devices does not apply here. An AS5600 is fundamentally a digital device, even if it can emulate an analog one.
  • The AS5600’s GPO pin must be connected to + when in analog mode. -The AS5600’s DIR pin must be connected to either + or ’-’ (not left floating). In analog mode it’s generally easiest to tie it to +.

String potentiometer configuration (analog)

Section titled “String potentiometer configuration (analog)”

Connect to the logger configuration web interface and navigate to the Sensors page, as described in the User Guide Add a new sensor of type AS5600 string pot (analog). Give it a helpful name, for example front_shock or rear_shock. Click ‘Edit’ to edit the sensor configuration.

Set configuration options for the sensor:

  1. Set Analog input to the AIN where the signal wire is connected.
  2. Set Output mode to LINEAR. Enable Include raw column.
  3. Measure the actual travel of the potentiometer. Set Sensor full travel (mm) to the measured value.
  4. Set Installed range to the maximum travel of the thing you are measuring (usually a fork or shock). Note that ‘installed range’ does not directly affect the measurements made by the logger, but is needed if you want to use the logger’s Sag Helper.
  5. Set the usage metadata. The primary quantity for string pots is always ‘disp’ (they measure displacement). Set end to front or rear. Primary domain should usually be suspension, even for the front wheel (BODAQS considers all wheel travel to be vertical travel, so front suspension travel and wheel travel aren’t the same).
  6. Leave the calibration data unchanged. Calibration is done through the logger and these values are set automatically.
  7. Leave the ‘wrapping’ data unchanged.

Save the sensor when you are finished.

String potentiometer calibration and testing (analog)

Section titled “String potentiometer calibration and testing (analog)”

Use the same calibration and testing procedure as for an analog potentiometer.

I2C sensors use four wires:

Sensor wireConnects to
VCCLogger 3.3 V
GNDLogger Ground
SDALogger SDA for the chosen bus
SCLLogger SCL for the chosen bus

BODAQS loggers have two independent I2C buses, numbered 0 and 1. Each bus can have multiple I2C devices connected to it. Every device on the same I2C bus needs a unique address.

See Sensor Overview to locate these pins on the logger. See Wiring and Connector Tips for practical wiring advice.

This sensor configuration is intended for use with AS5600 magnetic encoders used to measure an angle of less than one full turn. A common application is measuring the rotation of a rear suspension linkage in order to calculate wheel travel.

Wiring is generally the same as for other I2C devices. The AS5600’s DIR pin must be connected to either + or ’-’ (not left floating).

Connect to the logger configuration web interface and navigate to the Sensors page, as described in the User Guide Add a new sensor of type AS5600 angle (I2C). Give it a helpful name, for example front_shock or rear_shock. Click ‘Edit’ to edit the sensor configuration.

Set configuration options for the sensor:

  1. Set I2C bus. Normally for AS5600 sensors this will be 1 to avoid address conflict with the logger’s fuel gauge on I2C0. Leave I2C address unchanged.
  2. Set Output mode to LINEAR. Enable Include raw column.
  3. Set Installed range to the maximum rotational travel of the thing you are measuring (usually a linkage). Note that ‘installed range’ does not directly affect the measurements made by the logger, but is needed if you want to use the logger’s Sag Helper.
  4. Set the usage metadata. The primary quantity for rotary sensors is always ‘ang_disp’ (they measure angular displacement). Set end to front or rear. Primary domain should usually be suspension.
  5. Leave the calibration data unchanged. Calibration is done through the logger and these values are set automatically.
  6. Generally leave the ‘other’ data unchanged at its default values.

Save the sensor when you are finished.

AS5600 angle sensor calibration and testing

Section titled “AS5600 angle sensor calibration and testing”

AS5600 angle sensors require zeroing. The process is completed on the logger. Instructions for zeroing are here

Open the Sag Helper and switch to percentage mode. Sit on the bike and confirm that the sag percentages look about right.

This sensor configuration is intended for use with AS5048B magnetic encoders used to measure an angle of less than one full turn. A common application is measuring the rotation of a rear suspension linkage in order to calculate wheel travel.

In addition to wiring 3V3, GND, SCL and SDA to their matching inputs on the logger:

  • The AS5048’s 3V3 and 5V pins must be connected together
  • The A1 and A2 pins must each be connected either to 3V3 or GND, with the combination chosen determining the device’s I2C address.

Connect to the logger configuration web interface and navigate to the Sensors page, as described in the User Guide Add a new sensor of type AS5048B angle (I2C). Give it a helpful name, for example front_shock or rear_shock. Click ‘Edit’ to edit the sensor configuration.

Set configuration options for the sensor:

  1. Set I2C bus and I2C address. Choose the bus you are going to connect the sensor to. Choose the address based on how you have wired pins A1 and A2 on the sensor.
  2. Set Output mode to LINEAR. Enable Include raw column.
  3. Set Installed range to the maximum rotational travel of the thing you are measuring (usually a linkage). Note that ‘installed range’ does not directly affect the measurements made by the logger, but is needed if you want to use the logger’s Sag Helper.
  4. Set the usage metadata. The primary quantity for rotary sensors is always ‘ang_disp’ (they measure angular displacement). Set end to front or rear. Primary domain should usually be suspension.
  5. Leave the calibration data unchanged. Calibration is done through the logger and these values are set automatically.
  6. Generally leave the ‘other’ data unchanged at its default values.

Save the sensor when you are finished.

AS5048B angle sensor calibration and testing

Section titled “AS5048B angle sensor calibration and testing”

Use the same calibration and testing procedure as for an AS5600 angle sensor.

This sensor configuration is intended for use with the BODAQS string potentiometer design, a multi-turn string pot using an AS5600 magnetic encoder. At the time of writing the design is still in testing and has not been published.

AS5600 chips can be read either as I2C devices or as analog devices. This section covers configuration as an I2C device.

Wiring is generally the same as for other I2C devices. The AS5600’s DIR pin must be connected to either + or ’-’ (not left floating).

Connect to the logger configuration web interface and navigate to the Sensors page, as described in the User Guide Add a new sensor of type AS5600 string pot (I2C). Give it a helpful name, for example front_shock or rear_shock. Click ‘Edit’ to edit the sensor configuration.

Set configuration options for the sensor:

  1. Set I2C bus. Normally for AS5600 sensors this will be 1 to avoid address conflict with the logger’s fuel gauge on I2C0. Leave I2C address unchanged.
  2. Set Output mode to LINEAR. Enable Include raw column.
  3. Measure the actual travel of the potentiometer. Set Sensor full travel (mm) to the measured value.
  4. Set Installed range to the maximum travel of the thing you are measuring (usually a fork or shock). Note that ‘installed range’ does not directly affect the measurements made by the logger, but is needed if you want to use the logger’s Sag Helper.
  5. Set the usage metadata. The primary quantity for string pots is always ‘disp’ (they measure displacement). Set end to front or rear. Primary domain should usually be suspension, even for the front wheel (BODAQS considers all wheel travel to be vertical travel, so front suspension travel and wheel travel aren’t the same).
  6. Leave the calibration and wrapping data unchanged. Calibration is done through the logger and these values are set automatically.
  7. Leave the ‘async_rate_hz’ data unchanged.

Save the sensor when you are finished.

String potentiometer calibration and testing (I2C)

Section titled “String potentiometer calibration and testing (I2C)”

Use the same calibration and testing procedure as for an analog potentiometer.

UART sensors use four logical wires:

Logger wireConnects to sensorNotes
3.3VVCC
GNDGND
TXRXUART transmit and receive cross over.
RXTXUART transmit and receive cross over.

Use the DAN-F10N GPS (UART) sensor type for an external u-blox based GPS module connected to the logger UART.

Connect:

GPS pinLogger connection
VCC3.3 V
GNDGround
TXLogger RX
RXLogger TX

Connect to the logger configuration web interface and navigate to the Sensors page, as described in the User Guide Add a new sensor of type DAN-F10N GPS (UART). Give it a helpful name, like ‘GPS’. Click ‘Edit’ to edit the sensor configuration.

Set configuration options for the sensor:

  1. Leave the UART_port set to 0. BODAQS loggers only have one UART connection.
  2. Leave the baud rate at 38400.
  3. Set update_rate_hz. This is the rate at which the GPS will update. 10hz (10 samples per second) is the maximum supported by the DAN-F10N GPS module.
  4. Leave the remaining settings unchanged.

Save the sensor when you are finished.

The GPS module does not require any calibration. After a GPS sensor is configured (and the logger restarted) tts status appears on the OLED idle screen:

  • GPS means the logger has a usable fix.
  • ..... means the receiver is present and acquiring.
  • NOGPS means the receiver is absent, in error, muted, or not producing usable data.

While the web interface or upload mode is active, GPS acquisition will be deferred. After configuration, turn Wi-Fi off or restart the logger and give the receiver a clear sky view before judging fix performance.