Skip to Content
CommandsStatesMovementAxis Calibration

Accelerometer Axis Calibration

Calibration process to obtain precise vehicle inclination and movement measurements.


What is it for?

Use caseDescription
🎯 Measurement precisionCorrect mounting or installation errors
🚗 Maneuver detectionImprove precision in braking, acceleration and turns
📐 Real inclinationObtain correct roll, pitch and yaw angles
🔧 Post-installationCalibrate after mounting equipment in vehicle

Calibration Methods

SCALINT

Fully automatic calibration that combines rest detection and stable GPS.

FeatureDescription
🤖 AutomaticDetects optimal conditions without intervention
📡 GPS requiredUses GPS signal for high Yaw precision
🔄 PersistentAutomatically retries until completed
🔍 IntelligentAdapts to driving conditions

Automatic process:

  1. 🤖 Automatic rest detection (5+ seconds without movement)
  2. 📊 Automatic Roll/Pitch calibration (~15 seconds)
  3. 🛰️ Automatic wait for stable GPS (speed + constant heading)
  4. 🧭 Automatic Yaw calibration using GPS as reference
  5. ✅ Result saved automatically

Requirements:

  • Valid and stable GPS
  • Minimum speed of 5 km/h for Yaw calibration
  • Constant GPS heading for at least 6 seconds

Response: RCALINT OK - Intelligent auto-calibration started

Recommendation: Use SCALINT for most installations. It’s the simplest and most accurate method, ideal for self-calibrating fleets.


Full Automatic Calibration

SCALSTART

2-phase automatic calibration that includes Roll/Pitch and Yaw.

PhaseDescriptionTime
Phase 1Roll/Pitch calibration at rest~15 seconds
Phase 2Movement detection and Yaw calibration~10-20 seconds

Process:

  1. 🔧 Keep device completely stable for 15 seconds
  2. 🚗 Move the vehicle in a straight line
  3. 📊 System automatically detects forward orientation
  4. ✅ Full calibration applied automatically

Response: RCALSTART OK

This process requires user intervention for vehicle movement, unlike SCALINT which is fully automatic.


Roll/Pitch Only Calibration

SCALSTART1

Calibrates only Roll and Pitch angles through rest detection.

FeatureDescription
⏱️ Time~15 seconds
📋 RequirementsVehicle at rest only
🎯 PrecisionHigh for inclination
🛰️ GPSNot required

Typical use:

  • Quick device inclination correction
  • Installations where Yaw doesn’t need calibration
  • First phase before running SCALSTART2

Response: RCALSTART1 OK - Roll/Pitch calibration started


Yaw Only Calibration

SCALSTART2

Calibrates only the Yaw angle through forward movement detection.

FeatureDescription
⏱️ Time~5-10 seconds
📋 RequirementsVehicle movement
🛰️ GPSRecommended (higher precision)
🎯 PrecisionHigh with GPS, medium without GPS

Process:

  1. 🚗 Move the vehicle in a straight line
  2. 📊 System detects maximum change in accelerometer
  3. 🧭 Identifies which axis corresponds to forward movement
  4. ✅ Yaw calibration applied automatically

Recommendation: Run SCALSTART1 first for better Yaw calibration results.

Response: RCALSTART2 OK - Yaw calibration started


Manual Calibration

For cases where specific angles and offsets need to be set:

SCAL<enable>[,<roll>][,<pitch>][,<yaw>][,<offset_x>][,<offset_y>][,<offset_z>]
ParameterDescriptionRangeRequired
enableEnable/disable calibration1 or 0Yes
rollLateral inclination (X axis)-180° to +180°No
pitchFrontal inclination (Y axis)-180° to +180°No
yawOrientation (Z axis)-180° to +180°No
offset_xX axis offsetmgNo
offset_yY axis offsetmgNo
offset_zZ axis offsetmgNo

Examples:

>SCAL1< // Enable only (preserves current values) >SCAL1,10,20,30< // Set angles only >SCAL1,,,,-5,10,15< // Offsets only (preserves angles) >SCAL1,10,20,30,-5,10,15< // Full configuration >SCAL0< // Disable calibration

Control and Monitoring

SCALSTOP — Stop Calibration

SCALSTOP

Stops any automatic calibration process in progress.

Response: RCALSTOP OK


QCALSTAT — Calibration Status

QCALSTAT

Queries the current calibration process status.

Response:

RCALSTAT<active>,<state_description>

Possible states:

StateMeaning
RCALSTAT0,IDLENo active calibration
RCALSTAT1,INITInitializing process
RCALSTAT1,COLLECT_POSITION_1Collecting rest data
RCALSTAT1,WAIT_MOVEMENTWaiting for vehicle movement
RCALSTAT1,COLLECT_MOVEMENTAnalyzing movement
RCALSTAT1,INTELLIGENT_WAIT_RESTWaiting for automatic rest (SCALINT)
RCALSTAT1,INTELLIGENT_WAIT_GPSWaiting for stable GPS (SCALINT)
RCALSTAT1,COMPLETED✅ Calibration completed
RCALSTAT1,ERROR❌ Process error

Monitoring example:

>QCALSTAT< RCALSTAT1,COLLECT_POSITION_1 >QCALSTAT< // after a few seconds RCALSTAT1,WAIT_MOVEMENT >QCALSTAT< // after movement RCALSTAT1,COMPLETED

QCAL — Configuration Query

QCAL

Queries the current calibration configuration.

Response:

RCAL<enabled>,<roll>,<pitch>,<yaw>,<offset_x>,<offset_y>,<offset_z>

Example:

RCAL1,10.50,5.20,-15.30,-2.10,1.80,9.40
  • Calibration enabled
  • Roll: 10.5°, Pitch: 5.2°, Yaw: -15.3°
  • Offsets: X=-2.1mg, Y=1.8mg, Z=9.4mg

QCALMAT — Transformation Matrix

QCALMAT

Queries the full calibration transformation matrix.

Response:

RCALMAT<enabled>,<offset_x>,<offset_y>,<offset_z>,<m00>,<m01>,<m02>,<m10>,<m11>,<m12>,<m20>,<m21>,<m22>
FieldDescription
enabledMatrix state (1=active, 0=inactive)
offset_x,y,zCorrection offsets for each axis
m00-m223x3 rotation matrix

Example:

RCALMAT1,-2.10,1.80,9.40,0.985,0.174,0.000,-0.174,0.985,0.000,0.000,0.000,1.000

Axis Orientation (ISO 8855)

The system follows the ISO 8855 automotive standard.

ISO 8855 coordinate system - Accelerometer axes

🔴 X Axis — Longitudinal (Forward/Backward)

DirectionValueExample
Accelerating (forward)+XX+008
Braking (backward)-XX-015

🟢 Y Axis — Lateral (Left/Right)

DirectionValueExample
Toward the right (passenger side)+YY+010
Toward the left (driver side)-YY-012

🔵 Z Axis — Vertical (Up/Down)

DirectionValueExample
Upward (opposite to gravity)+ZZ+105
Normal on flat surface~100 dgZ+090 to Z+120

Rotation Angles

AnglePositive (+)Negative (-)
Roll (X axis)Tilt toward the right (passenger side down)Tilt toward the left (driver side down)
Pitch (Y axis)Nose up (rear down)Nose down (front down)
Yaw (Z axis)Clockwise rotation seen from above (toward right)Counter-clockwise rotation seen from above (toward left)

Reference Values

ConditionX AxisY AxisZ Axis
🅿️ Rest≈ 0≈ 0≈ 100 dg
🚗 Normal driving± 20 dg± 20 dg≈ 100 dg
⚠️ Sudden maneuver> ± 50 dg> ± 50 dgVariable

Unit: 100 dg = 1G (gravitational force). Valid gravity range: 90-110 units (~0.9G - 1.1G)


>SCALINT< // Start intelligent mode >QCALSTAT< // Monitor progress // (System automatically detects rest and GPS) >QCAL< // Verify final result

Quick Inclination Calibration

>SCALSTART1< // Calibrate Roll/Pitch only >QCALSTAT< // Check progress // (Wait 15 seconds at rest) >QCAL< // Verify result

Full Phased Calibration

>SCALSTART1< // Phase 1: Roll/Pitch >QCALSTAT< // Monitor // (Wait for rest) >SCALSTART2< // Phase 2: Yaw >QCALSTAT< // Monitor // (Move vehicle in straight line) >QCAL< // Verify full result

Specific Manual Calibration

>QCAL< // View current state >SCAL1,15.5,-2.3,45.0< // Set specific angles >QCAL< // Verify application // (Field test) >SCAL1,15.5,-2.3,45.0,-1,2,5< // Adjust offsets if needed

Decision Matrix

What do you need?CommandTimeGPS
Inclination only (Roll/Pitch)SCALSTART1~15sNo
Orientation only (Yaw)SCALSTART2~5-10sRecommended
Full controlled calibrationSCALSTART~25-35sRecommended
Full automatic calibrationSCALINTVariableYes
Specific manual valuesSCAL1,...ImmediateNo

When to Calibrate

SituationAction
🆕 First installationAlways calibrate after mounting
🔄 Orientation changeRecalibrate if position is modified
❓ Erroneous readingsVerify and recalibrate
🔧 MaintenancePeriodic calibration recommended

Optimal Conditions

  • ✅ Level surface
  • ✅ Stable vehicle (no vibrations)
  • ✅ GPS available (for SCALINT and Yaw)
  • ✅ Sufficient battery (process may take several minutes)

Data Persistence

  • Configuration is automatically saved to non-volatile memory (EEPROM/NVS)
  • Values persist between device restarts
  • SCAL0 disables but does not erase calibrated values
  • Calibration is automatically applied at system initialization

Troubleshooting

ProblemSolution
Calibration won’t startVerify with >SCALSTOP< that no other is in progress
QCALSTAT shows ERRORStop with >SCALSTOP<, verify conditions and retry
Yaw won’t completeVerify valid GPS, speed > 5 km/h, straight line movement
Incorrect resultsDisable with >SCAL0< and recalibrate with >SCALINT<
Rest not detected (SCALINT)Ensure vehicle is completely still, no engine vibration

See Also

Last updated