Skip to main content
Explore ERDILRF

Press ↑↓ to move, Enter to open, Esc to close.

Drivers & Integration

ERDILRF precision assembly work

Developer resources

Build with ERDILRF drivers.

Python, Arduino and ROS 2 resources for the published ERDILRF protocols.

Open the official repository

Start with the exact model.

The public driver repository contains 22 model definitions. Twenty-one correspond to models in the current catalog; SPD1200D03 remains a documented driver entry outside that catalog. Select your exact model and review its protocol and known gaps: frame formats, units and configuration differ.

LRF10VB is in the current catalog, but this repository does not provide its driver because its communication protocol has not been published. SPD1200S2G appears in the repository’s unpublished-protocol notes and is not listed in the current catalog.

Check the model table

Drivers & source.

Public ERDILRF repositories · MIT license

PlatformResourceOpen / download
PythonRelease v0.1.0 · wheel packageDownload wheel
ArduinoStandalone ErdiLRF libraryOpen library
PlatformIOErdiLRF 0.1.1 · Arduino libraryOpen registry
Compile-checked ESP32 UART2 example
ROS 2erdi_lrf_ros2 package sourceOpen package
Protocol referenceModel table and frame documentationRead documentation

Check the repository’s current instructions and release notes before installation. The Arduino library is maintained in its dedicated repository.

Make the protocol explicit.

Python command line

Inspect before connecting.

After installing the package, list the model definitions and inspect the chosen model’s documented wire format.

Read the Python quick start

# List documented models
erdi-lrf models

# Review this model's wire facts
erdi-lrf info --model LRF3000A1

Keep the complete Python exception chain.

When a Python with block fails, read the complete traceback, including chained exceptions. An error raised during cleanup, such as closing a serial port, can appear last even when the application body failed first. Keep the application and cleanup failures distinct. Recording only the final exception’s short message can lose the context needed to explain the failure.

Capture the exception chain before simplifying logs. Do not suppress every cleanup error: a close failure without an earlier application error still matters. For a bug report, include the installed package name and version; add the source commit only when using a source checkout. For hardware-related issues, identify the exact unit/model, supplied configuration and firmware revision if known. Remove credentials, personal information and raw customer traffic before sharing.

Reference: Python exception context.

Read the model limitations.

Full known-gaps register

SPD1200D03

Confirm the delivered baud rate; the manual contains conflicting values. The driver does not infer distance scaling, and its ROS 2 node declines to publish a distance in metres for this model.

LRF1200A1 and LRF3000A1

Continuous ranging requires explicit acknowledgement of the documented protocol hold. Review the repository notes before enabling streaming; keep transmit and reply checksum scopes distinct.

Units and interfaces

Select the exact model. H and VB stream units differ. Do not infer an I²C address, output scaling or command support from another model.

Verification scope

The repository reports tests against manual examples and simulated serial transport. It does not report live-hardware validation, and the ROS 2 package has not been runtime-tested there. Evaluate with your delivered module and host.

Bring us the requirement.

Share the distance, object surface, interface, space constraints and quantity. Include a model number if you already have one in mind.

Start a technical inquiry

Confirm the current datasheet and laser safety documentation for the specific model and revision. Final suitability depends on your complete device and its operating conditions.