Geotab firmware and operation

Learn how firmware controls device states and logs engine, motion, and GPS data.

Firmware controls how Geotab devices detect ignition, collect vehicle data, and report movement. This article covers firmware releases, device operation, engine data, ignition detection, accelerometer behavior, and GPS logging.

Library inclusion notices

For notices for included firmware and software libraries, refer to Library inclusion notices.

Device variation functional differences

Firmware has some functional differences for GO RUGGED compared with other device types. Refer to GO RUGGED firmware functional differences for the full list.

Firmware releases

Learn how firmware branches differ and how releases move from one branch to the next.

Firmware versions are published from one of three branches: Stable Release, Release Candidate, and Beta. These branches are three separate copies of the firmware code base.

  • Stable Release is the most stable branch and aims to fix critical issues.
  • Release Candidate aims to fix issues to increase stability and may accept new features when appropriate.
  • Beta is the least stable branch. It accepts all new features but may introduce instabilities.

For release notes, refer to Firmware release notes.

Note:

The Release Candidate branch eventually becomes the Stable Release branch, and the Beta branch becomes the Release Candidate branch. Geotab creates a new Beta branch when this occurs. This process occurs approximately every two months. Refer to Firmware Rollout Process for more information.

Telematics device

GO devices use status lights, beeps, and server contact to report their state, check for updates, and detect motion while the ignition is off.

Installation

The telematics device must be correctly installed to ensure functionality. For installation information, refer to the installation documentation and the GPS tracker installation blog. For specific installation requirements, refer to the Vehicle-specific installation notes.

For installation verification options, refer to Installation overview.

Specifications

For device specifications, refer to the Hardware Support documentation.

IOX

IOX Expansion Technology is integrated with the telematics device and allows it to connect to additional hardware. For more information about IOXs, refer to the IOX documentation and the Guide to Geotab IOX Add-Ons.

Curve Logging

In general and where appropriate, most data is saved using the curve-based algorithm. For an explanation of the algorithm, refer to the Curve Logging algorithm.

LED

The device has three LEDs to indicate its status:

  • The red LED indicates that the device detected ignition and has powered on.
  • The green LED indicates that the device has connected to a cellular network.
  • The blue LED indicates that the device has latched onto a GPS signal.

For LED investigation within the applicable device model scope, refer to Checking GO device LED status.

Device beeping

When the device powers on for the first time after installation, it enters Troubleshooting Beeping Mode to assist with installation for the first two trips. This mode provides the following indications:

  • Six short beeps indicate power detection.
  • One short beep indicates a detected change in ignition state.
  • Two short beeps indicate that the device is searching for a cellular connection. These beeps occur periodically.
  • Three short beeps indicate that a cellular connection is established.
  • One long beep indicates that GPS is latched.
Note:

Device beeping can be enabled and configured through MyGeotab.

Heartbeat

When the vehicle ignition is turned off, the device powers down and enters Sleep mode. In Sleep mode, the device periodically pings the server, similar to a heartbeat, to ensure it remains connected and to check for pending firmware updates. The device heartbeats every 30 minutes for the first 72 hours. After 72 hours, it heartbeats once every 23 hours.

Firmware updates

Firmware updates occur after an ignition-off event or during heartbeats. The firmware update request starts once the device has uploaded all its data and the modem is about to go offline.

Disabled device mode

The device enters Disabled Mode by downloading a parameter while in Suspend or Terminate Mode. On entering the disabled state, it resets and erases log data, collision data, and timestamp data from flash memory.

While disabled, the device does not create logs, update firmware, or detect ignition. It periodically connects to the Gateway servers to download new parameters. Each time a disabled device connects to the Gateway servers, it logs a Device Disabled fault. It connects 12 hours after entering the disabled state, then every 23 hours thereafter.

  • In Terminate Mode, the cellular account is canceled and the device is permanently disabled.
  • In Suspend Mode, the cellular account remains active so the device can download new parameters and exit Disabled Mode once an active rate plan is applied.

Connectivity and device phone numbers

Each Geotab GO device contains an internal SIM (Subscriber Identity Module), either a physical card or an eSIM (embedded SIM) embedded directly in the device. The SIM is associated with a single, unique phone number.

This number is a PTN (Public Telephone Number), assigned by the phone company to each device for billing purposes. It cannot be used to make or receive phone calls.

Determining a device's PTN requires its SIM card number and associated provider. This information can be obtained from Geotab Support. Refer to Contacting Support.

For more hardware information, refer to the GO9 overview.

Engine data

GO devices log data from the engine to track fuel use, seat belt state, distance, voltage, oil pressure, and engine run time.

Engine data resources

For information about engine status data collected by the telematics device, refer to the MyGeotab Diagnostics sheet. The Vehicle Type and Engine Data sheet provides an overview of supported engine data for Odometer, Driver Seat Belt, Fuel Usage, and Fuel Level.

Note:

The percentages in the engine data columns are calculated using the total number of vehicles in the field with telematics devices.

Engine data priority

Vehicles often report data from multiple sources. At power-on, the device identifies all existing source variations and selects the source most likely to provide accurate data.

For engine data displayed on the instrument cluster, such as odometer and cruise control data, the firmware prioritizes the instrument cluster computer above other computers. This priority reflects the end user's frequent preference for data that represents what is visually available in the vehicle rather than what is available in the engine computer.

Listen-Only Mode

The vehicle broadcasts some data types. Other types require the device to send a request to the vehicle. If the device detects a connection issue with the vehicle, it enters Listen-Only Mode. In this mode, it does not request any data and therefore no longer logs vehicle data that must be requested.

Note:

A small number of vehicles sound an alert if any third-party On-Board Diagnostic (OBD) device requests data through the OBD port while the vehicle is locked and ignition is off. As of firmware version x.27.x, GO9 disables this alert by default to provide full access to data according to the rate plan, without risk of sounding the alert. For more information, including how to verify and control the alert's status, refer to the OBD Port Audible Alert FAQ.

Vehicle Identification Number (VIN)

VIN is a standard request and is available on most vehicle types. Some vehicles do not reply to the VIN request or return an invalid VIN. If the vehicle does not provide a valid VIN, the device saves the VIN as zeroes.

Fuel

MyGeotab uses Device Total Fuel and Device Total Idle Fuel to calculate fuel economy. It uses Fuel Level, expressed as a percentage or volume, to calculate fill-up events.

The device saves Device Total Fuel values in flash memory so the data is retained after a firmware update or telematics device power cycle.

If the telematics device is moved to a new vehicle, detected by a change in VIN, the Total Fuel values reset to 0. Device Total Fuel is logged using Curve Logging and is also logged after ignition is turned off.

Seat belt and odometer

Seat belt detection

  • The telematics device performs a comprehensive seat belt data detection and verification process. Validation normally takes three trips. Each trip must last longer than one minute and include driving at a speed greater than 10 km/h to count toward validation. To detect the data, the device must recognize seat belt changes. These changes occur during ignition events.

Note:

Seat belt data detection and verification may take longer if a particular vehicle type has multiple sources of seat belt data.

Seat belt functionality

  • When the device first powers on, a seat belt value of −1 indicates that the value is unknown. This prevents MyGeotab from creating an ongoing Seat Belt Unbuckled event until the seat belt is detected again.

  • On every ignition-change event, if the seat belt was previously buckled or unbuckled, its status is set to Unknown. This prevents seat belt data from previous trips from carrying over to the current trip.

Odometer detection

  • The device uses a three-stage odometer detection process:

    • The device attempts to locate odometer information.

    • Once it finds a possible source, it verifies that the data values increment properly. Verification requires at least 0.5 km of driving.

    • The device uses GPS data to verify the odometer unit over at least 5 km of driving.

  • Stages 2 and 3 can occur over multiple trips.

Odometer functionality

  • The odometer is logged at every ignition-on event, every ignition-off event, and every 2 km, or every 1 km if GPS is invalid.

  • Each received odometer value is validated to ensure it does not jump 15 km forward or backward between readings. If this happens twice during two trips with no recovery, meaning the odometer does not return to its value within 15 km, an invalid odometer fault is logged and the device stops reporting odometer values.

Voltage

At every ignition-on event, 10 seconds of instantaneous voltage logs are saved using the curve algorithm to record the vehicle's crank voltage curve. An average voltage value is saved whenever it changes by 250 mV or more.

If vehicle voltage falls below 11.6 V for five minutes, the device logs a Low voltage warning fault and forces a heartbeat to communicate the low voltage value. The default threshold is 11.6 V and can be changed through a parameter. Once this occurs, heartbeats switch to every 23 hours to help preserve battery power.

If vehicle voltage is consistently below 7 V, the device remains in Low Power Mode and does not operate until voltage rises above 8 V.

To view recorded voltage measurements in MyGeotab, refer to Viewing measurements.

Oil pressure

Oil pressure is saved using curve logic when all of the following conditions are met:

  • Engine RPM is above 450.
  • Coolant temperature is above 52°C.
  • Oil pressure is less than or equal to 84 kPa.

To view recorded oil pressure measurements in MyGeotab, refer to Viewing measurements.

Ignition detection

A GO device uses engine data, wiring, or motion to tell when the ignition is on or off.

The device detects vehicle ignition status using one of three methods:

  • Engine-based.
  • Three-wire.
  • Trip Tracking/Two-Wire.

Engine-based

The device first wakes up by detecting voltage spikes or accelerometer-based movement. It then uses RPM or engine road speed to determine ignition status.

Three-wire

The device connects through a special three-wire harness with power, ground, and ignition connections. The harness ignition connection sends a reliable, direct signal that sets the ignition state.

For physical installation guidance, refer to the installation documentation.

Trip Tracking/Two-Wire

If the device does not receive engine data or is not connected to a three-wire harness, it attempts to determine ignition using Trip Tracking. Another logic, Two-Wire, focuses more on voltage and can determine ignition when enabled through a custom parameter.

What is engine RPM?

RPM means revolutions per minute and measures the rotational speed of the engine's crankshaft. The crankshaft converts the vertical motion of the pistons into rotational force that powers the vehicle. RPM indicates how hard the engine is working.

Engine RPM at ignition on

When ignition turns on, the starter motor cranks the engine. This action generates a few hundred RPM as the starter rotates the engine. Fuel is injected and the engine begins to run, but it does not immediately reach idle speed. The engine initially runs at a higher RPM to warm up efficiently. Shortly after starting, RPM stabilizes at normal idle speed.

Engine RPM at ignition off

The engine does not stop instantly when ignition turns off. It continues to rotate briefly as RPM gradually decreases to zero. RPM values may therefore be recorded immediately after ignition turns off.

Engine RPM data and resources

To view diagnostic signals in MyGeotab, refer to Viewing measurements. For the fault-report resource referenced for engine RPM information, refer to Faults overview.

Reprocessing may sometimes resolve unexpectedly rising RPM while the vehicle is parked with ignition off. Refer to Reprocessing event data.

For more information about MyGeotab, refer to the ERROR - unresolved reference (varsSharedXref).

Incorrect ignition readings and support

For causes of incorrect readings, see Incorrect GO device ignition status. For the maintained installation, measurement, parameter, and device checks, follow Checking GO device ignition detection.

For persistent ignition or RPM issues, see Contacting Support.

Accelerometer

A GO device tracks motion to log harsh driving, collisions, and reverse travel.

The accelerometer calibrates while the vehicle is driven. As a result, there are no installation orientation restrictions for the accelerometer to work. The device must be securely installed for accelerometer data to remain consistent. Real-time calibration can take one or two trips. Calibration relies on GPS data and may take longer in an area with weak GPS signals.

  • Accelerometer data is sampled at 100 Hz and saved using the curve-based algorithm.
  • The accelerometer ranges from −8 g to +8 g.
  • Resolution is 4 mg/bit for GO8 and prior, and 0.244 mg/bit for GO9.

For the meaning of the Accelerometer calibration in progress (more driving required) fault and the required vehicle-relative calibration conditions, see GO device accelerometer calibration. For persistent faults, follow Checking persistent GO device accelerometer calibration faults. Fault 281 is covered in Engine faults related to telematics devices.

Installation

A device that is not securely installed has less reliable accelerometer behavior and may not calibrate. A mounting surface with excessive vibration or contact may generate excessive or incorrect accelerometer data. The device can detect excessive data collection and stops logging accelerometer data when this occurs. It saves a device fault at the time excessive logging is detected.

For physical installation guidance, refer to the installation documentation.

Orientation

Once calibrated, the accelerometer is virtually oriented as follows:

  • The x-axis reflects forward/back motion. A positive x-value indicates acceleration, and a negative x-value indicates deceleration.
  • The y-axis reflects motion toward the sides of the vehicle. A positive y-value indicates a left turn, and a negative y-value indicates a right turn.
  • The z-axis reflects up/down motion. A positive z-value indicates down (gravity).

Harsh driving

The accelerometer constantly logs events over 234 mg in the X-axis (front/back) or Y-axis (side/side) direction using the curve-based logging algorithm. This constant logging ensures that events are always observed as long as rules are set to a minimum of 234 mg.

Driver feedback

Beeping for driver feedback on harsh-driving events is configured in MyGeotab. Different thresholds are available for acceleration, braking, and cornering. No feedback is provided when the vehicle travels under 10 km/h.

Collision detection

A separate collision-data memory buffer stores second-by-second data. The data is only uploaded when an accelerometer event has a combined X/Y magnitude over 2.5 g. Negative Z-axis values also indicate a possible rollover, which triggers a collision event.

Only four collision-data buffer uploads can occur per trip. Custom parameters can change the 2.5 g value, but the value cannot be set below 1.9 g. Collision-level accelerometer data is still logged even when ordinary accelerometer data is disabled because of excessive logging.

Accelerometer data logging during a collision

Accelerometer data during a collision is logged using the curve, with no collision-specific logic. Curve logic detects a change in acceleration and sends the appropriate accelerometer points.

Accelerometer data logic must be enabled as part of the Rate Plan. For example, collision accelerometer data is not available on the Asset Plan, but the fault is logged.

For the maintained data overview, see Log data and collisions. To retrieve recorded data in MyGeotab, follow Viewing logged data and collisions.

Reverse detection

The accelerometer can detect reverse when gear data is not received from the vehicle's engine computer. The device determines that the vehicle is out of reverse if it stops for five seconds or starts moving forward. Reverse detection is logged as follows:

  • Into reverse is logged as Gear Position with a value of −1.
  • Out of reverse is logged as Gear Position with a value of 0 (neutral).

Calibration resources and support

For more information, refer to the ERROR - unresolved reference (varsSharedXref) and Geotab Academy videos. For unresolved calibration issues, see Contacting Support.

GPS

Review how the device logs GPS data and checks its position and speed.

Logging

Curve-based logging is performed for both GPS position and GPS road speed to provide the best fit on the map, an accurate speed profile, and accurate idle time.

The following are default error values for Curve Logging:

  • Pro Plus with Active Tracking:
    • Max Curve Distance Error = 7.8 m
    • Max Position Estimate Error = 28.5 m
    • Max Curve Speed Error = 3.6 km/hr
    • Max Speed Estimate Error = 7.3 km/hr
  • Pro or Pro Plus without Active Tracking:
    • Max Curve Distance Error = 7.8 m
    • Max Position Estimate Error = 399 m
    • Max Curve Speed Error = 5.5 km/hr
    • Max Speed Estimate Error = Disabled
  • Base:
    • Max Curve Distance Error = 7.8 m
    • Max Position Estimate Error = 1026 m
    • Max Curve Speed Error = 5.5 km/hr
    • Max Speed Estimate Error = Disabled
Note:

An estimate error predicts where the value should be based on the last saved GPS record, then compares the current point with the estimated point to determine whether it should be logged.

If GPS data is invalid, road-speed Curve Logging uses engine-based road speed. Latitude and longitude are used to validate GPS-based road speed.

If the accelerometer detects movement while ignition is off, GPS is turned on to check whether latitude or longitude changes by a sufficient distance, approximately 100 m. If the device detects a sufficient change, the trip is tracked and the modem connects, if it is a live unit. The modem remains connected until the device stops moving.

Validity and precision

The GO device obtains latitude and longitude directly from the GPS module. The following conditions determine whether a position from the GPS module is valid:

  • A 3D fix, with a minimum of four satellites
  • Position Dilution of Precision (DOP) of 6 or better
  • Time DOP of 10 or better
  • Speed accuracy estimate better than 1 m/s
  • Ignore the first valid point.
  • Ignore data with a speed increase greater than 30 km/h from the previous data.
  • Ignore data if the difference between GPS speed and the speed calculated using latitude and longitude from the previous two seconds is greater than 10 km/h.
  • Each bit of latitude and longitude has a precision of 0.0000256 of a degree.

GO RUGGED firmware functional differences

Learn how GO RUGGED firmware differs in buzzer use and engine data.

GO RUGGED firmware has the following functional differences:

CAT protocol is only supported in the GO RUGGED

The buzzer is not used in the GO RUGGED

The following additional J1939 Data are only processed in GO RUGGED:

  • PGN 64891 Aftertreatment Service
  • After treatment 1 Diesel Particulate Filter Ash Load Percent (SPN 3270)
  • After treatment 1 Diesel Particulate Filter Time Since Last Active Regeneration (SPN 3721)
  • Generator total kW hours export (SPN 2468)
  • Generator total kW hours import (SPN 2469)
  • Generator total reactive power (SPN 2456)
  • Generator overall power factor (SPN 2464)
  • Generator total real power (SPN 2452)
  • Generator total apparent power (SPN 2460)
  • Generator average line to line AC RMS Voltage (SPN 2440)
  • Generator average line to neutral AC RMS voltage (SPN 2444)
  • Generator average AC frequency (SPN 2436)
  • Generator average AC RMS current (SPN 2448)
  • Key Switch Battery Potential (SPN 158)
  • Engine Fuel Filter Differential Pressure (SPN 95)
  • Engine oil filter differential pressure (SPN 99)
  • Cargo ambient temperature (SPN 169)

The following data from light duty vehicles are not supported:

  • Fiat Dodge Service Distance Interval
  • Light duty seat belt support
  • SWC GM door lock request