Laser Developer's Posts (23)

Sort by


What is the difference between a low cost, hobby grade LiDAR and a much more expensive survey grade LiDAR? The short answer is that there are lots of differences. So the challenge becomes figuring out how to use the latest technology to achieve survey grade performance in a small, low cost package.

Ideally, a LiDAR should have perfect performance so that exact distances and angles can be measured instantaneously. This would result in precise 3D point clouds that can be used in conjunction with photogrammetry or directly for inspection and mapping. In reality, there are limitations to the performance of any product and in the case of LiDAR these limitations include:

  • The size of the laser footprint on the ground
  • The maximum measuring range achievable
  • The absolute distance measurement accuracy
  • The update rate of new measurements
  • The precision of the aiming direction
  • Knowledge of the position of the LiDAR itself

Each of these performance parameters can be very difficult to improve on and this is one of the reasons why high performance LiDARs cost several orders of magnitude more than those that might appear to do the same job.

Up to now, we (LightWare dev team) have been concentrating our LiDAR development program on making high quality, low cost LiDAR systems that are lightweight enough to use on small drones. Our emphasis has been on measuring the height above ground and locating obstacles in front of the drone since these applications have more relaxed specifications when compared to precision mapping. However, we have a longer term program to produce very precise mapping LiDAR at low cost and I would like to share with you our first steps in this direction.

The LW21 prototype pictured above is a variant of the ultra-small LW20 LiDAR that was released earlier this year. The LW20 configuration was developed with high performance applications in mind which is why it includes professional grade features such as an IP67 rated housing made from aluminum, first and last signal detection, long range and so on. In the LW21 we have added new optics and modified the laser beam in order to reduce the size of the ground footprint.

A small ground footprint is critical to obtaining precise measurements. You can think of this as the "pixel" size of the LiDAR and making the pixels smaller means that you know with greater certainty which point on the target surface is providing the return signals. This improves to the angular precision of the measurements.

The difficulties in making a small footprint relate to the beam divergence of the laser. The pulsed lasers used in time-of-flight LiDAR have a large chip size resulting in a much bigger emitting area than you would find in a regular, visible laser pointer. This larger chip makes it difficult to design a simple and small system of lenses that produce good collimation (a parallel beam). Instead, light from the edges of the laser chip travel in a slightly different direction from light at the center, making the edges of the laser beam diverge.

Replacing the laser with a smaller chip means that the transmission power will be reduced and therefore the signal strength and measuring range decrease. However, in the LW21 we have managed to introduce a smaller laser chip but still maintain the range. This has reduced the area of the ground footprint by a factor of 4.

The next limitation relates to the small physical size of the lenses. Small diameter lenses with short focal lengths have  poorer optical characteristics than larger lenses, introducing distortions and a wide field of view. They also have a smaller collecting area so that return signals appear to be weaker. So this is why survey instruments that use lasers are quite large.

There was no way to economically overcome these fundamental, optical limits so we increased the focal length of the lenses thereby reducing spherical aberration and reducing the beam divergence by another factor of two on each optical axis.

The net result of these modifications is that the LW21 prototype gives a beam divergence of around 1.7mRad producing a spot size just 12cm across at a range of 50m. By comparison, the Velodyne Puck has a beam divergence of 3.0mRad producing a spot with almost four times the area of the LW21.

So what's next? We are currently working on a high precision aiming mechanism that will provide very accurate information about the direction that the LW21 is aiming. I'll keep you posted ;).

Read more…


Making a small, low cost laser scanner for sense-and-avoid applications has been a objective of mine for several years. What makes this project challenging is the cost and complexity associated with motors and their drivers to provide the motion, position encoders to provide accurate aiming information and slip rings to pass the signals through the moving parts.

In a typically anarchistic response to these limitations, we decided to throw out all of these parts and start again with a simple, low cost, digital servo bolted directly onto an LW20 LiDAR. I've used the DS-919MG servo from Corona for this example although most digital servos will work.


The servo doesn't go all the way around, so the field of view is limited. For a forward looking sensor this is a reasonable limitation, given that it is so inexpensive, small and the whole system only weighs 50g.

It is simple to connect up the LW20 to a servo because the hardware and software drivers are built in. There is one wire that connects to the PWM control line of the servo and we used a separate power supply for the servo because they tend to be noisy on the power rail.


Through the comms port (serial or I2C) of the LW20, the servo can be told to aim in any direction. There is also a command to switch on fully automatic scanning.

To make an energy efficient scanner it is nice to be able to scan in two directions (clockwise and anti-clockwise) in a continuously reciprocating movement. Unfortunately, low cost servos are notoriously tricky to use in this way because their internal control systems are designed to aim the servo in a static direction. If you try to change the aiming angle of a servo before the shaft stops moving then the shaft position always lags behind the requested aiming position.

For most applications, "servo lag" isn't a problem because the servo moves quite fast. However, the LW20 is updating 388 times a second and this is on the limit of how fast a conventional servo can accept changes in position. The result is that the position of the scanned image from a CW scan is slightly different from that of the ACW scan.

You can see the lag in the image below where the black line is the ACW data and the orange line is the CW data. The data points in this image have been thinned out to avoid clutter but the actual number of points in each scan is much higher.


Fortunately for us, the LW20 driver software includes compensation for the servo lag and with a few tries it can be eliminated almost entirely.


For the purists out there who want precise angular data, there is also a uni-directional scan available as an option in the software. This eliminates the lag problem altogether but the servo draws a lot more power when it is returning to the start position.

To help with setting up a servo driven LiDAR, our software genius, Rob, has provided a fully interactive GUI that lets you put in settings, add 2 dimensional alarm zones, eliminate fixed obstacles like landing legs and generally have a lot of fun. This GUI is part of the LightWare Terminal application that you can download for free.


A final word about the performance of this system. The LW20 is a very powerful LiDAR module so I had no problem getting good maps out well beyond 50m with some points reaching 100m. I was also able to use the first signal / last signal capability to capture both nearby obstacles and more remote surfaces at the same time while looking through trees and long grass at a shallow angle. In the image below, the blue data is first return and the orange data is last return.


For more information about the LW20 you can check out the LightWare website.

Read more…


LightWare Optoelectronics is proud to share with you some preliminary data on their new miniature laser range finder modules, the LW20 and the SF20 OEM version. These modules will be available later this year and as part of our program of supporting the DIY market we will be offering the OEM module to individual customers as well. The prices will be announced at the time of the official launch ;).


The LW20 and SF20 miniature laser rangefinders offer high performance in a very small form factor. The LW20 is a sealed unit designed to withstand water splashes and dust whilst the SF20 is a lightweight, open frame unit ideal for OEM integration. Both units can measure more than 100 m in sunlit conditions and can measure down to almost zero distance. These professional grade sensors take up to 678 readings per second and provide distances to both the first and last signals with each measurement. The laser beam is encoded so that units can be aimed at the same target without interfering with each other, enabling multiple redundancy and allowing for many UAVs to operate safely in the same area. Serial or I2C communications ports provide a comprehensive suite of commands and the unit can be switched into power saving mode when not in use. 


  • Very small size
  • Choose either a water and dust resistant unit (LW20) or a lightweight open frame module (SF20)
  • Weight of less than 10 g for the SF20 
  • Water and dust resistant to IP67 for the LW20
  • Long measuring range beyond 100 m
  • High speed readings up to 678 per second
  • First and last signals measured with each reading
  • Encoded laser pulses for multiple systems
  • Serial or I2C interfaces compatible with 3.3 V or 5 V systems
  • Low power consumption with power saving mode


  • Distance measurement
  • Laser altimeters for small or large UAVs
  • High reliability systems using redundant sensors
  • Scanning laser systems for mapping or obstacle sensing


Model number                                               LW20                  SF20
Maximum range [m / ft]                               110 / 360             110 / 360
Minimum range                                              ~ 0                      ~ 0
Maximum update rate [rps]                           678                      678
Resolution [cm]                                               1                          1
Accuracy [cm]                                                ±5                        ±5
Weight [g / oz]                                            20 / 0.7                 10 / 0.35
Dimensions [mm]                                      20 x 30 x 35          20 x 30 x 32
Housing material                                       Aluminium             open frame
IP rating                                                         IP67                       --
Operating temperature [C]                         -20 .. +60               -20 .. +60
Power supply [V]                                        5 ± 0.5                   5 ± 0.5
Operating / standby current [mA]              170 / 45                  170 / 45


1. Maximum range is measured against a stationary, large white target in full sunlight at 84 readings per second

2. Maximum operating temperature depends on suitable airflow or heat sink

LightWare Optoelectronics (Pty) Ltd  is an ISO9001 certified manufacturer of laser products for UAVs, industrial, aircraft and other applications. The attached information is subject to change without notice.

Read more…


We get lots of help requests from customers trying to configure the PixHawk and other flight controllers that are running ArduPilot software. The existing configuration interfaces, such as those found in Mission Planner, can be confusing, even for experienced users. We've introduced a "drone configuration" tool into our free Terminal Application (Rev 1.1.2) that provides a simpler interface to hook up our laser altimeter products.

The drone tool supports all the available protocols (serial, I2C and analog) for each laser product family manufactured by LightWare and provides live feedback of the rangefinder data to make sure that the connections are working correctly.

Some of the key features of the Terminal Application drone configuration tool include:

- Automatic detection and identification of the flight controller

- Drop down selection of the LightWare product

- Drop down selection of the interface type

- Automatic default configuration settings with user override

- Live feedback of the rangefinder distance data

The drone configuration tool will be expanded to cover future products such as our miniature scanning LiDARs for collision avoidance and mapping. Other tools in the application provide direct communication between a PC and a laser altimeter through its built-in USB port. This allows settings to be entered directly into the laser if the default values need to be changed for any reason. These changes can be made without needing either a power supply or a connection to the flight controller.


[Please note that the communications protocol between the LightWare Terminal application and an ArduPilot based flight controller is not MavLink, so it may not be directly compatible with all of the MavLink based controllers that are out there. Yet ;).]

Read more…


SUAS News posted an article today about the Kespry Drone 2.0, a commercial drone that is advertised as requiring minimal human input during a mission. It has a forward looking LiDAR sensor specifically for obstacle sensing and collision avoidance. This might be that first commercially available drone to have LiDAR as standard equipment.

Looking at their website, I see that Kespry is offering cloud services to go with their new drone. This fits nicely into the business model that CA has suggested is essential for the long term sustainability of a modern drone company. Lasers and cloud services, I wish I'd thought of that! 

Read more…


With a range in excess of 100m and able to measure over water, the SF11/C is the most cost effective laser altimeter for drones on the market today. Compatibility with Pixhawk and derivative flight controllers and its multiple interfaces including serial, I2C, analog and USB make the SF11/C the easiest plug-and-play solution for altitude holding, terrain following and safe landing.

The SF11/C was developed to handle the unpredictable real-world conditions that sensors face when attached to a drone. Environmental factors including vibration, wind, noise, temperature fluctuations and extreme contrasts in lighting from brilliant sunshine to pitch dark are all managed by the SF11/C, and whilst all this is going on, the SF11/C measures to rapidly changing terrain, giving stable results over wet and dry surfaces without producing false readings.

Tests conducted by the Center for Research into Ecological and Environmental Modeling at the University of St Andrews in Scotland demonstrated the abilities of the SF11/C over wetlands and open water. Their requirement for consistent results under these difficult conditions were easily met by the SF11/C, contributing to important conservation work.


An important characteristic of the SF11/C is its long measuring range. This is especially useful during changes of roll or pitch angle. Data from the IMU is used to correct for geometric effects during such maneuvers, but this only works correctly when there is valid measurement data from the laser. The long measuring range of the SF11/C makes this possible as you can see from the graph below.

The green line is the roll angle, the purple line is the barometric height referenced to sea level and the red line is the uncorrected, AGL altitude from the SF11/C. During tight turns the measured distance increases significantly but the long range capability of the SF11/C keeps the ground clearly in view. 



More details about the SF11/C can be downloaded from the website. The SF11/C is manufactured by LightWare Optoelectronics (Pty) Ltd based in South Africa. LightWare has been designing and manufacturing laser altimeters for the drone market for 5 years and is committed to providing high quality products to the industry. The official distributors in the USA are Parallax and Acroname.

Special thanks go to the dev team for their contributions to the driver software and Tridge for his tireless and occasionally incendiary flight testing ;). 

Read more…


The SF40 controller board

In systems that need precise timing and accurate waveform generation it is sometime necessary to separate out the time-critical elements from the non-realtime processing. Even though interrupts and realtime operating systems can improve the timing response of a processor system, microprocessors are fundamentally sequential execution devices which makes it very difficult for them to transition rapidly between different time critical operations without introducing unpredictable delays. Also, unexpected software excursions to service rarely used routines can leave time sensitive peripherals hanging.

As an example of a time critical system, the SF40 LiDAR has to synchronize the precisely timed data stream from the laser with the position of the motor. At the same time, alarm updates and requests for navigation information from the flight controller introduce asynchronous demands on the processor.

The SF40 includes a three phase brushless DC motor to drive the laser sensor. This motor needs three, pulse-width-modulated (PWM) signals to synthesize the 120 degree phase shifted sine waves needed to produce the right magnetic field patterns in the motor. Whilst hardware PWM generators are now common on most microprocessors, they require software intervention to change their pulse width values and things start to get busy if you want to produce continuous, high resolution, smooth rotation in the motor. Adding in active control of the motor speed (5:1 control) and torque (100:1 control) and compensating for changes in battery voltage (6.5V to 30V) makes driving the motor even more complicated.

The SF40 separates out the non-realtime microprocessor functions from the real-time signal generation needed to drive the motor. It does this by combining FPGA fabric with an ARM Cortex-M3 microprocessor subsystem (MSS) in a SmartFusion chip from MicroSemi.

The MSS has numerous hardware resources that unload the processor from actions like buffering communications with the flight controller whilst simultaneously allowing interrupt driven communications with the laser.


The microprocessor subsystem

The MSS has a clock conditioning circuit (CCC) with a number of different clock signals that can be configured to give the best PWM frequency, processor clock speed and in this case there is also a clock to drive a servo.


The clock conditioning circuit

The MSS also has an analog co-processor engine (ACE) that continually monitors currents and voltages around the system as well as filters and rescales them. The ACE runs autonomously so the processor only needs to ask for the results whenever it needs them.


The control panel for the analog computing engine

The MSS is connected to the FPGA fabric through direct port pins and an APB (advanced peripheral bus). The functional components within the FPGA fabric are made up using standard library parts and custom VHDL modules.


Top level architecture of the SF40

One of the key items in the architectural diagram is a two port RAM embedded in the FPGA fabric that allows the processor to create and store the high resolution, three phase waveforms needed by the motor. The RAM is initialized by the processor and thereafter the motor driver module in the FPGA fabric reads the waveforms as fast or as slowly as necessary to drive the motor at different speeds. Using the RAM in this way allows for on-the-fly changes in modulation depth which lets the SF40 maintain constant torque at different motor speeds and power supply voltages. 


VHDL code for generating precise PWM waveforms

By combining the hardware controls in the FPGA fabric with software running in the MSS, the SF40 is able to have the best of both worlds in terms of precise timing and waveform generation along with lots of asynchronous processing capacity. IMHO, this type of architecture should be used more often whenever reliable interaction is needed between high performance processing platforms and the real world :).

Read more…


The SF40 - upside down :)

The SF40 is a smart sense-and-avoid system that detects obstacles near autonomous vehicles and determines the safest route past them. On-board data analysis reduces the need for complicated processing by an external computer. The built in analytical tools can sense the presence and position of obstacles and locate gaps and spaces with sufficient clearance for safe navigation. Hard-wired alarm outputs make it easy to interface the SF40 with conventional flight controllers and a serial port connection allows for greater interaction when navigation becomes more complex.

How the SF40 works

The SF40 uses a scanning laser rangefinder to measure on a 360 degree disc with a radius of 100m. Collected data is stored in memory and continually refreshed as the laser scans around. The speed of rotation can be set from 1 to 5 revolutions per second corresponding to different measuring resolutions of between 0.03 and 0.25 meters. Time critical functions are managed by an FPGA leaving the 32-bit Arm Cortex-M3 processor to handle the data analysis and monitor system performance and reliability.

Data analysis takes place asynchronously from the data collection so that numerous independent calculations can be carried out very quickly. An analytical tool kit provides the framework for making navigation decisions. Some of the tools run autonomously, such as alarm conditions that are evaluated continuously without the need for intervention by the flight controller. Other tools answer high level navigation questions such as “Is it safe for me to change direction?” or “Which way should I go now?” Tools can be used sequentially and in combination with the situational and internal status information to create sophisticated macros that can handle numerous mission requirements.

Here are some of the navigation tools:

  • Alarm zones - autonomously monitors preselected areas to warn of any obstacles
  • SearchLight - checks that an area is clear of obstacles before a direction change is made
  • Navigator - finds open pathways between obstacles
  • Mapper - provides all the distance measurements in a specified region
  • VirtualLaserRangeFinder - measures the distance to a target in any direction

Alarm zones

Seven configurable alarms zones can be set within the measuring plane to alert the vehicle when an object gets too close. Each zone can be set with an individualized alarm distance, angular width and aiming direction. For example, one zone could cover 360 degrees around the vehicle at close range to alert when people get too close to the moving parts. A forward looking alarm zone can be used to detect obstacles in the direction of motion. Other alarm zones can check that specific directions are clear of obstructions before course changes are made.

The status of the alarms can be read from the serial port and any two alarms can be linked to the hard-wired outputs. The alarm zone definitions are stored in non-volatile memory making them available immediately when power is applied. Once the SF40 is running the alarms are updated continuously without the need for any external commands.


Two alarm zones are overlaid on the SF40 data:

red = 360 degree safety zone, yellow = forward looking alarm zone

In this case the forward alarm has been triggered by an obstacle.

Checking corridors using SearchLight

The SearchLight tool answers two navigation questions. The first is, “Can I safely change to a new direction?” The second is, “Where is the closest obstacle in that direction?”

SearchLight checks that a corridor is clear before the vehicle changes direction. It can be aimed in any direction on the measuring plane and the beam divergence adjusted to cover the width of the corridor of interest. SearchLight finds the closest obstacle within the corridor and reports its distance and angle from the present flight path.

SearchLight is used to confirm that direction changes are safe before they are made rather than waiting for the alarms to warn that a hazardous situation has arisen after the direction change has been made. Several SearchLights can be used together to triangulate the vehicle’s position between fixed objects and wide beam SearchLights can be used to check for clearance in different quadrants.


The flight controller has responded to the forward alarm by asking SearchLight (green) to look

for space at 45 degrees to the right of the flight path. SearchLight has found obstacles

along the proposed path and warns the flight controller.

Finding clear pathways using Navigator

The Navigator tool answers the question “Which way can I go now?” It examines a specified region and finds the direction of the clearest pathway. The results can be used to direct the vehicle into open space and away from obstacles.

Navigator can be run at any time or activated when a forward looking alarm zone detects an approaching obstacle. The flight controller can configure Navigator with a directional bias so that the recommended escape route is away from known hazards. This can be useful during search and rescue missions when flying close to a cliff face. A bias away from the cliff face would be the safer option.


The flight controller asks Navigator to search in the right front quadrant for an escape route.

There is one safe passage that is clear for 45 m.


The flight controller wants to get further away so it asks Navigator

to find a better corridor in the front left quadrant. Navigator finds a

65m long corridor centered 84 degrees left of the current flight path

Holding station using the VLRF

The virtual laser range finder (VLRF) tool is used to find the distance in any direction on the measuring plane. VLRF can assist with keeping station at a fixed distance from a target or measuring how far away an obstacle is. Any number of VLRFs can be created that aim in different directions. This allows for accurate position holding within a confined space and provides confirmation of GPS location using buildings or other known structures as reference points.

Mapping an area

The Mapping function provides detailed two dimensional maps in polar coordinates of a specified region. These maps can be analyzed by the host controller so that additional measurements or navigation decisions can be made. This is a conventional SLAM mapping feature that won't be needed on most missions.

System capabilities

In addition to collecting and analyzing data from the scanning laser, the SF40 continuously monitors the status of internal systems and the status register can be read by the host controller. System status checks include monitoring the battery voltage, the smooth running of the motor and the correct functioning of the laser. Status flags can be linked to the hard-wired alarms to provide a warning of critical system faults, such as the battery running low.

There is provision to control an external servo motor that can be used to position the SF40 or for any other purposes. The end points of the servo can be trimmed to allow for precise positioning using commands sent through the serial port.

A spare digital input is continuously monitored and its state is reflected in the system status register. This input can be linked to a hard-wired alarm and read using the serial port. This could be used as a landing switch indication.

The SF40 includes a high performance motor controller and efficient power supplies that allows it to run from different battery types and voltages ranging from 6.5 V DC up to 30 V DC. The power consumption is constant at 4.5 Watts.

I hope you enjoyed this brief update :) LD

Read more…


Drones have become an important tool for conservation work and we have seen them applied in game counting in Kenya, seal monitoring in the Arctic and for anti-poaching work in Southern Africa. One area of particular interest is in getting accurate size measurements of animals without direct human contact. LightWare has been assisting conservation groups with laser altimeters to improve the scaling accuracy of photographs taken from both drones and full size aircraft.

We recently did some work with the Center for Research into Ecological and Environmental Modelling at the University of St Andrews in Scotland. Their requirement was particularly demanding as they needed to fly over sandy beaches, wetlands and the sea in order to capture their images. Using a laser altimeter under these conditions is very challenging as water tends to absorb the laser light and scatter the remaining signals away. Initial test flights over the beach pictured above were done with one of our standard SF02 lasers and gave the following results:


You can see that the laser continuously loses signal when operating at around 30 m above the beach. The lost signal is shown as a reading of 40 m as defined in the recorder. There are periods of several seconds where the reading is lost completely.

The conventional solution to this problem is to use a higher power laser system with larger optics, but in this case we didn't want to add any extra weight. So we decided to go back to the drawing board and develop a new way of handling the intermittent signals, as well as improving the sensitivity of the laser detector. The results are shown below:

3689671601?profile=originalIn this test the drone was flown over rock-pools and out over the ocean. You can see that the results are dramatically better, with no loss of signal recorded right up to the 40 m recorder limit. Additional tests have shown that the improved capabilities over water have also lead to greater altitude measurements over solid ground with distance readings in excess of 120 m possible.

Tests are continuing with this new product, called the SF11, and a limited number of "beta" units are available to the public at a price of $249.00. Contact Tracy at: for further information.

Read more…


The SF00 long range laser altimeter

Measurements of the height above ground up to and beyond 250m (820 feet) provide important information to many different types of aircraft. For commercial and military drones operating beyond line-of-sight or light aircraft and helicopters operating in uncontrolled airspace, knowing the height above ground is a critical safety requirement. Accurate AGL measurement is also important for precision photographic work in surveying and wildlife conservation.

Our new SF00, long range laser altimeter includes some interesting features that provide high reliability data even under difficult operating conditions. The long range capability can increase the chance of detecting background noise and the requirement for redundancy in critical systems means that the SF00 has to be able to recognize it’s own laser signature against a background of similar signals. Addressing these challenges has lead to significant improvements in laser altimeter performance for mission critical applications.

Under normal conditions the signals detected by a laser altimeter are clean and have a high SNR so measuring the time-of-flight to centimeter precision is no difficulty. In the image below the blue trace shows the “measurement window” during which a return signal is expected and the yellow trace is a typical return signal. Signals outside the measurement window are ignored.


Clean return signals inside the measurement window

In situations where extreme background light and high temperatures are experienced, noise in the form of stray photons or high energy electrons can create interference on the return signal. Internal control systems continually monitor this noise and make adjustments to the amplifier circuits to minimize its effect but there is always some residual noise in the system. Differentiating between this random noise and the return signals is critical to getting stable results. The SF00 does this by performing a statistical analysis on groups of measurements to establish their standard deviation. Groups that contain noise have a higher standard deviation than groups containing clean signals.


Noise due to background light and temperature effects

In high reliability systems it is not uncommon to use two laser altimeters aimed at the same point on the ground. Under these conditions it is possible for one unit to detect the return signal of the other since the lasers have the same wavelength and firing frequency. The SF00 deals with this in two ways:

Firstly, there is a “channel selection” that changes the firing frequency of the laser. This reduces the probability of the return signal from one unit showing up in the measurement window of the other. However, there is still a finite probability that a subharmonic of the different firing frequencies will continue to permit crosstalk.

The second approach is to randomize the laser firing frequency. This introduces “spread spectrum” like properties into the return signals increasing the probability of “self identification” whilst giving external signals the properties of random noise, and as mentioned above, the SF00 has a method of identifying and removing random noise.


Cross-talk in a high reliability application

At the limit of performance, it is possible to have a weak return signal mixed with random noise and cross talk from other lasers. The SF00 handles this by adding another layer of analysis that examines groups of results and makes a decision on the most probable altitude. If the probability is too low then it finally surrenders and warns of a lost signal condition.

The SF00 includes USB, serial and analog interfaces along with two set point alarms. Power is +5V at 250mA or USB and the maximum measuring range is > 250m at a resolution of 3cm. 

Thanks for reading, L.D.

Read more…

3689667409?profile=originalClick on the image to run the video.

At the recent InterDrone Expo in Las Vegas we were overwhelmed by interest in our latest sense-and-avoid technology using the SF40 laser scanner. It runs with 100% data saturation and I have discussed the theory behind this device here. Moving from theory to practice, it might be useful to consider the real-world implications of such a system, since creating and managing a set of data that represents the environment around a UAV presents some interesting challenges.

The first is providing high enough data density that relatively small objects such as flag poles, fence posts and small children aren't missed. In the image above, you can see that there is no "angular separation" between the data points which guarantees that even small obstacles will be detected. The laser achieves this by measuring so fast that successive readings overlap (just), in this case about 1800 readings per revolution of the scanner.

The second challenge is to refresh the entire data set fast enough that moving objects aren't missed but not so fast that the host controller is overwhelmed with data. We need to assume that every obstacle is moving because the UAV is probably moving, but we weren't sure what refresh rate would give a "live" feeling to the data. Clicking on the image above should take you to a short video showing the response time to obstacles appearing in the field of view of the SF40 laser scanner.

This "near-real-time" interaction was done at a surprisingly low 5.1 frames per second. The reason why such a slow refresh rate works is because the image doesn't flicker in the same way as a video. Instead, the data is refreshed sequentially as the scanner rotates and each "dot" remains static between refreshes. This is something that the human eye doesn't do because it takes in the entire scene at once and the retinal latency is too short to hold that scene for longer than 1/30 second. However, a processor can follow the data refresh cycle and keep up to date as the data comes in.

Another practicality to consider is the collection and processing of the data without overloading the flight controller. We tested a Pi2 and found that it easily absorbed the data in real-time and even produced the video output that you see above. A further simplification is available in that the SF40 can "geo-fence" the UAV and provide an alarm to warn even the most basic flight controller of a nearby obstacle.

This project has taught us that by optimizing the measuring and rotation rates of the SF40 laser scanner, it is possible to have both 100% saturated sensing and near-real-time refresh rates without overloading the processing capacity of a relatively small flight controller.

Thanks for reading, LD.

Read more…


Small LIDAR (scanning laser) systems can be used for obstacle detection and SLAM from a moving drone. Whilst more work is still needed on the integration of the data from these sensors into the flight software, the theoretical performance can be evaluated based on the specifications of the laser and the mechanical movement.

Ideally, we would like to have an obstacle detection system that has no "gaps" in the data, gaps which might allow small objects to get dangerously close. We would also like each scan of the surrounding area to be updated instantaneously. Of course, these requirements may not be practical or cost effective but it is still useful to know how good a particular LIDAR might be in practical circumstances.

For the purposes of this discussion, I will examine a simple single axis scanner, since these are the most commonly available type of small LIDAR, but the same analysis can be applied to multi-axis or multi-beam devices.

Looking first at the refresh rate of the entire data set, this is determined by the time that it takes the LIDAR to complete a full set of measurements as controlled by the speed of the motor. We can call this rate Frefresh [Hz]. 

Taking the laser measuring rate as Flaser [Hz] we can calculate the point separation, Psep [deg] of each measurement as follows:

Point separation:   Psep = 360 * Frefresh / Flaser

The closer the point separation, the smaller the gap will be in the data that allows obstacles to go undetected. There is always some divergence on the laser beam, so if the point separation is less than or equal to this laser beam divergence then the data can be regarded as "saturated" in the sense that there is 100% coverage and no obstacles will be missed. This means that our first requirement for no "gaps" in the data is surprisingly possible for some combinations of refresh rate and laser measuring rate.

Let's take a closer look at the refresh rate. Suppose that we consider drones traveling at a speed of Vdrone [m/s] where the time taken to stop or take avoiding action is Tstop [s]. The stopping distance, Dstop [m] can be calculated as:

Stopping distance:   Dstop = Vdrone * Tstop

Even if our LIDAR has zero refresh time, it has to be able to measure at least this stopping distance to prevent the drone from crashing. For a longer refresh time it needs to be able to measure further in order to give sufficient time for the drone to stop and sufficient time for a complete refresh of the data. The measuring range, Drange [m] of the LIDAR needs to be:

Measuring range:   Drange = Vdrone * (1 / Frefresh + Tstop)


Let's look at an example:

A drone is traveling at 30kph and can stop in 2 seconds. Can a LIDAR with a range of 25m, a beam divergence of 0.2 degrees and taking 500 readings per second protect this drone from hitting a telephone pole?

We can regard a telephone pole as a small target so to get 100% coverage we would need:

Maximum refresh rate:   Frefresh = 0.2 / 360 * 500 = 0.28 [Hz]

At this refresh rate the required range would be: Drange = 8.3 * (1 / 0.28 + 2) = 46.2 m

This range is further than the LIDAR can measure so the drone might well hit the pole, even if the LIDAR does see it.


I think the most surprising thing about this result is that a LIDAR needs to have BOTH a very fast update rate and long measuring range before it can effectively protect a drone from hitting "small" objects like poles, wires, tree branches and all the things that drones seem inexplicably attracted to. It is for these reasons that we have been working on long range, high speed laser modules that can be built into LIDAR systems. The SF40 LIDAR pictured above (SF40 web page) uses an SF30/C laser module (SF30/C web page), so how good will its performance be in practice?


As a second example, the SF40 LIDAR is configured to measure at 10kHz and rotates 5 times per second. The laser module can detect thin wires at 25m, poles at 50m and walls and trees at 100m. If a drone can stop in 2 seconds, how fast can it fly and still safely avoid an unexpected tree?

Point separation:   Psep = 360 * 5 / 10000 = 0.18 degrees

This means that there is 100% saturation and no gaps in the data, so even small obstacles will be detected.

The maximum safe speed of the drone: Vdrone = 100 / (1 / 5 + 2) = 45 m/s (164 kph)

How fast could this drone fly without hitting a power line? 

The maximum safe speed of the drone: Vdrone = 25 / (1 / 5 + 2) = 11.4 m/s (41 kph)

This result suggests that the SF40 LIDAR will work well for both high speed operation, where large obstacles might be encountered, or slower speed operation closer to small obstacles.


Fly safely :) LD

Read more…


Laser range finders can be very effective in detecting even small obstacles at long distances from a moving UAV. To cover large areas the laser beam is usually scanned by direct drive or using mirrors. As an alternative to this approach, we present a multi-beam solution that has no moving parts and is therefore smaller and lighter than a scanning system. This new configuration, called the SF33, is ideal for "forward looking" obstacle detection along the flight path.

Starting with the electronics from our SF30 laser module, we added two additional laser sensors into the existing housing to create the 3-beam pattern that you can see in the picture above. These beams have 5 degrees of angular separation resulting in a fan shape that spreads out with distance. The beams can be arranged to give either a horizontal or a vertical pattern depending on how the housing is oriented, or they can be aimed 45 degrees downwards to give a "look ahead" indication of both obstacles and rising ground.

The SF33 is scorchingly fast so we are able to measure by cycling through each beam in succession to get independent distance results. In our prototype we set the cycling rate to 3000 times per second so that each beam could detect power lines from a UAV moving at 60 kph.

The "elastic band test" has become the benchmark for high speed obstacle detection, so we subjected the multi-beam laser to this indignity. We were expecting the elastic band to be detected three times as it passed through each of the three beams.

In the 'scope image below, the orange trace gives the distance as an analog voltage and the blue trace is a digital alarm signal that goes low when an obstacle gets too close. You can clearly see three sets of alarm events, one from each beam, as the elastic band shoots past.


We also need to consider that the beams are cycling 3000 times per second, so as the elastic band passes through the first beam, the second and third beams are still checking for other potential obstacles. This effect manifests as "gaps" in the alarm signal as can be seen in the zoomed-in traces of the first set of alarm events.


In this image, the three beams cycled 12 times as the elastic band traveled through the first beam. The alarm signal shows a 1:3 mark (low) space (high) ratio as beams 2 and 3 interleave their measurements with beam 1. A similar picture was produced by the elastic band as it traveled through the other beams.

The elastic band test clearly demonstrates that the SF33 multi-beam laser has adequate speed to detect obstacles with a high relative velocity and we have confirmed a useable range of around 50m when measuring to larger obstacles.

At this stage of development we can still make hardware and software changes. I know that a number of forum members have experimented with obstacle detection using lasers, so any suggestions on how to integrate multiple distance readings and alarm events into a meaningful communication message to the flight controller would be most welcome.

Special thanks to Jordi Munoz for his support and technical input on this project.

Read more…


We've been working on a laser scanner that is light enough to be carried by a small drone. Click on the image above to see a short video of the scanning action. This prototype is based on the SF30/C and an extremely lightweight motor drive. Four slip rings are carrying power, alarm and an analog image that is updating at 2000 readings per second. The unit gives saturated laser coverage to detect even narrow obstacles.

The 'scope trace below shows the distance (yellow) and alarm (blue) outputs for a 360 degree scan. Straight forwards is in the middle of the trace.


The alarm has been set to pick up the four narrow poles spaced around the center of the scan. The unit can measure out to a radius of 100m and draws less than 500mA at 5V during operation. Interfacing is easily done by either monitoring the digital alarm or collecting analog results in order to draw SLAM maps.

This scanning laser can be used for accurate positioning in complex indoor or outdoor environments or for obstacle detection whilst the drone is operating close to the ground.

We will be packaging this prototype over the next few months and plan to release it with a retail price of US$999.00

Read more…


The SF30 laser range finder module has been designed to detect all kinds of different obstacles from a moving UAV. The most difficult obstacle to detect is an overhead power line because of its small diameter and dark color giving it a very small "laser cross-section". Add into this mix the issue of moving past these lines at speed and the real magnitude of the task becomes apparent.

In this test we drove under 5 groups of overhead power lines at 60km/h with the SF30 pointing directly upwards into the bright African sky. We used a laptop to record the results and limited the update rate to a relatively slow 1144 readings per second so that the USB comms and file storage could keep up. Measurements were taken in "snapshot" mode, meaning no averaging or filtering, and the resolution of the SF30 was set to 0.25m


Data was logged using the LightWare Terminal app and the objective was to detect the presence or absence of the overhead power lines. Graphing the results shows the five groups of cables as hoped for, and we labeled these 1 to 5 from left to right:


The first surprising result was that the SF30 was not only catching the main power lines, but it was also picking up the static lines at the top. This is a much thinner cable that is used for lightening protection. We were also surprised to see that the height above ground of the cables varied quite a lot between the pylons and even within a group on the same pylon.

When we zoomed in more closely, we noted a strange thing in some places in the data:


The first group of results near the top of this data set were from the static line but the main line appears near the bottom as two distinct groups of data. So we drove back to the site to check out this result and here's what we saw:


The main power lines appear to be in pairs when viewed from below and you can clearly see the static line just off to the left (we were driving from left to right under the lines).

We then examined more of the data and found another unexpected result in some places:


Here we could see three sets of data from the main power line. So back we went and took some more photos:


The power lines on some of the pylons were in groups of three. There were in fact two pylons with the three strand configuration. We found that pylons 1, 2 and 5 had groups of two power lines whilst pylons 3 and 4 had groups of three power lines. 

We were blown away by the ability of the SF30 to capture such detailed information about the overhead power lines, even though it was running relatively slowly. In a real situation, the SF30 can take 36633 readings per second and would get more than 200 readings from each individual power line when traveling at 60km/h. You can find more information about the SF30 here.

Read more…


Developing a new product starts with a pretty clear idea of what you expect the finished thing to do. Mathematically, you can can work out the expected performance and logically you can understand how this performance translates into useful applications. But I'm always fascinated by the qualitative feel of a product, that intangible experience that makes you think "Wow, that is so cool!"

I'd like to share a few experiences that I had during the testing of our new SF30 laser range finder. We decided to make a laser sensor that could measure so fast that even narrow obstacles like overhead power cables could be detected reliably, even from a moving UAV. Additionally, we wanted the SF30 to produce high density point clouds when used in a scanning system. We felt that without this high level of performance, reliable obstacle detection and collision avoidance would be impossible.

Quantitatively, we knew that the SF30 could measure 36633 times per second. What we didn't know was how that "felt" in practice. The yellow 'scope trace above shows the data output from the serial port of the SF30. The baud rate is 921600 and on the blue trace you can see a synchronization marker.

Looking at this high speed data stream for the first time, we couldn't get a feeling for what an obstacle with a high relative velocity would look like. We were also concerned that there weren't many embedded processing platforms available that could make obstacle detection decisions within the 27 microseconds between readings, whilst flying a UAV.

So we added an old fashioned analog output with an alarm that has a programmable activation distance. In the image below the yellow line is an analog representation of the measured distance and the blue line is an active low alarm that warns of a close obstacle.


Qualitatively, this is a much clearer picture of an obstacle than the earlier data stream and we can see that the obstacle was in front of the SF30 for about 4 milliseconds. So here's the cool part. The obstacle is an elastic band flicked at full force through the laser beam. The band was traveling at about 20 meters per second and the SF30 hit it 137 times.


My immediate response to this result was - this is going to work! My intuitive understanding of what it takes to hit a small obstacle from a fast moving platform is that you need to hit it lots of times to be absolutely certain that it is a real threat. Hitting the fastest thing that I could find 137 times is just amazing.

Of course, the next issue is how the host controller is going to catch a fast alarm signal. Certainly much more easily than a fast data stream but how about latching the alarm until the controller is ready to acknowledge it? In the image below, the blue alarm line has stayed low after the obstacle detection event. The alarm is reset by a command from the host sent through the serial port.


So now we end up with a remarkable solution to detecting obstacles that have a high relative velocity. On the one hand, the SF30 can measure even small obstacles many times no matter how fast they are moving. On the other hand, a simple alarm signal can warn the UAV about the presence of an obstacle without occupying all the processing capacity of the flight controller.


Read more…


Today LightWare Optoelectronics released the SF30/B obstacle detection LRF that updates at an astonishing 36633 readings per second and has a range of 50m in all lighting conditions. The introductory price of the SF30/B is just US$350.

The SF30/B is the latest light weight laser product from LightWare designed specifically for use in unmanned vehicles. It includes both a serial port and analog outputs along with a micro USB port for configuration. The update rate, resolution and baud rates can all be set to suit most types of aerial and ground based applications.

The SF30/B is designed to operate either stand-alone as a conventional LRF or it can form part of a scanning LIDAR system to create two dimensional or three dimensional maps. The very fast update rate of the SF30/B makes it ideal for locating potential hazards along the flight path of a UAV and the 50m range gives the flight controller plenty of time to take evasive action.

Additional products in the SF30 family include the SF30/C with a range of 100m for use in larger UAVs, helicopters and light aircraft. LightWare also manufactures the SF10 range of precision AGL altimeters and the popular SF02 LRF. For more information visit

Read more…


LightWare Optoelectronics (Pty) Ltd is pleased to announce that the SF30/C high speed laser sensor is now available for pre-order. This lightweight (35g) LRF uses time-of-flight technology to detect obstacles as far away as 120m at the astonishing speed of 4000 readings per second.

The SF30/C offers both a serial port and an analog output allowing the end user to choose between a high speed communication protocol or a much simpler analog comparator circuit to recognize the presence of obstacles within a predetermined distance. As with all LightWare products there is also a USB configuration port for entering settings and testing the unit.

Designed for fixed wing and 'copter platforms, the SF30/C can be used in a single or multiple unit configuration, or added to a gimbal, servo or stepper platform to form a scanning LIDAR. It has been optimized for fast measurement so with a resolution of 0.25m it nicely compliments the SF10 precision altimeters already available from LightWare.

The SF30/C is currently undergoing final testing and certification and will be available to the public from May 2015 at a price of US$850.00 (excl. shipping and duties).

Thank you to everyone at DIYDRONES who contributed to the design of this product through your critical feedback and practical suggestions. Please contact Tracy at if you are interested in this product.

Read more…

Wide angle laser beams for anti-collision



Wide angle laser beams can detect and measure the range to people, trees and other safety critical objects from moving aerial or ground based platforms.

We've been experimenting with a new version of our SF10 laser altimeter to see what happens when we change the normally narrow, parallel laser beam into a wider, fan shape and align it horizontally or with a downwards tilt. There is a practical limit to the wide direction (major axis) of about 30 degrees but any angle from zero to thirty degrees is attainable. The best combination of range and sensitivity is found using a 10 x 3 degree beam pattern that can detect a person more than 10m away.

The two pictures above show the SF10 laser unit and an example of the modified laser beam pattern. The intensity, and therefore the detection sensitivity, is pretty uniform across the beam so even obstacles right at the edges give a good return signal. We're using time-of-flight technology to work out the distance and the unit has I2C, serial and analog interfaces.

The real purpose of this blog post is to ask the knowledgeable members of this forum for feedback about possible applications for wide laser beams, used either stand alone or in multiples. I admit that this is not going to be the ideal solution to every problem. Instead, I hope to use your feedback as a sanity check to see if we're going in the right direction with this technology.

Thanks, LD

Read more…

The A B C of laser altimeters


The SF10 family of laser altimeters was designed by people on this forum. Requests for new features and numerous emails about performance and applications has lead to the development of a compact, light weight, rugged design that can be used in many UAV applications.

We've produce three different versions, each with the same features but having different measuring ranges and representing three broad categories of application - close to the ground, intermediate flight operations and maximum legal altitude. The picture below gives an idea of where we see the different products being used:


We've matched the cost of available technology to the different operating requirements of small and medium scale UAVs, and the table below shows how we've managed the trade-off between price and performance:

                  Model           Laser                         Detector                          Maximum range          Price

                 SF10/C      High power         High performance APD             >120m                      High

                 SF10/B      High power               Standard APD                       >55m                       Medium

                 SF10/A      Low power                Standard APD                       >25m                        Low

In all models of the SF10 we've kept the energy of the laser pulses very low, making them Class1M - safe for human eyes, and because we believe in high reliability, all models have narrow band optical filters to cut out background sunlight.

Other standard features on all models include:

  • USB port for entering configuration settings
  • I2C bus with configurable address
  • Serial port with configurable baud rate
  • Analog output with configurable ranges
  • Offset trim to match airframe

The team at LightWare would like to thank the hundreds of customers who have contributed to our ongoing effort to improve laser technology for UAS applications. We're having fun, I hope you are too!


Read more…