Developer resources
Build with ERDILRF drivers.
Python, Arduino and ROS 2 resources for the published ERDILRF protocols.
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.
Drivers & source.
Public ERDILRF repositories · MIT license
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.
# 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.
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.
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.