Arduino Laser Rangefinding in Recreation Ecology: Lightware AL_01 Kit

AL_01 laser head assembly, rear view
AL_01 laser head assembly, rear view.  Note the Sparkfun visible laser mounted to the ranging head block for aiming.

My research group is furiously hammering away at some custom field instrumentation. I thought I’d put down a few thoughts on how it’s going. Currently we’re focused on a data-logging laser rangefinder instrument custom built around the Lightware Arduino kit, AL_01. We received two units freighted from South Africa a few weeks ago.

Dr. Park’s Enthusiasm Rating: 9.8/10

Unboxing the units revealed a laser emitter and sensor mounted into a solid block of milled aluminum(?). The construction seems solid–important because these aren’t intended for laboratory use. Fieldwork is what recreation ecology is all about. The emitter and sensor are ribbon-cabled to a laser control shield sized for the Arduino Uno board. Right away we switched to an Arduino Mega board; the Uno’s program memory space is quickly filled by the libraries you need to drive the laser and log its data.

As it turns out, the AL_01 is a pretty capable “pro-sumer” laser rangefinder.  It occupies that space between the el-cheapo $20 parallax (the method, not the brand) rangefinder kits and the $1000+ pro grade gear that, frankly, are harder to wire up and get going.  The 40m advertised ranging worked fine in direct sun.  That was a real worry for us, since our fieldwork happens in all sorts of awful outdoor conditions.  It’s the reason why we decided against hacking a Microsoft Kinect for its ranging + color imagery sensors.

The AL_01 is difficult to aim by hand outdoors, so we stuck a Sparkfun red laser card on the rangefinder’s head unit.  No more problems with that, although the red laser is a higher class laser (IIIA vs. the AL_01’s IM), so we won’t use that in field applications where bystanders could (somehow) possibly get injured.

Since the unit is factory-calibrated, we had to set the EEPROM configuration by hand, just as described in the instructions.  On the UNO, this had us up and running with the laser rangefinder very quickly–with one gotcha.  In the EEPROM settings menu (transmit “e” over serial/teminal connection to open the config menu), the settings addresses are presented as two digits (e.g., “10”) but are indexed as four digits long each. So, you have to type “0010” when you mean “10”.  Similarly with the EEPROM values assigned to each setting, though in this case the values are 15 total digits.  So, you have to enter “000000000000130” if you intend to save “130” as the EEPROM value.  This caused some confusion, but once we figured it out, we were good to go.

Dealing with Tracy Portman at Lightware via email has been wonderful.  The responses are fast, within 24 hours, and detailed without getting in too deep.  Initially when we placed the order, I had

The instructions issued with the AL_01 kit

reservations; they transact through Paypal and we got a friendly and polite note saying the order had been received, but that delivery would be delayed some time due to a strike among transit workers (used to ship packages).  My first thought was, ‘ah, crud, I’ve been scammed.  I’ll never see that thousand dollars again.’  (Paypal is notorious about tying up funds when in dispute.)  However, the units arrived soon enough in good order, carefully packed in bubble wrap, instructions included with a hand-noted calibration chart (nice!!).  No complaints at all.

Anyway, we ran out of program space on the Uno (32K ain’t what it used to be), so we switched it to the Mega board and… nothing.  Looks like we need to reconfigure the SPI settings for the laser controller and the SD card to play nicely with each other and with the Mega.  We’ll keep you posted.  😉