My Requests

Drivers Manual

Laser Scanning - LEICA HDS6000 HDS6100 50Hz - 20


Driver to decode data from a LEICA HDS6000 ultra-high speed laser scanner, or from a Zoller+Fröhlich IMAGER 5006 laser scanner. 

Notice that the newer LEICA HDS6100 and the Zoller+Fröhlich IMAGER 5006i are also supported, so this document also applies to these scanners.

Laser stands for  L ight  A mplification by  S timulated  E mission of  R adiation. Laser class used by the HDS6000 is 3R (IEC 60825-1), which is NOT eye-safe. The scanner has a maximum scan range of 79 meters.

This driver supports scanners with firmware capable of scanning at 50 Hz (scans per second) maximum. 
If your scanner supports scan rates up to 100 Hz maximum, please use the related driver Z+F PROFILER 5006i 100Hz.

The HDS6000 is capable of scanning in two different modes:  Standard Scanning Mode  and  Profiler Mode .

The laser prism/mirror always rotates at very high speed around a horizontal axis. The entire laser unit may turn, at slow speed, around a vertical axis.

This driver only supports Profiler Mode, i.e. the laser does not scan around the vertical axis (i.e. scanning 'around').

Typical application for scanning in Profiler Mode would be to mount the scanner fixed on the roof of a car, together with a GPS receiver and Motion Sensor, in order to scan roads. 

It is highly recommended to interface the HDS6000 with a Time Synchronization pulse (PPS) from an external GPS receiver, in order to time-tag all data with UTC.

Driver Information

Driver LEICA HDS6000/HDS6100 50Hz (XML)  Interface Type Freebase/TCP/IP/UDP Driver Class Type Freebase
UTC Driver (question) Yes Input / Output Input and Output Executable DrvLaser.exe LEICA_HDS6000 
Related Systems
Related Pages

Decoding Notes

Data is always broadcast via UDP network. It is advisable to use a fast (Gigabit) network card, due to the enormous amount of data to be expected. Do not use the onboard wireless network for real-time scanning.

The actual raw binary datastream is in so-called ZFS format, a data format defined by company Zoller+Fröhlich. This document does not describe the ZFS format.

For this driver the laser must be used in so-called Profiler Mode.

The driver is configured as a multibeam system and creates XYZ 'multibeam' observations.

('multibeam' versus 'laser scanning'-terminology: ping = scan (i.e. 360° around), footprint = pixelswath = line)

The number of beams (pixels) depends on the on-line used settings, like (user-definable) range mask, vertical angle mask, intensity mask, etc. (see Controller Setup below). The maximum theoretical number of beams per scan is 200000. Under normal conditions you would expect values of 2000 to 5000 pixels.

The number of scans (lines) per second is also a user-definable setting and the maximum will be 50 Hz.

Pixel: Intensity vs Quality

Next to the pixel range value, two other important attributes are stored (dealing with the reflection):

Pixel Intensity value:
The range value of the pixel intensity depends on the hardware being used, and will be between 0 and 5000000 for the IMAGER5006 (i.e. LEICA HDS6000).

Pixel Quality value.
The quality value is the normalized intensity, and will always be in the range of 0 to 255.

These values depend on the target's surface.

Interfacing Notes

Network Configuration

Communication with the laser unit is possible via the fast (100Mbit) LAN network, or via wireless WiFi network.

Never use the WiFi, or a slow LAN (e.g. 10MBit) network for real-time data broadcast, the enormous amount of data transferred is simply too much for the network. In order to configure the laser unit it does not matter which network you use. 
Both networks may also be used simultaneously: the LAN network for real-time broadcast, the WiFi for viewing/modifying the configuration.

  • LAN Network Configuration

    The LAN IP address of the laser unit can be seen on the Info Page of the front display. 

    The LAN IP address of your computer's network should then be the same,  plus one ! Use for the subnet mask the values 

    Windows XP: 
    Control Panel, Network Connections, Click right-mouse on Local Area Connection, Properties, Internet Protocol (TCP/IP), Properties... 
    Windows Vista: 
    Control Panel, Network and Sharing Center, Tasks, Manage network connections, Click right-mouse on Local Area Connection, Properties, Internet Protocol (TCP/IP), Properties... 

    It is also possible to change the IP address of the laser LAN network, in case you can not modify your computer's IP address, or in case you need to connect to more than one laser scanner. e.g. via a network switch. It is recommended to consult the LEICA HDS6000 User Manual in order to do this. Please find here a summary: 
    1. Use the on-board keyboard and press the Right-Arrow button for more than 3 seconds, until the beep.
    2. Then use the Right-Arrow button to go to Settings menu, and then use the Down-Arrow button.
    3. Set DHCP Client to 'No'. Set DHCP Server to 'No'
    4. Change IP using the +/-/Enter Button
    5. Further, make also sure that HTTP Server is set to 'Yes'. 
      This allows you to communicate with the laser unit via a web browser.
    6. After these changes you must reboot the laser unit, i.e. switch it off and on.

  • WiFi Network Configuration

    The WiFi IP address of the laser unit is most likely 

    Always use the same IP address, but one higher for your computer's WiFi IP address, in this case Use subnet mask of 

    Windows XP: 
    Control Panel, Network Connections, Click right-mouse on Wireless Network Connection, Properties, Internet Protocol (TCP/IP), Properties... 
    Windows Vista: 
    Control Panel, Network and Sharing Center, Tasks, Manage network connections, Click right-mouse on Wireless Network Connection, Properties, Internet Protocol (TCP/IP), Properties... 

    The exact WiFi IP address of the laser unit can be found by generating a report file using the LAN connection:
    Connect, using a web browser to the unit and go to the /report page, e.g. type in
    Download the generated report (html) file, and locate the 'wlan_ip' setting.

  • Port Configuration

    The driver communicates with the scanner via UDP Port 'cmd_port', default set to 6100. 
    The scanner broadcasts the real-time data stream using UDP Port 'line_port, default set to 6101. 
    Possible status information (warning/error messages) is sent via UDP Port 'status_port', default set to 6102. 

    It is the cmd_port value that must be entered in the system definition of your template setup (see chapter Database Setup). There is no user-interface in the template setup to set the line_ and status_port, so the driver will assume that these two numbers are one and two higher than the cmd_port

    To view and/or change the current port values set by the scanner, you must use the web browser interface. You can not use the on-board keyboard for this. Please follow these steps: 
    • Start your default web browser, and connect to the laser unit using its IP address.
    • Use page /config to view the configuration (e.g. type in, and select the Interface link to view the current port values
    • In order to change the values, use password 'lara', and change the new values. 
      Again, it is important that the line_port is cmd_port plus one, and the status_port is the cmd_port plus two


By default, the driver will time-stamp the data when received at the UDP port.

However, due to UDP network characteristics in general, this may result in inaccurate timing. Therefore timing via Time Synchronization pulse (PPS) from GPS is highly recommended.

This means that the HDS6000 must be interfaced to a GPS receiver as follows:

  • The NMEA $GGA (or $ZDA) message from the GPS receiver must go to one of the two available USB ports (P1 or P2). 
    Please check if the baud rate selected in the Leica web interface and the one selected on your GNSS receiver match. Please select the highest possible baud rate (>=115200). 
  • The PPS (pulse per second) signal from the GPS receiver must go to the 9-pins Lemo port P3 (Pin 2: Pulse, Pin 3 AND 8: Ground). 

    Notice that port P3 must be connected internally, but this may not be the case for some older HDS6000 scanners. Please contact your LEICA vendor if P3 has been wired or not. If not, then the scanner needs to be upgraded by LEICA. Notice that HDS6100 scanners are already prepared.
    Further, it is important that your RS232 to USB cable has a Profilic or FTDI chip set.

If all is connected properly, the laser unit will decode the time-field from the NMEA message in order to get the exact UTC time, and will then increment its internal Counter1 with every pulse.

System Configuration

The laser must be configured in order to accept the time stamp from the GPS. It needs to know which USB port is connected to the GPS receiver, and at which baud rate the NMEA message is sent.

This configuring can be done using a web interface: via the LAN network, or via a WiFi connection.

Viewing current configuration is always possible; however, changing settings requires a password. For general settings you may use password 'lara', for advanced settings you need a password (which expires in time) from LEICA or Zoller+Fröhlich support.

Start your default web browser, and connect to the laser unit using its IP address. This IP address can be found on the Info page of the laser unit front display, e.g.

Use page /config to view the configuration (e.g. type in In this page you may also enter the password, in case you want to modify settings.

Go to the 'Position' or 'All' sub page and locate the '2132', 'gps_port', 'gps_baud' and/or 'gps_utc_cmd' setting.

Make sure to set the '2132' setting to '1', otherwise the scanner does not use GPS/PPS at all.

Set the 'gps_utc_cmd' setting to 'gga' if the time string to the USB port is NMEA GGA, or 'zda' if the time string is NMEA ZDA.

Notice that this last setting is only available for scanners having firmware version 7.3.2 or higher (The version of the firmware can be viewed on the onboard display). Use an NMEA GGA string when this setting is not available.

See also this example and this example for detailed information.

Database Setup

  1. Add a Multibeam Echosounder system to your template setup, and select driver "Laser Scanning - LEICA HDS6000/HDS6100 50Hz (XML)". 

    Enter the same (UDP) port number as the cmd_port number of the scanner (normally set to 6100). The driver will always communicate (send and receive commands) via this command port number of the scanner. The real-time datastream is received via this port number plus one, so normally 6101. Status information from the scanner is received via this command port number plus two, so normally 6102. Please read the instructions in chapter Network Configuration above for viewing and/or modifying the current port settings. 

    Important is to enter the IP Address the address of the scanner, as seen on the Info Page of the laser unit front display (See also Network Configuration above). 

    The maximum update rate is not used, so leave it at zero. 
  2. On the next page, the Transducer Location and Mounting Angles are important. Notice that when the laser unit is mounted up-side-down, you have to enter for the Roll offset a value of 180°. 

    Set the Max. beams per Ping value to 40000. The actual number of beams will be variable, and depends for example on the on-line used settings, and on the targets being scanned.
  3. Leave all other values on the next page(s) also at their defaults.


When on-line, the laser unit can be controlled using the Controller:

Select Echosounder Settings, click on the Laser System icon, and select the 'Control' tab page.

First of all, a (TCP/IP) network connection has to be established between Qinsy and the laser unit. This has to be done every time you go on-line:

Change in the 'Control' tab page option 'Connected' to Yes and select the Apply button. Wait until you see in the Events list that a connection has been made successfully.


Connect (using TCP/IP) to the so-called LRC Server of the Laser Scanner. Make sure that the IP address entered in Database Setup is correct. Under normal circumstances a successful connection will be established within a second. If it takes considerable more time, you should check your network cable/configurations. If no network connection can be made at all, e.g. the laser unit is switched off, than it may take 5 to 10 seconds, before you will be informed.

Notice that the Controller's option Reset System I/O will also re-establish a connection. You need to be connected in order to select any Action (see below). Further, the driver will automatically disconnect when going offline with the Controller, so there is no need to do this manually.


Selected action will be send to the laser unit, immediately after hitting the Apply or OK button. You must be connected first in order to select an action.
Notice that any selection will always revert back to [None], after each selected action.
It is recommended to wait a few moments after each action, until the status in the Event list is updated with a message, because it takes some time for the unit to handle each command (action).

  • [None]
    This will be the selection after each action. Nothing will happen when hitting the Apply or OK button.
  • Start
    Select this action in order to start scanning in profiler mode. Notice that it may take a few seconds before the first data is received, so be patience for at least 10 seconds.
  • Stop
    Select this action in order to stop scanning. Scanning will be stopped immediately, after hitting the Apply or OK button. The laser will also stop scanning automatically when going offline with the Controller.
  • [Abort]
    If something is wrong (e.g. the laser unit received a wrong command, or GPS is not recognized by the scanner), then its front display may display an error message for the user with an option to Abort, Retry or Ignore. Instead of using the laser unit's keyboard, you may select this action.


Scanning with Low or High power. Notice that High Power will scan the same distance as set to Low Power. Low Power may introduce more noise.

Notice that when set to High Power and an object comes too close in the vicinity of the scanner (less than 0.5m), the scanner will automatically stop for safety reasons.

Scan Speed

Define the speed for the vertical high-speed motor. I.e. the number of scans per second.
This setting has a huge impact on the amount of data. A high speed is recommended when the laser unit is mounted on vehicles moving fast forward. E.g. using 50 Hz on a car speeding 80 km/hr will result in a consecutive profile distance of 44cm.

Notice that some combinations with the Scan Resolution are not allowed.

Scan Resolution

Select the required vertical angle resolution.

Notice that some combinations with Scan Speed are not allowed.

Vertical Area Selection

Scanner head rotates 360° every line at high speed. 0° means looking down, 180° means looking up, 90° looking left, 270° looking right. Notice there is a physical mask from 0°-25° and 335°-360°.

Select the required scheme from the list.

Excluded data due to this setting will not be recorded.

Schemes are defined in the Laser Device Settings XML File:

They are allowed to be added, deleted or modified by the user in order to meet your local survey specifications and conditions.
Notice that the Mask Sector Start/End Angle must be defined using the scanner's local co-ordinate system.
Do not edit other tags/elements. Contact QPS BV in case modifications are required.

Sector Reduction

Select the required scheme from the list.

Excluded data due to this setting will not be recorded.

Schemes are defined in the Laser Device Settings XML File:

They are allowed to be added, deleted or modified by the user in order to meet your local survey specifications and conditions.
Notice that the Sector Start/End Angle should be defined using the scanner's local co-ordinate system.
To skip all pixels, set Interval to 0, to use all pixels, set Interval to 1 and to use every n-th pixel only, set Interval greater than 1
Notice that omitting a Sector Interval value means 0 (skip all)
Performance-wise, it is not recommended to use a Sector Reduction scheme to skip all pixels (i.e. Interval 0) for a desired sector. Instead you should use a Mask Scheme of the Vertical Area Selection, see above.

Minimum Range

Set the minimum required range in meters. Valid Values: 0 to 80 meters.

Using this setting is recommended, but be careful: Blocked data due to this setting (i.e. all pixels less than this range) will not be recorded!

Maximum Range

Set the maximum allowed range in meters. Valid Values: 0 to 80 meters.

Using this setting is recommended, but be careful: Blocked data due to this setting (i.e. all pixels more than this range) will not be recorded!

Minimum Intensity

Set the minimum required intensity (or reflection) value.
Values are scanner dependent. For the HDS6000 or IMAGER5006 these values are 0 - 5,000,000.

Notice that blocked data due to this setting will not be recorded

Maximum Intensity

Set the maximum allowed intensity (or reflection) value.
Values are scanner dependent. For the HDS6000 or IMAGER5006 these values are 0 - 5,000,000.

Notice that blocked data due to this setting will not be recorded


When enabled, the scanner needs a valid NMEA GGA message and Time Synchronization PPS pulse from an external GPS receiver.
Highly recommended, in order to use exact time stamping of the laser data. See chapter about Timing.
If the NMEA GGA message is not valid when action Start scanning is triggered, an error message will be displayed in the Events list, and the user has to select action Abort.

Raw Multibeam Display

When using the laser for scanning roads, it is recommended to use the following display settings:

View Properties:

Make sure to set the Backscatter Intensity range from 0 to 2,000,000 (or experiment with some other values), set Color Coding to 'Backscatter', and View Mode must be set to 'Bathymetry' (Appearance tab page).
Furthermore, do not  enable option to show big dots, or connect footprints with lines (see chapter Performance Optimization below).

Below a typical example during a road scan, using above settings:

Generic Display

The Generic Display can be used to show the numerical values for the number of beams (pixels) being scanned per ping (line), the beam quality and intensity, the range value, etc.

Real-time Performance Monitoring

When the scan data rate is too high, the other core Qinsy processes may not be able to handle the amount of data published by the driver (too many pixels/sec.) and in the past it would eventually crash the system.

An extra safety check has been implemented in order to prevent crashing of Qinsy: abnormal memory usage will be detected and when it exceeds a certain threshold limit a Stop command will be sent automatically to the scanner.

When that happens, the following message is displayed in the Events list in order to inform the user:


Whether such an event may occur is very much hardware dependent and/or on which settings are used.

You can check yourself if your setup is vulnerable: open the Windows Task Manager and monitor process Multibeamer.exe and/or DrvResultOut.exe while scanning. Under normal conditions the memory used by these processes should be constant.
If you notice that column Working Set (Memory) is constantly increasing, then the process will eventually crash when it exceeds 2GB and you will have to restart Qinsy. Note that 2GB is the maximum memory allowed for a 32bit process.

There may be situations that the default 1.7GB threshold is a little too low, or that the Stop scanning command must be sent earlier, e.g after exceeding a memory usage of 1GB.
So as an advanced user you may modify the following registry key in order to increase this threshold:


  • If you enter a value (in bytes) higher than 2GB it won't be accepted and the default will be used. You may try the following key value: 2000000000
  • If the value is set to zero, no monitoring of the Multibeamer.exe or DrvResultOut.exe process memory usage will be done. This is at your own risk because it may cause a crash when the memory usage exceeds 2GB.

But most important

Try to prevent having such events happening in your setup:

  • Check all your hardware and upgrade where possible. (Especially CPU power, Memory installed, Network card, Hard disk storage, etc.)
  • Read carefully the Improve Performance paragraph and try to follow up all the tips.

Improve Performance

Due to the enormous amount of data to be expected while scanning and recording, it is recommended to keep the system overhead as low as possible.

Here you'll find some tips and tricks in order to fine-tune your setup.

However, these are not strict rules, because each project is different and depends on the current situation and hardware being used. Your goal should be to keep your system CPU usage as low as possible.



Make use of Solid State Drive (SSD), or fast SATA hard drive (7200 - 10000 rpm).


Your network card speed should never be lower than the scanner's network speed. Use a network card that can be configured for 100Mbit or 1Gbit speed. Do not use USB Networking Adapters, because this may result in loss of data when huge amounts of data are being broadcast.

Virus Scanner

Disable Virus Scanner, or at least the setting 'Scan Files when Writing/Reading to/from disk'.

Task Manager CPU

General Task Manager CPU Usage should be less than 50%. CPU load of each display must be less than 10-15%.

Make sure that the 'Working Set (Memory)' column for process Multibeamer.exe and/or DrvResultOut.exe is not constantly increasing, especially during recording.
For detailed information about this see the section Real-time Performance Monitoring below.


Laser Device Settings

During project preparation, establish the optimum settings in order to achieve the required results.

The most benefit you will gain from setting the Scan Speed, Scan Rate, Scan Resolution, Angle Resolution, Vertical Area Selection, Scan Area Selection and Sector Reduction as well as possible.

Especially the Vertical or Scan Area Selection is very important. Make use of Mask schemes to define areas which you don't want to scan.


Raw Multibeam Display

Open only one Raw Multibeam Display.

Disable the options 'Show Big Dots' and 'Draw Lines'.

Navigation Display

Open only one Navigation Display.

Preferably disable DXF and TIFF layers or other big background files. These layers should only be used during project preparation.

When 'object tracking' is enabled, do not zoom in too close. Keep in mind that the display should not be 'refreshed' more than 1x per second.

3D Point Cloud Display

It is not recommended to use a 3D Point Cloud Display.

If you do so, make sure your hardware contains a high-spec video card.

Under Sensor settings set the Time window setting to a short period, e.g. 10 sec

- Sounding Grid

- Dynamic Surface

Storage to a Sounding Grid is not recommended, and should be purely for display purposes: e.g. for checking the scan coverage or for showing the 95% Confidence Level statistics.

If you do want to see the scan coverage then it is advisable to store to a sounding grid and not to the dynamic surface

Do not use a small cell-size, preferably not less than 1.0 meter.

If you notice in the Navigation Display that the real-time sounding grid is drawn/updated with a delay, then please increase the cell-size or disable the storage completely.

Offline (Replay) there are no limitations and you may use small cell-sizes, e.g. 0.10 meter.



In Replay there are no limitations as mentioned above: use as many displays as you like, store to sounding grids with small cell-sizes, update the dynamic surface, etc.

All this may only affect the replay speed, but the data integrity of your final DTM processing files should be fine.

Controller Computation Setup

While working online, disabling the laser system in your Computation Setup will have the most effect on the performance

Footprints will not be geo-referenced, nor corrected for motion, heading or timing in real-time. This will save a tremendous amount of CPU power and memory usage.

This tip allows you to get the most out of your scanner: maximum scanning speed and maximum scanning rate, without the risk of losing scans due to performance issues.

Drawback is that no DTM file (e.g. QPD) is created, nor a sounding grid is filled, while working online.

To create a final DTM and/or Sounding Grid file you need to Replay the recorded databases afterwards.

Network Problems

If you experience problems using your laser scanner in combination with this driver or if you need additional information or support, then please attach the daily laser log-file when submitting your JIRA support ticket.

At the bottom of this page you'll find the information on where to find this daily laser log file.

Windows Firewall

A commonly reported problem is that network data is blocked by the Windows Firewall.
When this happens you may see that data does come in using other utilities (like the I/O Tester or the manufacturer's own software), but that the Qinsy driver does not accept any data.

The following (Windows 10) steps may solve this:

  1. Go offline, open the PC Settings (Start menu, Settings)
  2. Select Windows Firewall (Update & Security, Windows Security, Firewall & network protection)
  3. Select Advanced settings
  4. Select Inbound Rules, highlight all 'Driver for Laser Scanning' entries and delete them using the right mouse popup menu (or Del key)
  5. If you now go online, the Windows Security Alert message will pop up: It is important to tick all three check boxes!

Multiple Network Cards

Another possible problem could be that your computer has more than one network card installed (e.g. LAN and WIFI), but within the same sub-net mask range (
It is recommended to make the first three digits unique for each network card IP address.
You may check the daily laser log-file, it will show the IP addresses for all available network adapters and indicates which one the driver will use:

Please check that the driver is using the correct one!

Missing Data

If you occasionally experience gaps in your data, this may be caused by a general Windows setting that affects the data throughput of your network card.

Change the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\NetworkThrottlingIndex

Set the new value to ffffffff (which will tell Windows to disable network throttling) and restart the computer.

Note that disabling network throttling may affect playing multimedia on your computer, but for laser scanning operations it is advisable to have a maximum data throughput of your network.

Daily Laser Log File

All user actions, system information and reported errors are logged in a daily laser log file which can be found in the current project's LogFiles subfolder.

The filename convention for this ASCII log-file is <System Name> DD-MM-YYYY.log, so every day there will be a new one.

Note that all time stamps in this log file are by default in UTC. An advanced user may change this to local time zone (LTZ) by changing the registry key:
HKEY_CURRENT_USER\Software\QPS\QINSy\8.0\Drivers\DrvLaser\Settings\TimeLogFileUtc value from 1 to 0.