Underwater Sonar (Analog)

This page details the setup of a low cost analog underwater sonar (aka “fish finder”) and a digitizer to convert the analog readings into NMEA 0183 which can be read by ardupilot. This setup allows measuring the depth of the water below a boat. The sensor described has a maximum claimed range of 300m and a relatively wide beam of 22deg.

These instructions were provided by OlavA at the bottom of this ardupilot.org blog post


images courtesy of lowarnace.com and actisense.com


Support for this sensor was added to Rover-3.4.

Connecting and Configuring

The image below shows the pin-out of an airmar analog transducer but the pintout is the same as for the Lowrance HST-WSBL


The Lowrance HST-WSBL pins should be connectded to the pins on the right side of the DST-2 as shown below. Note that the Lowrance HST-WSBL does not have a speed sensor so only pins 1 and 4-7 should be connected


The DST-2 requires a 10V to 28V power source meaning it can be powered from a 3S or 4S lipo battery.

Next pins on the left side of the DST-2 (serial and RS-232 output) should be connected to the flight controller’s telemetry/serial input. The easiest connection method is to connect the DST-2’s 5V serial output directly to the telemetry port of the flight controller’s Tx, Rx and a common ground. It is best to check the DST-2 docs before connecting but below shows how the telemetry pins from a Pixhawk (or other flight controller) should be connected to the pins on the left side of the DST-2


Connect with a ground station to the flight controller and set the following parameters (these settings assume the sensor is connected to Telem2/Serial2)

Then the following range finder related parameters should be set:

  • RNGFND_MIN_CM = 13
  • RNGFND_MAX_CM = 30000 (i.e. 300m). This is the distance in centimeters that the rangefinder can reliably read.
  • RNGFND_ORIENT = 25 (i.e. down) if mounted on a boat

Testing the sensor

Distances read by the sensor can be seen in the Mission Planner’s Flight Data screen’s Status tab. Look closely for “sonarrange”.