Software Development Kit for Navigation Sonars

Request the Full SDK

FarSounder's Software Development Kit (SDK) for Navigation Sonars enables developers to integrate our 3D forward looking sonar data directly into their products. This SDK connects to the FarSounder-500 and FarSounder-1000 products via standard Ethernet, and is offered free of charge for non-commercial applications. 

What's Included

  • FarSounder's SonaSoft test server software
  • FarSounder’s SonaSoft thin client software
  • Interface Design Definition (IDD) with network packet specifications
  • Example code
  • Test data sets

Integration Options

Integrating FarSounder’s navigation sonars into third-party software is easy. We offer two ways to integrate:

  1. Via a customized version of our thin client software (Windows only)
  2. Via a network API (any operating system)

Outside of our SDK, our standard software supports keyboard shortcuts which allow 3rd party controllers to interact with our software. More details about this capability can be found on our tech blog.

Integration via FarSounder Thin Client

FarSounder’s standard bridge computer software handles multiple roles including: communicating with the sonar’s hardware, processing the 3D sonar data, and providing a graphical user interface. In addition, the standard software also acts as a server, making the processed sonar data available over a standard ethernet network interface. Processing the 3D sonar data requires a lot of computer resources and it is not recommended to run other applications on the FarSounder bridge computer while running FarSounder’s standard software.

FarSounder’s thin client software replicates the user interface of our standard software without any of the intensive sonar processing. The thin client software connects to the standard software’s server and allows for full control and display of the sonar.

full client Thin client with all default displays
full client Thin client with only the 3D sonar display

One method of integrating FarSounder’s sonar display into third-party systems that requires relatively little development effort is to load our thin client into a child window of the third-party’s software. In this way, the third-party system acts as a “parent application” and our software is loaded as a “child app”.

The advantages of using FarSounder’s thin client software are:

  1. No software development is necessary to replicate FarSounder’s 3D graphics.
  2. No software development necessary to control the sonar as all processor controls can be changed via the thin client.
  3. Display updates made in FarSounder’s software can be easily integrated into third-party systems.
  4. The look and feel of FarSounder’s 3D Sonar Display is maintained for the user, making the integrated system as easy to use as FarSounder’s standalone system.

Normally, our thin client software includes the full FarSounder user interface. However, for integrated displays, usually only the 3D Sonar Display is desired. In these cases, our thin client software can be modified to remove the FarSounder chart overlay and conning displays. Developers may also use the network API to access the processed sonar data necessary add a sonar layer to their own chart display. Additionally, the thin client’s color themes can be easily modified to match the color pallet of the third-party software.

Integration via Network API

In addition to the thin client interface, all the processed data used to build FarSounder’s displays can be accessed via a network API. The processed data includes:

  • 3D point cloud with x, y, z positions and signal levels of detected sea floor and in-water targets used in FarSounder’s 3D sonar display and chart overlay display.
  • Vessel navigation sensor data (heading, position, speed, etc) from external NMEA sensors input to the FarSounder server used in the FarSounder conning display.
  • Hydrophone waveforms and array geometry used the FarSounder system status display

All processor controls for the system are also available via the API. Any changes to the processor controls made from any interface are passed on to all client and server displays.

Third-party developers who already have a chart display inside their software (i.e. ECDIS/ECS systems) and wish to add a sonar overlay to their charts can use the network API to access the sonar’s target data. Once they have the target data, relatively simple 2D drawing code can be used to draw the overlay layer. Third-party developers can also implement their own 3D sonar displays using their own 3D graphics code. However, the thin client option may be preferred for this portion of the display.

Getting Started

Developers can download our Interface Design Definition (IDD) and protobuf files at the bottom of this page. The IDD explains the network interface and references the supplied protobuf files.

Contact FarSounder directly for additional details and license agreement. After the paperwork is taken care of, developers will be provided with a download for the rest of the SDK's details.

Additional Resources

FarSounder's engineering staff is available for consulting and support at standard hourly rates. Our software, signal processing, and system engineers can assist with anything from a few questions to complete product development. 

Licensing Requirements

Though the SDK is provided free of charge for non-commercial applications, development partners are still required to sign a licensing agreement with FarSounder to receive the complete SDK materials and become an authorized third-party integrator.