Merge remote-tracking branch 'upstream/master' into abo_fw_alt_vel_control
[inav.git] / docs / Rangefinder.md
blobb53ae439b7ee1b2465f7e5e83024c80c12ba73e7
1 # Rangefinder
3 Rangefinders are devices used to measure Above Ground Altitude.
5 ## Current state
7 Current support of rangefinders in INAV is very limited. They are used only to:
9 * landing detection for multirotors
10 * automated landing support for fixed wings
11 * _Experimental_ terrain following (Surface) flight mode activated with _SURFACE_ and _ALTHOLD_ flight mode
13 ## Hardware
15 Following rangefinders are supported:
17 * SRF10 - experimental
18 * INAV_I2C - is a simple [DIY rangefinder interface with Arduino Pro Mini 3.3V](https://github.com/iNavFlight/inav-rangefinder). Can be used to connect when flight controller has no Trigger-Echo ports. 
19 * VL53L0X - simple laser rangefinder usable up to 75cm
20 * UIB - experimental
21 * MSP - experimental
22 * TOF10120 - small & lightweight laser range sensor, usable up to 200cm
23 * TERARANGER EVO - 30cm to 600cm, depends on version https://www.terabee.com/sensors-modules/lidar-tof-range-finders/#individual-distance-measurement-sensors
24 * NRA15/NRA24 - experimental, UART version
26 #### NRA15/NRA24
27 NRA15/NRA24 from nanoradar use US-D1_V0 or NRA protocol, it depends which firmware you use. Radar can be set by firmware
28 to two different resolutions. See table below.
30 | Radar | Protocol | Resolution      | Name in configurator |
31 |-------|----------|-----------------|----------------------|
32 | NRA15 | US-D1_V0 | 0-30m (+-4cm)   | USD1_V0              |
33 | NRA15 | NRA      | 0-30m (+-4cm)   | NRA                  | 
34 | NRA15 | NRA      | 0-100m (+-10cm) | NRA                  | 
35 | NRA24 | US-D1_V0 | 0-50m (+-4cm)   | USD1_V0              |
36 | NRA24 | US-D1_V0 | 0-200m (+-10cm) | USD1_V0              |
37 | NRA24 | NRA      | 0-50m (+-4cm)   | NRA                  | 
38 | NRA24 | NRA      | 0-200m (+-10cm) | NRA                  | 
41 ## Connections
43 I2C solutions like `VL53L0X` or `INAV_I2C` can be connected to I2C port and used as any other I2C device.
45 #### Constraints
47 INAV does not support `HC-SR04` and `US-100`. No constrains for I2C like `VL53L0X` or `INAV_I2C`.