SICK LMS-200 / LMS-291 LIDAR Laser Scanner RS-232 Interfacing with UBUNTU & R.O.S.

Ability to scan 180 Degrees. A motion control Jig must be built and calibrated to scan 360 Degrees.
Ability to scan 180 Degrees. A motion control Jig must be built and calibrated to scan 360 Degrees.
Setting up my newly repaired SICK LMS-200 LIDAR laser Scanner.
Setting up my newly repaired SICK LMS-200 LIDAR laser Scanner.

Join the SICK LASER SCANNERS Yahoo Group Today!!

If you are reading this because you have recently purchased a used SICK LMS Laser and are having some issues getting it to communicate over RS-232 or RS-422 then the info below may be of help to you.

EDIT: I recently received some very important info from a fellow User by the name of “Joe” who made several posts here on my Blog within the comments section regarding the LMS lasers being stuck in the RS-422 500k Baud rate mode and how he managed to reset it to RS-232 9600 Baud.

JOIN THE “SICK LASER SCANNERS” Yahoo Group today:

https://groups.yahoo.com/group/SICK_LASER_SCANNERS

 

This seems to be a re-occurring issue for many users. I just wanted to add it directly here in my Original Post to save people some time locating this crucial info.

Here is a Quote from Joe’s Post:

———————————————————————————————

Regarding SOLDERING UP YOUR OWN CUSTOM RS-232/RS-422 COMMS CABLE:

The reason that all of our sensors are “stuck” in RS-422 500k mode is not some kind of failure, but because there is a message that can be sent to the laser to permanently change the default baud rate. If the default is set to 500k baud, then you have no way of changing it back unless you have an RS-422 cable.

For the RS-422 cable Pinouts: “In the quick start guide they have the positive terminals on the LMS side going to the negative terminals on the PC side, which is wrong – should be positive to positive, negative to negative. It’s a bit weird that I was able to receive data with the polarity reversed, but not transmit – my guess is that the adapter I have does not care for polarity when receiving.

Wire your cable according to the full manual (not the quick start guide – that diagram is wrong). If you’d like to reset it back to RS-232 mode, send the following commands from any decent serial terminal viewer program at 500000 baud:

$02 $00 $0A $00 $20 $00 $53 $49 $43 $4B $5F $4C $4D $53 $BE $C5

This command puts the laser into “installation mode” where you can adjust certain settings. Note that the chain: $53 $49 $43 $4B $5F $4C $4D $53 spells out SICK_LMS in ASCII which is the default password for SICK lasers. If the previous owner changed the password, then this won’t work.

Then send the following command:

$02 $00 $02 $00 $66 $00 $9C $4E

This command will set the default to 9600 baud.

If you’re having trouble, do a google search for “SICK LMS telegram listing” and you should find a document that describes what all the above commands mean (and much, much more).”

Thanks again for that info Joe. 🙂

—————————————————————————————

Now,

Here are some additional Links to manuals and other ROS software related links to help you all get going using ROS:

Here is is the User’s manual for the SICK LMS-200:
https://www.mysick.com/saqqara/im0012759.pdf

I used the UBUNTU OS on my PC, I then installed The software package called ROS. This is the program that is used to make the system work.
You can find the documentation at this links Below:
http://wiki.ros.org

I used a Plugin for the ROS software called “SICKTOOLBOX” for using SICK laser scanners specifically.
Here is the Link to this Plugin:
http://wiki.ros.org/sicktoolbox

There is also a “Wrapper” / filter that the Plugin uses and that is available at the link below:
http://wiki.ros.org/sicktoolbox_wrapper

To make all of this Run within ROS software using the UBUNTU OS, You can check out this Tutorial page at the link below:
http://wiki.ros.org/sicktoolbox_wrapper/Tutorials/UsingTheSicklms

I hope this will help some of you.

-Gerry

—————————————————————————————–

As for My LMS Project:

I managed to find a “SICK” Brand LIDAR laser scanner on eBay.  I also bought a new  Laser face plate for it as the initial plate had some heavy duty scuffs and scratches from regular factory use.

I had to build a custom RS-232 interface and DC Power cable for the system. Pretty straight forward soldering work and then began the process of setting up the software interface.

After doing some research, I learned about the R.O.S. software package. ROS is  a very popular Linux based software platform used by many College and University Robotics Engineering programs. This software package is available free online. from ROS.org

I managed to configure the software and get the scanner data displayed in 2D as seen in the screen cap below. The plan will be to interface a motion controlled motorized base to mount the scanner to and then try to capture a 3D point Cloud. I realize this is not an easy task… but it will be fun to work at it. A descent challenge.

Fun Stuff!

More to come……….

JOIN THE “SICK LASER SCANNERS” Yahoo Group today:

https://groups.yahoo.com/group/SICK_LASER_SCANNERS

UBUNTU installed running the ROS software package, with a special SICK-LMS200 Plugin.
UBUNTU installed running the ROS software package, with a special SICK-LMS200 Plugin.
SICK LMS sensor RS-232 & RS-422 Pinout and wiring diagram.
SICK LMS sensor RS-232 & RS-422 Pinout and wiring diagram.
DB9 Connector Pinouts for DC Power (24+ DC volts @ 2.5 Amps)  Sensor is able to use both RS-232 & RS-422 Serial Communication.
DB9 Connector Pinouts for DC Power (24+ DC volts @ 2.5 Amps)
Sensor is able to use both RS-232 & RS-422 Serial Communication.

56 thoughts on “SICK LMS-200 / LMS-291 LIDAR Laser Scanner RS-232 Interfacing with UBUNTU & R.O.S.”

  1. Hi Gerry. I just picked up one of these myself, and unfortunately, it’s not outputting data. Green light comes on after initilization, but no data. What was wrong with yours, and what did you do to fix it? Any advice appreciated.

    Rick Armstrong
    Portland, OR

    1. Hi Rick,
      The fact that the green light come on is a good sign. Hardware Problems usually prevent the green light from coming on.
      I’ll bet it is an RS-232 comm issue.

      For my Unit,
      There was actually a few things wrong and it had me scratching my head for a couple of days to try and figure it out.
      It turned out to be a power source related issue.
      There were a number of components I had to change (Transistor/Voltage regulator, capacitors) before the unit powered up.
      After this rework on the bench, the system booted up and the green light came on.

      For your unit it may depend on your Serial interface, if your Green Light is ON, then the unit should be ready to output Data.
      How are you interfacing to the computer, and what OS are you using and what interfacing software?…Drivers ?

      -Gerry

      1. Hi Gerry,

        Interface-wise, I’m using a RS-232 cable, re-wired as a “null modem” cable, i.e., pins 2 and 3 reversed, as described in the manual.

        To talk to the unit, I’ve tried several approaches:

        – Hooked up a known-working USB-RS232 adaptor to an XP box, and tried connecting using the factory LMSIBS software. Verified that the program’s serial settings are 9600 8N1.

        – Booted into Linux, fired up minicom (terminal program), set to 9600 8N1 to watch for the start-up character sequence described by the manual.

        Just now, I hooked up my o-scope to pin 3 and saw something interesting: the unit does indeed fire off a burst of characters on pin 3 at when the green indicator light kicks in, but the signal only swings between -0.75 and +0.75 volts. It /should/ swing twice that much, at a minimum.

        In your exploits, did you happen to see what the output circuit looks like? Maybe I’ve got a failed component on the output side, like a transistor or a borderline electrolytic cap or something.

        Thanks for responding, btw,

        Rick

          1. Gerry,

            Turns out I had a 10x probe connected, so the RS-232 output voltage is actually alright. So, if the manual is correct, the unit should wake up set for 9600 8N1, but I still only get one random character at start-up, as if I’m connected at the wrong baud rate. I talked with the guy that sold me the unit and he said that a previous customer of his who bought one of these had to get an RS-422 adapter to talk to it. It’s almost as if the thing is stuck in RS-422 500k mode. According to the manual, this shouldn’t happen. However, RS-422 adapters are cheap, so I’ll try that, since I’m otherwise stumped.

            Thanks,

            Rick

          2. Hi Rick,
            Nice!!
            Well that’s good to hear. 🙂

            That’s Interesting regarding the RS-422.

            You could also mess around with “Hyper Terminal” and then be able to visually see the data steams… or whatever it’s spitting out… and when.
            There is a downloadable version of the “Hyper Terminal” program for Win7, as they apparently removed it. I downloaded this a couple of months back.

            Anyhow,
            Good Luck with the project.

            Cheers!
            -Gerry

  2. > Hyperterminal…see the data streams

    I’ve used a program called PuTTY for this sort of thing many times; I recommend it highly! Works great on Windows and Linux, and can do SSH, Telnet, plain ol’ serial, all kinds of stuff.

    I’ve got an RS-422 adapter on the way, so I’ll let you know how it eventually turns out.

    Thanks!

    Rick

  3. Gerry i need the circuit diagram of the connection and your idea behind finding the coordinates will be helpful

    1. Hi Khanal,

      The DB-9 interconnections diagram for the RS-232 and DC Power supply wiring is in the Users’s manual. (Page 20)
      I’m Still working on learning how to create the 3d Point cloud within ROS, but I can provide some link that may help get you going.

      Here is the User’s manual for the LMS-200:
      https://www.mysick.com/saqqara/im0012759.pdf

      I used the UBUNTU OS on my PC, I then installed The software package called ROS. This is the program that is used to make the system work.
      You can find the documentation at this links Below:
      http://wiki.ros.org

      I used a Plugin for the ROS software called “SICKTOOLBOX” for using SICK laser scanners specifically.
      Here is the Link to this Plugin:
      http://wiki.ros.org/sicktoolbox

      There is also a “Wrapper” / filter that the Plugin uses and that is available at the link below:
      http://wiki.ros.org/sicktoolbox_wrapper

      To make all of this Run within ROS software using the UBUNTU OS, you can check out this Tutorial page at the link below:
      http://wiki.ros.org/sicktoolbox_wrapper/Tutorials/UsingTheSicklms

      I hope this will help you.
      Good Luck with all your endeavors.

      Kind Regards,
      Gerry O’Brien

  4. Hi

    I have just purchased a 2nd hand LMS 200. I have it connected to a PC via a USB-RS422 converter running at 9600 baud. At start-up the red and orange LEDs are illuminated, after a couple of seconds the orange LED then switches off and the red LED remains switched on. Viewing the response of the LMS 200 in a serial comms viewer (CuteCom on Ubuntu) I can see that it sends the message:

    x02x80x17x00x90LMS200;301063;V02.32 x10{R

    which is the expected response according to the Quick Manual v1.1 (although the {R does not quite match). I believe that a solid red LED only, indicates that one of the fields is infringed. However, I don’t know how to get it out of this mode. Also when sending LMS telegrams, I don’t seem to get a response coming back…

    Any suggestions for what to do?

    Cheers

    Titus

    1. Hi Titus,

      Sorry for the late reply. 🙁

      I would try using a different USB to Serial converter.
      Many other techs I have spoken with… have had issues getting certain converters to function properly.
      Especially when using Ubuntu.

      I had two other units before which were glitchy. I did have some comm activity, but it didn’t work that well.
      The one I am using now I picked up from Startech.com and it’s a USB to RS-232 converter.

      I would try this first if you can.

      -Gerry

    2. I assume you soldered up your own Cable for the LMS200 ?
      Crossing the Jumper pins on the LMS side??

      Just checking as I remember a few people had forgot to do this when soldering up their DB9 connectors.

      Cheers!
      -Gerry

    1. Hi Titus,

      Glad to hear it. 🙂
      Thanks for sharing that link to the USB-to-RS422 adapter.
      What a great resource to have on hand.

      I’ll probably pick one up and give it a try.

      Thanks again.
      Cheers!
      -Gerry

  5. Hey – I recently purchased an LMS-291 off ebay (for $200) – it’s being shipped to me; I don’t know whether it is in working condition or not, but once I get it and hook it up and test it, if I find problems, would you be willing to help me diagnose the issues with it. I know it’s a long shot, and I am asking a lot as a stranger – but I plan to use it for my own UGV project I’ve been working on. I am no stranger to coding, electronics, robotics, or troubleshooting – heck, for all I know the thing might work fine.

    1. Hi crOsh,

      Sure thing!!
      If there is anything I can do to help, I’ll do my best.
      As you can see from the past Posts here… the main issues are 90% of the time fairly simple
      and usually are the result of wire shorts or sometimes an OPEN circuit.

      When you get your unit in…. and if you decide to open the unit up to repair it, please take a Photo Archive of the Disassembly process
      or even Better take an HD-Video with an iPhone or GoPro camera. Both Photo and Video would be the Ultimate.
      This I have found is invaluable when re-assembling the unit.

      Regardless, feel free to make as many posts as you like.
      This is why I made this Blog. :))

      Cheers!
      -Gerry

      1. Ok – thank you! I will definitely do that! First thing will be to see if it works at all, of course. Hopefully it does. If not, then I am going to attempt to find out if it can be repaired (and at what cost) by a “certified” service method (probably will cost way more than I paid for it, but its worth at least asking). Then – break the seal on it (based on the pics from ebay, it does have such a seal) and look into it. I will definitely take pictures and video along the way to help document the process. Thanks for the tip!

      2. Ok, Gerry – here’s where things stand as of right now:

        Today, I hooked up my LMS-291 initially to power (a bench power supply, set it to about 24 volts, and a little over 1 amp of current before cutout). I had a made a cable based on the diagrams I found in the SICK documentation I have.

        Powered up, it started running (mirror spinning) – went through the self-test (first two LEDs on – red and yellow) – then I got the third LED (green) only; from what I could tell from the documentation, that’s what it is supposed to do – should be good to go.

        When I put my hand near the sensor (fairly close) – the green LED turns off, and the red LED turns on – according to the documentation, this is supposed to mean something is tripping one of the sensor “fields” (A, B or C)? What doesn’t make sense:

        1) This only works if my hand is held close – almost touching the front of the sensor (ie – about 45 degrees either side of 90) – and only in the immediate front; the “sides” (ie – towards 0 and 180) don’t do anything.

        2) If I “trip” the sensor about three times – it stops responding; I have to reset the power (turn it off, wait, then on again) for it to work again – if I try three times again, it stops working. This is pretty consistent – but nothing in the docs detail this (unless it is some kind of “saved” configuration from its previous usage?).

        So – after playing with that a bit – and then struggling to get a working Windows box to run the LMSIBS software (I don’t have any recent Windows OS distro – nor a decent box to run it on – all I had that seemed reasonable was a copy of NT 4.0 Server). So – my box is a P2-350 with 256 MB – nothing special at all. It has a couple of serial ports on the MB.

        So I set the BIOS to disable one serial port, and set the other up as 3F8 and IRQ 4 – now, I am not sure this is proper for NT4. In NT, the port seems to be found alright (as COM1 with proper base address and IRQ set). Other settings are 9600, 8N1, flow control=none (not sure if this is OK either).

        I made my cable according to the docs (more on this in a bit).

        When I plug it in – with LMSIBS running – it doesn’t communicate with the sensor. I tried plugging into both of the ports, etc – no dice.

        So – my cable: What I found was that in my documentation – the “technical description” seems to indicate pin 2 as RX and pin 4 as TX on the LMS (with pin 5 being ground). Whereas on the PC, pin 2 and 3 are RX/TX (respectively), and 5 ground.

        But in another SICK document (quick setup manual) – it indicates for the LMS-291 that pins 2/3 are RX/TX on the LMS (same as PC)…?

        Now – I had first tried the first (strange) way – then I tried the second (more logical) way; neither way seemed to work properly. On both configurations, I made sure to swap TX/RX. I need to double check my connections tomorrow – but that said – what is the proper pinout, and why does there appear to be two different pinouts in the documentation?

        Can you tell me or give me a diagram of how the cable is supposed to be wired? I’ll admit that its been a while since I last played with RS-232 cables; I just need a sanity check. I might try playing around with the cable (by itself) tomorrow by bridging the TX/RX pins, and seeing if I can get it to echo properly to validate the port itself is working.

        I know this is TL;DR territory – but I’ve been bustin my butt on this for over 8 hours today – my only intent is to verify it’s operation, then it’s back to being packed away until I need it for my UGV project.

        Thanks for any help or light you can shed!

      3. Gerry, I’m at a loss here. I’m not sure what is going on. My tentative guess is that something is wrong with the serial port on the LMS.

        Here’s what I did today:

        First, I made a (female) loopback plug – put a jumper between pins 2 and 3 (DB9) – stuck it all in a proper hood and such. Fired up the PC with NT – set the serial ports in the BIOS as follows:

        Serial Port 1 = 3F8, IRQ4
        Serial Port 2 = 2E8, IRQ3

        Once I had those set, I saved the BIOS and rebooted to NT. Went into the ports; they had both been recognized properly – though their baud rate was set at 75 bps. So I reset both to 9600 bps. My settings now:

        COM1 (Serial Port 1) = 9600, 8N1, flow control=none
        COM2 (Serial Port 2) = 9600, 8N1, flow control=none

        Saved the settings in NT – let it do its reboot thing to save the settings, when it came back up – I verified the settings were still in place – all seemed good. I also went into the “resources” area to check to verify that there weren’t any hardware conflicts – all that seemed OK too.

        So I plugged in the loopback to one of the ports, fired up Hyperterminal, and set up a communication for COM1, 9600 bps, 8N1, no flow control. Typed something on the terminal; nothing. Swapped the loopback plug to the other physical port – typed – typing appeared! So this would indicate that COM1 and the physical port were working.

        Tried doing the same with COM2 (and moving the loopback to the other physical port). Typing produced nothing; tried various things, but that port appears to be dead (?). But I still had COM1 – which seemed ok.

        So I hooked up the cable I had made to COM1/Serial Port 1. Plugged the loopback into the other end. Reset Hyperterminal to my COM1 session; typed – and typing appeared. So the cable and the port seemed to be working ok. So I decided to hook up to the LMS.

        I left Hyperterminal running (in case any bootup data appeared) – plugged in the serial cable to the LMS, then plugged in power. The LMS booted up, green light – but nothing on Hyperterminal.

        Shut down Hyperterminal, then started up LMSIBS; I let the setup wizard try to find the LMS – but it couldn’t; unable to communicate with the LMS.

        I shut things down, pulled the cable, and inspected it along with the pinouts and everything I had. The only thing that I could see different between my cable and the documentation (specifically in the “Quick Manual” for the LMS-2xx) was that it showed a connection between pin 1 straight thru on either end (though in the diagram, it is marked “not connected”).

        I had not connected that pin (because to me, “not connected” means just that); now the official cable (and what is shown in the “Technical Description” documentation) has pins 1 and 4 on either end crossed (as they are TX/RX for the RS-422 connection). This documentation is confusing; two different documents showing two different layouts for the RS-232 setup, and in one (the “Technical Description”) the pinout grid doesn’t match the pinout diagram. This is making me wonder what is the correct pinout for a custom cable?

        I decided to redo my cable and connect that “not connected” pin 1 on either end. My pinout for the cable (looking at the ends of the cable):

        PC Side (Female DB9):

        Pin 1 – NC (yellow)
        Pin 2 – Rx (red)
        Pin 3 – Tx (green)
        Pin 5 – GND (black)
        All other pins not connected

        SICK LMS Side (Male DB9):

        Pin 1 – NC (yellow)
        Pin 2 – Rx (green)
        Pin 3 – Tx (red)
        Pin 5 – GND (black)
        All other pins not connected

        My cable is custom – My LMS did not come with the special connector blocks, so I made the cable using some DB9 connectors along with hoods, and a piece of four-conductor phone cable. I am pretty certain I have the pinout correct. Since it isn’t working with the LMS, but the loopback with the cable is, that is what is leading me to believe the LMS serial port is at fault.

        What do you think, Gerry? If you need more information or anything, let me know. Thank you.

      4. Gerry,

        Tonight I tried dropping my scope on it. I’m seeing something, but it goes by so quickly I have no idea what it is!

        To make a long story short – I first hooked my scope (a Tek 2213B analog) up to my PC, to pin 3. Settings on the port are 9600, 8N1, no flow control. Started hyperterminal, then mashed down uppercase “U” (repeating bit pattern).

        Tweaking the settings on the scope until I got a square wave of “1010101” – so I knew I was at 9600 baud on the scope.

        Switched over to the LMS; booted it – when the LMS finishes its self-test, and the green LED lights – right at that instance something happens, but it goes by so quickly (and the voltage level differential is small – so not much movement on the output) – all I see is a brief “brightening” of the trace, nothing more.

        I don’t have easy access to a DSO – so I have no idea what it is that is flying by.

        A representative from SICK got back in contact with me; he is claiming that the unit might be in a stuck programmed 500K mode – is this possible? The documentation seems to indicate that LMS-2xx series resets after a power cycle to 9600 bps RS-232? But if what he is saying is true – then what I am seeing very well might be a 500k RS-422 signal, and why I can’t connect.

        What are your thoughts?

        Oh – the rep also provided a “supplement” to the Technical Description documentation that corrects that wiring pinout for the RS-232 port. The quick-start manual was correct; however, I had already made that correction so that isn’t my problem so far.

        He did say that I could send it to him, and he could fix the programming; I am trying to find out what that would cost me, and how long it would take to do.

        Please contact me back if you have any other suggestions. I really want to get this sensor working, if it isn’t borked. And maybe even if it is!

        Thanks!

        1. Hi Andrew,
          Sorry I was out of town, just got in the door.

          Ok,
          So I reviewed all of your posts… my assumption is the same as the Tech from SICK…
          the unit is probably stuck in the RS-422 mode. As this is probably why the signals pass by so quickly on your scope.
          It’s in 500K RS-422 mode “Differential Signaling”. Which is why Pin 1 was tied to Pin 4 this is the sensors Pinouts for the RS-422 “Differential” communications mode.

          Also the default Sensor power supply requirements dictate to use “24V DC at 2.5 Amps”, so I would make sure you have whichever power supply you are using…
          set to have this amount of current available to the sensor. Mine is a 24Volts DC at 2.2Amps and is doable.

          You can also try and remove your RS-232 DB9 connector from the Sensor and bridge a wire between Pins 7 & 8 on the Sensor comm port and
          power it up. This forces it into the RS-422 comms mode. Then power down, remove the Bridge from Pin 7&8 on the sensor, reconnect your RS-232 cable
          and re-cycle the power once again. This sometimes helps cycle between the two modes. (RS-232 / RS-422.)

          If this doesn’t do the Job you can also try attaching a 100K ohm resistor to each pins 7 & 8 on the LMS Sensors COMM port and tying them both to GND.
          This prevents them from Floating. See if that makes a difference in forcing the Sensor into RS-232 mode.

          If that doesn’t work then you would have to investigate the internal Memory or latch circuits that are holding the sensor in RS-422 mode.
          Which I have yet to investigate as I have not had this problem myself. This is probably what the Technician from SICK was talking about resetting for you.
          It might be a simple circuit depending.

          The last option would be to simply order an USB-to-RS422 adapter, which many users have done with successful results.
          The user who Posted just previously to you here on my Blog, had this problem and provided a link to an online store selling these adapters which did work with his LMS sensor.

          Try those few suggestions and let me know how things go.
          Cheers!
          -Gerry

          1. I just finished trying your suggestions of verifying my power supply was adequate (adjusted it for 24 VDC, 2.5A), jumpering pins 7/8 then removing to “force” (no dice), then tried the 100K ohm tie-down on pins 7/8 to ground (along with another “jumper” reset) – still nothing, unfortunately. I’m still seeing the “fast data” (or whatever it is) on my scope.

            I’m going to try sending it over to SICK – the guy I am in contact with said he would reset it as a favor, and make sure it worked. He said it was considered an “obsolete” model (which likely means its EOL’d – which might be why they are popping up on Ebay now).

            FedEx to them isn’t too expensive unless you overnight it (not a chance on my budget!).

            Thanks again for the help; I’ll let you know how things turn out later. Wish me luck!

  6. Hi Gerry,

    I bought a couple LMS-291s recently and I’m having some problems similar to what’s been described above. The green light comes on, and the unit outputs something, but it seems to be just a single character at 9600 baud. From the posts above, I figured it could be in RS-422 mode, but I did a simple test which seems to disagree with that.

    I tested the DC voltage of pins 3 and 4 (I did this because I have no diagnostic equipment aside from a crappy multimeter and was out of ideas) with and without a connection between pins 7 and 8. The voltage seems to change on the pins depending on whether pins 7 and 8 are connected or not, which may indicate that it is changing modes.

    On the other hand, whether pins 7 and 8 are connected or not, there is a non-zero voltage on pin 4, which (I’m guessing) should not be the case in RS-232 mode as pin 4 is unused. I’ve ordered an RS-422 cable, but I worry that it may have been in vain. Any thoughts?

    Thanks,

    Joe

    1. Joe, that sounds real similar to what I was experiencing as well, though I didn’t measure the voltage at pin 4. Pins 1 & 4 are used in RS-422 as one pair, and 2 & 3 as another.

      I’m curious as to whether your seller was the same as mine…? Mine was willing to honor the 30 day DOA warranty he posted – but only if I got it to him by the end of August (since he sent it at the beginning). That doesn’t look feasible for me now, so I am hoping my SICK rep comes through on fixing it.

      Did you try both things that Gerry told me to try? I had no luck with them, but maybe you will? Try the reset with the jumper first, then if that don’t work – do the reset with the jumper, then solder in the 100K resistors from pins 7 & 8 to ground.

      Also – double and triple check your wiring, especially if you haven’t touched RS-232 cable building in a while. For me, it had been over a decade or more, and I was constantly checking and re-checking things. You might also want to verify your serial port settings with a loopback test on both the port -and- the cable. Bridging pins 2 & 3 should be all it takes for an RS-232 loopback.

      As far as the RS-422 cable – my rep at SICK told me to purchase this one:

      http://www.byterunner.com/byterunner/product=name:USB-COMi

      Drivers and such can be had from:

      http://www.vscom.de/downloadcenter.htm
      http://www.vscom.de/623_download.htm

      And the software from SICK for resetting (MST):

      https://www.mysick.com/eula.aspx?type=ZIP&path=saqqara/DC0001967&lang=en

      I have some other files and info you might be interested in that I got from SICK; I don’t know if they will help or not. Send me an email via my website if you are.

      Note that not every RS-422 interface will have the same pinout for TX & RX pairs, etc – so make sure you understand the docs that come with your adaptor and how they relate to the SICK information (I also got an errata to correct the hookup diagram/table in the SICK Technical Description doc).

      Also note that I won’t give out the name of the rep who is helping me; he hasn’t told me that he’ll allow that, nor do I want him deluged with random requests from others. Hopefully, if he is able to get the sensor reset (which as I understand is being done with that USB converter and the MST software I linked to above – so in theory it could be done by anyone), then it will be a good sign that these sensors are indeed stuck in RS-422 mode. He seems to think so, and Gerry thinks it is possible as well – we’ll see.

      I will report back here whatever I hear from my rep when that time comes. The sensor is currently in transit to SICK via FedEx Ground, so it probably won’t be there until the end of the week at best…

  7. Hi Gerry,

    Yeah, I tried a few different terminals, including cutecom and gtkterm on ubuntu and realterm on Windows 7, and they just give me a single character when set to 9600 baud, and several gibberish characters when set to a higher baud. My RS-422 cable is set to arrive today, so I’ll let you know if it works.

    -Joe

  8. Well, the cable arrived, but no dice. I think I may be returning these sensors. I just find it weird that both of them would fail in exactly the same way.

  9. Sorry to post again so soon, but it looks like with the RS-422 cable, the laser does output the correct startup message, but I cannot get a response from it when sending it commands (I tried a request status command 02 00 01 00 31 15 12). The ROS sick toolbox wrapper is also unable to detect the baud rate – it always times out trying to get it.

    Did you need to configure your usb ports in any way before communicating? I noticed that cutecom doesn’t receive any messages unless I run the sicktoolbox in ROS first, so I’m guessing that the toolbox does some configuring of the ports, which allows cutecom to receive the startup message.

    -Joe

  10. OK, got it working in all com viewers and ROS. Turns out there is yet another error in addition to the one mentioned in a post above in the LMS manuals. In the quick start guide they have the positive terminals on the LMS side going to the negative terminals on the PC side, which is wrong – should be positive to positive, negative to negative. It’s a bit weird that I was able to receive data with the polarity reversed, but not transmit – my guess is that the adapter I have does not care for polarity when receiving. Anyway, just thought I’d share in case anyone else runs into the same problem!

    -Joe

    1. Hi Joe,

      Excellent!!

      Yes, as cr0sh (AKA “Andrew”)…as he had mentioned….Double checking cable connections is always a good thing to check..again and again.
      That is great to hear that it is all working…. and in ROS too. 🙂 Very Cool.

      Keep us posted with any further developments you have with your setup.

      Cheers!
      -Gerry

      1. Hey Gerry,

        I’ve got some great news. cr0sh – you will probably be interested in this too (and yes I think we got our sensors from the same guy on ebay). I’ve got my sensors set back to the default RS-232 mode at 9600 baud. The reason that all of our sensors are “stuck” in RS-422 500k mode is not some kind of failure, but because there is a message that can be sent to the laser to permanently change the default baud rate. If the default is set to 500k baud, then you have no way of changing it back unless you have an RS-422 cable.

        So cr0sh, before sending it to a tech, I’d recommend trying the following: get an RS-422 cable and wire it according to the full manual (not the quick start guide – that diagram is wrong). If you’d like to reset it back to RS-232 mode, send the following commands from any decent serial terminal viewer program at 500000 baud:

        $02 $00 $0A $00 $20 $00 $53 $49 $43 $4B $5F $4C $4D $53 $BE $C5

        This command puts the laser into “installation mode” where you can adjust certain settings. Note that the chain: $53 $49 $43 $4B $5F $4C $4D $53 spells out SICK_LMS in ascii which is the default password for SICK lasers. If the previous owner changed the password, then this won’t work, but I’m guessing our sensors are from the same guy, so you should be okay.

        Then send the following command:

        $02 $00 $02 $00 $66 $00 $9C $4E

        This command will set the default to 9600 baud.

        If you’re having trouble, do a google search for “SICK LMS telegram listing” and you should find a document that describes what all the above commands mean (and much, much more).

        -Joe

        1. Joe, thanks for this information – it will probably be useful for me later. I do have the “telegram listing” doc (I actually have a ton of docs I gleaned from all over the net – different versions/revisions, software, etc – bugs and all!)…

          Send me an email via my web site – I want to confirm (off-blog – because it doesn’t need to be public) that we had the same seller. I don’t blame my seller; I believe that he is just a surplus and second-hand dealer who doesn’t have the time or means to test everything, and goes by the info from whomever he purchases from. I went into the deal knowing I might have been flushing my money down the drain. It was worth the gamble, imho.

          As far as my sensor is confirmed, I sent mine out last Friday (8/8) to the SICK rep I am in contact with. He told me it was stuck in RS-422 mode, mentioned about resetting it using the cable, but that he would do it for free if I shipped it to him. He said he had 10 years of experience with the sensor model line. Given that he made the same diagnosis as Gerry, and it seems to be having the same trouble as yours – well, I am pretty certain he’ll be able to correct it. If he says otherwise, I’ll pass on a link to this blog to him to see if that helps.

          I spent a bit more on mine that you did yours ($200 – I still think I got a great deal!). I was willing to spend the money for the RS-422 cable (via the link the SICK rep gave me), but the shipping to SICK was cheaper, and if it proves to be in working condition – when I get it back I’ll go ahead and spend the extra money.

          BTW – what cable did you get? Post that here so that others can know as well…

          Thanks again for all of the info, Joe – I am sure it may help out others in the future as well. Meanwhile, my sensor is being trucked across the country via FedEx…

          1. Hello again,

            I’m pretty sure just about any RS-422 cable will work, but the particular cable I got was the Startech Model #: ICUSB422.

            There has only been one person listing untested LMS-291s (and a lot of them) recently, so I’m quite certain we have the same seller, but I’ll tell you the initials of the seller are NLE2.

            By the way, if you’d like to use these lasers for robot navigation, it is probably best to get an RS-422 cable since the speed is significantly higher, and 500K baud is the only way to get all of the laser’s measurements. That is, if you use an RS-232 cable with lower baud, you will end up dropping many scans. The reason I wanted to put mine into RS-232 mode was just to verify that it is in 100% working condition, and to test my understanding of the device. I’ll probably set the default baud back to 500Kbaud and return my RS-232 cables for another RS-422.

            -Joe

        2. Hi Joe,
          I quoted you regarding the info on Resetting the sensor and added it into the Original Blog post.

          Thanks again,
          Many will benefit from this information.

          Cheers!
          -Gerry

          1. Hey,

            No problem Gerry! Just a quick question – did you try out this method on your LMS200? The particular code that I gave worked on my unit, but the code may (or may not) be different for other units depending on which firmware version it uses. And for the record, my unit used version X1.27.

            -Joe

          2. Hi Joe,

            Not sure…. I don’t actually have my RS-422 adapter at the moment. I lent mine to a friend a while ago.
            Once I get it back I’ll test it out and confirm.

            Thanks again. 🙂
            -Gerry

        3. Joe – that’s the seller alright; that sounds like good news to me because it likely means mine is fine as well, and that my SICK rep will get it working properly.

          I’m pretty sure that Startech is mentioned as a vendor in something I found on the ROS website (or somewhere) as a “preferred” cable for Linux – maybe I’ll pick one of those up instead (or one of each).

          I had always intended on using RS-422 for comms for my robot, but like you, I wanted to verify that the LMS operated properly before I invested some more money.

          1. Hey,

            I believe I found yet another error in the SICK documentation regarding RS-422 wiring that may cause confusion. I had previously noted that I thought my RxD lines were reversed in polarity and was confused about why it was working in spite of that. Turns out they were not reversed. There are 3 locations in the documentation that I have (I have the technical description and I have the quick start manual), and 2 of those 3 locations have what appears to be the incorrect pinout.

            Specifically Table 7-3 in the “SICK LMS Technical Description” has pins 3 and 4 as TD- and TD+, respectively. Immediately to the left of that table, though, is a diagram showing the pinout with pins 3 and 4 as TD+ and TD-, respectively. I have attempted both configurations, and only the 2nd one works, so barring some error on my part, the 2nd one appears to be correct. Note that the pinout given in the quick start manual is the same as the 1st configuration.

            So for the Startech cable I bought (and mentioned above), it is a straight-through connection, with pins 7 and 8 connected together on the SICK side.

            Ugh… too much confusion!

            -Joe

          2. Joe – as I noted before, the SICK rep I am in contact with sent me (no link, unfortunately) a document entitled “Extention (sic) to Technical Description” that was eight pages long; the document reference number at the bottom of each page is “8012678/SG26/2008-09-09”.

            This document makes a correction to a pinout issue regarding pins 3 and 4; in this document, the table now reads for the pin assignments as:

            1) Pin 3 -> Signal (TD+/TxD) -> Data Interface (RS 422/ RS 232)
            2) Pin 4 -> Signal (TD-) -> Data Interface (RS 422)

            All other entries match what was in the Technical Description document. Basically, the above changes are meant to be inline with the “diagram” of the pinout to the left of the table, which didn’t change (in other words, in the Technical Description, the diagram was correct, whereas the table was incorrect).

            Again, I was only sent a PDF of this file – not a link to it – so I don’t know how or where you can find it. As I said before, if you visit my website, you can send me a contact email and I can send you a copy if you want (same for you, Gerry – just let me know).

    2. Wait – are you talking about RS-232 communications here? That pins 2 & 3 (TX and RX pins) on the ports aren’t supposed to be swapped (ie – a null-modem cable)? Or are you talking about RS-422? Either way, that seems really odd…

  11. Hey Gerry,

    I didn’t notice that the diagram was in the post, but yeah that’s the correct one. All the others have pins 3 and 4 switched.

    -Joe

  12. Gerry, Joe:

    I’ve just received great news from my contact at SICK – he was able to successfully reset it (stuck @ 500k just like Joe’s), and is shipping it back to me UPS ground. I’ll probably get it sometime early next week or so.

    Now I need to grab that RS-422 cable…

      1. Andrew – glad to hear it’s all good. It’s very cool to see it work for the first time.

        Gerry – I noticed you’ve got your laser up on eBay :(. You’re not going to carry on with the 3D point cloud project? I’m actually planning on doing just that once I get some experience with some 2D scanning projects. Also, I didn’t know you were right here in Ontario!

        1. Yeah I’m looking to upgrade to an LMS-291… still on the hunt. 🙂

          Yep!! Canadian all the way.
          “How’s it goin there ehh??” 🙂

          -Gerry

          1. Looks like you just missed out on some 291s as the guy Andrew and I got ours from seems to have run out.

            I think the 291 is only an upgrade if you’re planning on using it outdoors, as the 200 has better accuracy, but wasn’t meant for outdoor use, but I guess you have no choice if you want to use LabView. I’ve used LabView before, and it was pretty cool, but I still prefer text based programming.

            I also notice that you’re into old school gaming! I’ve actually been wanting to continue working on an NES synthesizer project I started a while ago.

            – Joe

          2. That’s it exactly!
            Outdoor use is the plan. I`ll be applying it to a UGV platform I’m working on.
            Want to apply 3D Point Cloud scanning for it outdoors.

            Clearpath Robotics has been doing some amazing stuff with various scanners and ROS. 🙂

            -Gerry

          3. As I see our discussions of “SICK LASER SCANNERS” expanding exponentially…:) …. my WordPress BLOG “Comments” section here….
            is going to fill up quite quickly and end up crashing on me. Not to mention there will be a Trillion pages for all us viewers to scroll through.

            To solve this issue I have created a Devoted Yahoo group Entitled”
            “SICK LASER SCANNERS” Yahoo Group.

            I’m thinking a devoted Forum for these SICK Scanners specifically will be beneficial for all us Hobbyist Tinkerers. 🙂

            JOIN AT THE LINK BELOW:

            https://groups.yahoo.com/group/SICK_LASER_SCANNERS

            Cheers!
            -Gerry

Leave a Reply