Quick Start Guide
This is a quick start guide to using the SenTiBoard. The first thing to remember when using the SenTiBoard is that if external power is connected to the 5V plug, the USB_PWR jumper should be removed. If power is supplied from the USB and the 5V plug is disconnected, the USB_PWR should be attached. The reason for this is to prevent the board from supplying 5V into the USB host, which may cause damage to the host, or causing the USB host to supply power to the 5V supply, which may cause problems.
TOV/IC and Trig/OC
- TOV: Time of Validity, sent from a sensor when a measurement is valid, for example a GNSS's pulse-per-second (PPS or 1PPS)
- IC: Input Capture/Interrupt Capture, the system on a microcontroller that accurately records the TOV
- Trig/OC: Trigger/Output Compare, an (often periodic) output from the SenTiBoard to the sensor, that tells the sensor to record a message
TLDR: The IC/TOV is used to enhance the accuracy when integrating with multiple sensors, to compensate for delays. The TRIG is a trigger from the SenTiBoard to tell other sensors when to record a measurement, for example when a camera should capture an image or when an IMU should measure the acceleration and angular rate.
Long answer: The IC is used to capture the Time of Validity (TOV) from a sensor. Some sensors, such as GPS/GNSS receivers, have a pulse-per-second (PPS) signal that is transmitted on a separate pin, which can be connected to the TOV.
In our experience some sensors (again, such as GNSS receivers) spend quite some time from a measurement is registered, until a position solution is calculated and the position message of interest is transmitted. This time can vary as calculation time, which messages are transferred and message length varies, which can make it hard to estimate. Some of these sensors, however, give a signal exactly at every second (or another interval) which is much more accurate (microseconds or less instead of hundreds of milliseconds). Thus, by recording the TOV and assigning this to the sensor measurement, a much more accurate measure of when the message was valid can be stored. GNSS messages often have a part of the message that estimates when the measurement was valid as well, if this is not exactly one second.
If only recording from one sensor, this data is not very valuable, but it is very valuable when synchronizing the data with other sensors such as cameras or IMUs. The IC can be used either to send a trigger to a camera, which then would be synchronized with the GNSS-pulse, or by recording a TOV from the camera. Some cameras have a flash-trigger-output which is a reasonable measure of when the image was taken - this might even have a configurable delay.
Some IMUs have a TOV which can be used for synchronization, but they often have a low group delay anyways and thus send data very quickly after the measurement was made. When integrating with an IMU the dynamics of the system would be erroneously represented if the aiding position measurements are applied with a delayed timestamp, as the system can have been acted on during that time.
The TRIG function can be synchronized with one of the ICs (typically one connected to GNSS), but increased to a higher frame rate. So even if the GNSS TOV is received at 1 Hz, a camera can be triggered at 10 Hz, which is then extrapolated from the GNSS timestamp.
The USB connector is a standard USB-micro connector. The 5 V plug is a 2-pin Molex Micro-Fit 3.0 (43025-02001) with ground on the top pin and +5 V on the bottom pin. The sensor port pins are 1.25 mm pitch 10-pin double-row JST-GHD connectors2. Unfortunately, these connectors are not common, but can be purchased from JST directly. The PROG, IC and TRIG connectors are 1.25 mm pitch single-row JST-GH connectors with 5, 2 and 4 pin connectors respectively3. Also note that the double-row and single-row (GHD and GH) connectors use different crimps. Descriptions of the pin configurations of the sensor ports are given on the wiki home page and pictures are given here: https://kyb.guru/gitlab/enfo/sentiboard-utils/tree/master/connectors
The pinout of the IC is, relative to the picture above: top - ground, bottom - signal in.
The pinout of the Trig is, relative to the picture above: from top to bottom - signal out, ground, not used (do not connect), ground.
Connecting the board
When the board is connected to a computer it should automatically be detected as a serial device. The OS should provide an interface to communicate through. In Linux it should appear as two devices in
/dev such as
/dev/ttyUSB1 with another corresponding port, on Windows it should appear as two numbered COM-ports (for example COM5 and COM6), and in OS X it should appear as something like
/dev/cu.usbmodem14324 with another corresponding port. To simplify the connection process see the installation page.
The SenTiBoard consists of two ports, one for configuration and status reporting, and one for sensor data. The sensor data is wrapped in the SenTiBoard Envelope described on the wiki home page. To configure the board, see the commands page.
Some versions of Linux has a pre-installed ModemManager that attempts to send commands to any usb-ttyACM device that attaches. As this may interrupt correct communication with the SenTiBoard it is recommended to either disable or uninstall the ModemManager. On Ubuntu 16.04 automatic startup can be disabled using
sudo systemctl disable ModemManager. On Debian-like distros uninstallation can be done using
sudo apt-get remove modemmanager.