Neobotix USBoard

  • Interface Name


  • Supported Since


  • Sensor Communication Protocol


  • PolySync Sensor Type


  • PolySync Configuration

    * [Define the node]( in the SDF Configurator
    * [Locate the CAN hardware and circuit identifiers](
    * Copy the hardware and circuit IDs into the nodes entry in the SDF Configurator “IO Parameters” section
    * [Run the Dynamic Driver interface](

  • Driver Notes

    * -c
    * use provided CAN channel system index instead of what is stored in the SDF [optional]
    * -t
    * perform a validation test on the interface [optional]
    * -d
    * enable additional debugging output [optional]
    * -g
    * get the board identifier address from the Neobotix USBoard interface [optional]

  • Sensor Configuration Parameters

    Parameter ID Description Value Type Values Notes
    1009 Sensor 1 Identifier 1 1
    1010 Sensor 1 X Position 3 0
    1011 Sensor 1 Y Position 3 0
    1012 Sensor 1 Z Position 3 0
    1013 Sensor 1 Roll Orientation 3 0
    1014 Sensor 1 Pitch Orientation 3 0
    1015 Sensor 1 Yaw Orientation 3 0
    4788 Sensor 1 enabled status (Default 1 means enabled, 0 disabled). Requires hardware connection. 1 1
    4808 Sensor 1 warning distance, discreet value. Requires hardware connection. [cm] 1 100
  • IO Configuration Parameters

    Parameter ID Description Value Type Values Notes
    N/A N/A N/A N/A


  • Node Configuration Parameters

    Parameter ID Description Value Type Values Notes
    800 Active Coordinate Frame Identifier 1 4
    400 CAN Channel 0 Hardware Identifier 1 0
    401 CAN Channel 0 Circuit Identifier 1 0
    4900 CAN Baud rate. 500 kilobaud. Read-only. 1 500
    4901 CAN basic address.Valid range 0-65535. Default 1024. Use vendor tool to configure. Requires hardware connection. 1 1024
    4903 Measurement request interval. [Hz] (default 10 Hz) 3 10
    4904 Sensor firing order. Requires hardware connection. 4 1 16 2 15 3 14 4 13 5 12 6 11 7 10 8 9
    4905 Neobotix USBoard board identifier. 1 0
    4906 Neobotix USBoard sensor wide sensitivity, discreet value. [1-100]. Requires hardware connection. 1 30
    2082 Publishes message type "ps_zones_msg" (value 0 means disabled) 1 1
    42 PolySync-abstraction-Layer Interface File Name 4 /usr/local/polysync/lib/
    40 Executable File Path 4 /usr/local/polysync/bin/polysync-dynamic-driver
  • Sensor Notes

    Run node with -t option to verify device is configured correctly. (example: $polysync-dynamic-driver -n 1 -t)

    If the test passed, it prints: `Neobotix USBoard interface test passed`

    Next run the Dynamic Driver node with the -g option to get Sensor ID.

    It will print something like: `board id – 15100920`

    Update the Sensor 0 Identifier in the SDF configurator. Now you may star the node and configure each sensors mount position.


    The firing order is fully configurable.

    The order is set with a space separated list defaulting to “1 16 2 15 3 14 4 13 5 12 6 11 7 10 8 9”

    This corresponds to sensor 1 firing first, sensor 16 firing second, sensor 2 firing third, etc.


    “Measurement request interval” is configurable but beware!

    This is only a REQUEST interval, the device documentation species measurement intervals of 0.5 seconds, 1 second and 2 seconds.

    Although the device will respond and zones will be published changes in measurement data may not reflect the interval. i.e. changes in zone activity may not be visible much faster than 0.5 seconds. (lower sensitivity value does seem to correlate to faster measurement updates)

    A value of 0 for “Measurement request interval” disables measurement requests, and no messages will be published.

    Warning distance is configurable in the device but indications of whether the zone registers a warning is not reported in zone readings by the device and so not indicated in the published zones messages. Notifications of warning and alert distances originate from the board, relays and LEDs.


    * Keep in mind the max range of these devices is 1.5 meters. So, for instance, setting a warning distance beyond 150 cm is nonsense and the behaviour is undefined.
    * In PolySync Studio if the measurement distance is `0` then the zone is not drawn.
    * The PolySync Neobotix USBoard interface requires a 500K Baud rate, the device’s default
    * If for some reason an external tool is used to set the baud to another rate, the interface will fail
    * The basic address parameter is required to communicate with the device
    * The default value is 1024 and shouldn’t need to be changed unless there are multiple Neobotix USBoard devices communicating on the same channel
    * In order to handle multiple Neobotix USBoards sharing a single CAN channel each device’s basic address’ must be distinct
    * To configure a Neobotix USBoard’s basic address the vendor’s Windows tool is required
    * If all sensors are disabled on the hardware with the enabled status parameter (set to 0) no data is produced and the device will enter a fault state due to a lack of communication with the device
    * Zones are reported in bursts of 4 (1-4, 5-8, 9-12, 13-16) so each ps_zones_msg contains 4 zones rather than bundling up all 16 in one message
    * Due to the nature of how the device operates, if sensors 1,2 and 3 are disabled but sensor 4 is enabled you will see 4 zones published corresponding to zones 1,2,3 and 4 but zones 1,2,3 will have quality fields with a value of QUALITY_INVALID.
    * When there is no activity in a zone the devices will report a distance measurement of 2.55 meters. This is not a valid distance but it represents an “empty zone sate”. In these instances the quality field of the zone is set to QUALITY_NOT_AVAILABLE
    * The sensors themselves seem to be subject to “cross-talk” or “noise” from other nearby devices that can result in distances reported beyond the documented max measurement range of the device
    * When a measurement distance exceeds the documented max range of 1.5 meters the zone’s quality field is set to QUALITY_INVALID (except in the special 2.55 meter case)
    * Some parameters are described with “Requires hardware connection” which means that attempting to configure them when the interface is running in no hardware mode and no device is connected will result in a fault state.