I'm using a SICK S300 scanner connected via Diagnostic cable to my Raspberry Pi, and it shows the connection as /dev/ttyUSB0 however I can't retrieve any data from it whatsoever.

Here is a simple Python program I am using to attempt to read the incoming data.

import serial
ser = serial.Serial('/dev/ttyUSB0', 9600)

while True:
    data = ser.readline()

I'm expecting to some degree a string of hex characters to be read from the device.

Here is the SICK Cable.

There must be some level of data coming out as the Windows software that comes with it is capable of reading the data and displaying it for testing/diagnostic purposes.

I am able to retreive data using an RS422 cable.

  • Are you using the following user manual? cdn.sick.com/media/docs/3/13/613/…. I don't find any spec of UART interface of the S300 Diagonstic Cable. Do you have a S300 to UART adaptor?
    – tlfong01
    Aug 21, 2019 at 13:26
  • I guess you might have a RS422 to UART adapter. Then your S300 can connect and talk to Rpi. You need to first make sure the S300 side is outputting something, using a scope/analyzier perhaps, or seeing the status LEDs blinking. You also need to know the protocol such as baud rate 9,600 baud 8N1 etc, and the very basic hello/bye (AT/OK) command list to get started. answers.ros.org/question/331161/…
    – tlfong01
    Aug 21, 2019 at 13:41
  • I've updated the question with some more information to try and answer your questions. I'm going to pursue an RS422 connection rather than the USB diagnostic connection
    – fzeta
    Aug 22, 2019 at 8:14

1 Answer 1


Using an RS422 to USB connection I was able to recieve data through the same port /dev/ttyUSB0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.