Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
This tutorial shows how to connect a Slamtec RPLIDAR A1M8 to an NVIDIA Jetson Nano, install the legacy ROS 1 driver stack, verify LaserScan messages, and display a 360-degree scan in RViz.
Important: this is a historical compatibility path based on Ubuntu 18.04, JetPack 4-era software, and ROS Melodic. It is not a universal setup for newer Ubuntu or ROS 2 installations.
What you will build
The RPLIDAR measures distances across a horizontal 360-degree plane. The Jetson Nano receives those measurements through USB serial, the rplidar_ros package publishes them as ROS sensor_msgs/LaserScan data, and RViz renders the returns around the sensor.
This produces a live scan visualization—not a map. Persistent mapping requires a separate SLAM package, a correct TF tree, suitable robot motion, and usually odometry.
#1 Best Overall
- Range Radius: 12 meters; Power Supply: 5V; The size of scews fit into the mounting holes on the bottom of Lidar will be M2.5.
- 360 Degree Omnidirectional Laser Range Scanning Configurable Scan Rate from 2-10Hz; Plug and Play
- 8000 Times Sample Rate, the Highest in the Current Economical LIDAR industry
- OPTMAG Original Design, prolong the life-span, Ideal for Robot Navigation and Localization
- Contact us by email Monica#smartfire.cn(#------>@).
Compatibility matrix
| Component | Setup covered here | Status |
|---|---|---|
| Computer | NVIDIA Jetson Nano Developer Kit, 4-GB version | Older platform |
| Operating system | Ubuntu 18.04, typically from the JetPack 4-era image | Legacy |
| ROS | ROS 1 Melodic Morenia | Legacy |
| Lidar | Slamtec RPLIDAR A1M8 | Model-specific |
| Build system | Catkin and catkin_make |
ROS 1 |
| Driver | Slamtec rplidar_ros | Check the checked-out revision |
Do not install ROS Melodic blindly on a newer Ubuntu release, and do not mix ROS 1 catkin commands with a ROS 2 setup. For a new ROS 2 project, check Slamtec’s ROS 2 documentation and verify compatibility with your computer and lidar model.
Hardware checklist
- Jetson Nano Developer Kit, 4-GB version
- RPLIDAR A1M8 development kit and USB adapter
- microSD card containing a compatible Nano image
- Suitable 5-V power supply
- Micro-USB cable or the cable required by your board and image for initial setup
- Display, keyboard, and mouse, or a working SSH/serial-console setup
- Network access for package installation
Some RPLIDAR kits do not include the Micro-USB cable. Check the exact contents of the kit before starting.
The A1M8 specification varies by revision. For example, the official datasheet lists approximately 0.15–6 m for A1M8-R4 and approximately 0.15–12 m for A1M8-R5 under stated test conditions. It also lists 360-degree coverage, up to 1-degree angular resolution, and a typical scan rate around 5.5 Hz. These figures depend on revision, target surface, scan rate, and environment; consult the exact Slamtec datasheet and manual for your unit.
Free tools Windows power users keep installed
One-click scans. No signup required.
1. Prepare the Jetson Nano
Install a Jetson image that provides Ubuntu 18.04 and the JetPack 4-era software expected by ROS Melodic. Complete the first boot, connect to the network, and make sure the power supply is stable.
sudo apt-get update
sudo apt-get upgrade
Do not interpret “latest JetPack” as a compatibility guarantee. Record the JetPack/L4T and Ubuntu versions before continuing.
2. Connect and identify the lidar
Connect the RPLIDAR head to its USB adapter, then connect the adapter to a Nano USB port. Confirm that Linux sees it:
Rank #2
- [Long range & High resolution]The RPLIDAR A1M8-R6 is a 12 meter measuring radius lidar sensor. Feaures: 360 degree omnidirectional lidar range scanning. Measures distance data in more than 8000 times/s. Configurable Scan Rate from 2-10Hz.Plug and Play. Ideal for Robot Navigation and Localization.
- [RPLidar A1M8 R&D Kit Shipping List]Include 1 x RPLIDAR A1, 1 x USB Adapter, 1 x USB communication cable, 1 x MX1.25 to 2.54 Dupont Wire. USB adapter for USB port on Jetson nano and Raspberry Pi. Dupont cable for GPIO on arduino or 40PIN GPIO on Jetson nano and Raspberry Pi.This kit has it all covered.
- [Easy to use] Just by searching the web, there are tons of tutorials to guide you on how to use the RPLIDAR A1M8 to implement obstacle avoidance and navigation for robots, and SLAM build maps for rooms. Whether you're learning or working on a robotics project, the rplidar A1 lidar is an excellent choice.
- [Dimension and Weight] Height:55mm Width:96.8mm Weight:170g. It's easy to integrate either into a vacuum cleaner or a smart cart.
- [Wiki] You can find the SDK and test software here: wiki.youyeetoo.com/Lidar/A1M8, Any questions, please feel free to click "youyeetoo tech" feedback or after-sales: am2#youyeetoo dot com (#>>>@). We are always listening to you.
lsusb
ls -l /dev/ttyUSB*
dmesg --follow
The original tutorial expects /dev/ttyUSB0, but the actual device may be /dev/ttyUSB1, /dev/ttyACM0, or another path. Use the path reported by your system rather than copying /dev/ttyUSB0 automatically.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsFix serial permissions
The preferred user-level fix is to add your account to the dialout group:
sudo usermod -aG dialout "$USER"
groups
Log out and back in, or reboot, before testing again. A temporary diagnostic command is:
sudo chmod 666 /dev/ttyUSB0
Replace the device path if necessary. This makes the device writable by every local user, so it should not be the permanent solution. For deployments, use a device-specific udev rule based on the adapter’s vendor and product identifiers. Avoid a blanket rule such as KERNEL=="ttyUSB*", MODE="0666" unless you understand its security implications; Slamtec’s SDK documentation provides background on serial-device handling.
3. Install ROS Melodic
The following is the historical ROS 1 procedure for Ubuntu 18.04. The repository and key-management method are version-sensitive and may fail on unsupported systems.
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80'
--recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop
Initialize rosdep and load ROS automatically in new shells:
Rank #3
- 360° REAL-TIME 2D MAPPING: Achieve precise environmental perception with a 360-degree field of view. Perfect for robot navigation, obstacle avoidance, and simultaneous localization and mapping (SLAM) applications.
- HIGH PERFORMANCE & ACCURACY: Measures distances from 0.15m to 12m with a typical distance resolution of <0.5mm. Scans at 5.5Hz (configurable up to 10Hz) with an angular resolution of <1° for detailed point cloud data.
- EASY INTEGRATION & DEVELOPMENT: Features a standard 3.3V TTL serial (UART) communication interface. Supported by robust SDKs for Windows, Linux (x86/ARM), and development tools like RoboStudio for quick prototyping and integration.
- Plug and Play Convenience:Effortless setup with a plug and play design, enabling quick integration with your robot kit.
- SAFE & CERTIFIED: Complies with Class I Laser Safety standards (21 CFR 1040.10/1040.11), ensuring eye safety for humans and pets with a low-power (<5mW), pulsed laser design.
sudo rosdep init
rosdep update
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
rosversion -d
The final command should print melodic. If rosdep update fails, check your network, system clock, certificates, and whether the Ubuntu/ROS combination is still supported before repeatedly retrying.
4. Create a catkin workspace and build the driver
Install the dependencies used by the original workflow:
sudo apt-get install
cmake python-catkin-pkg python-empy python-nose python-setuptools
libgtest-dev python-rosinstall python-rosinstall-generator
python-wstool build-essential git
Create the workspace, clone the official driver, and build it:
Recommended Free Tools
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/Slamtec/rplidar_ros.git
cd ~/catkin_ws
catkin_make
source devel/setup.bash
For repeatable builds, pin the repository to a known release or tested commit instead of relying indefinitely on the default branch:
cd ~/catkin_ws/src/rplidar_ros
git log -1 --oneline
The repository’s launch files and parameters can change. Use the revision that matches your model and ROS distribution.
5. Start the driver and view the scan
Open one terminal and start the ROS master:
roscore
Open a second terminal and source both environments:
Rank #4
- Youyeetoo 2D Lidar Sensor —— The youyeetoo RPLIDAR A1M8-R6 is a 360° 2D laser range scanner that delivers 12 m omnidirectional ranging for robot navigation, SLAM mapping, and obstacle avoidance.
- 8000Hz High-Speed Sampling —— Samples distance over 8000 times per second with a 1–10 Hz configurable scan rate (5.5 Hz typical) and ≤1° angular resolution, generating smooth 2D point clouds for reliable environmental perception.
- OPTMAG Long-Life Design —— Uses SLAMTEC OPTMAG wireless power and optical communication instead of slip rings, reducing mechanical wear and extending service life while drawing only 5 V / 0.5 W.
- Plug-and-Play SDK & ROS —— Communicates via 3.3V TTL UART or the included USB adapter; runs on Windows and Linux through the official RPLIDAR SDK and supports ROS1 and ROS2 packages for fast integration with SBCs and PCs.
- Ideal for Robotics & SLAM —— Built for home service and cleaning robots, educational maker projects, AGV navigation, drone mapping, and general simultaneous localization and mapping in indoor and low-light environments.
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
With a current revision of the official package, the A1-specific visualization launch file is:
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11roslaunch rplidar_ros view_rplidar_a1.launch
The node-only launch file is:
roslaunch rplidar_ros rplidar_a1.launch
The older tutorial may use:
roslaunch rplidar_ros view_rplidar.launch
These names are not universally interchangeable. Select the launch file present in your checked-out driver revision and match it to the exact lidar model. Serial settings, including baud rate, differ across RPLIDAR families; do not reuse A1 parameters for an A2, A3, S1, S2, S3, or another model without checking its launch file and manual.
6. Verify the ROS data path
When RViz opens, check that a LaserScan display exists and that its topic is populated, usually on /scan. The frame may be named laser or laser_frame, depending on the launch file.
rostopic list
rostopic echo /scan
rostopic hz /scan
Success means /scan appears, rostopic echo prints recurring sensor_msgs/LaserScan messages, and rostopic hz reports a continuing publication rate. In RViz, set the Fixed Frame to the published lidar frame if the scan is standalone. On a robot, the preferred arrangement is usually a TF chain such as base_link to laser_frame; a static transform is required when the lidar’s physical mounting offset is not otherwise published.
Place objects at different distances around the spinning sensor. RViz should show returns sweeping around the lidar. This is a scan view, not an occupancy-grid map.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Troubleshooting
No serial device appears
Check lsusb and dmesg --follow, try another USB port or cable, disconnect other USB-serial devices, and verify power. A defective adapter, insufficient power, missing kernel support, or an incompatible image can prevent enumeration.
Best Value
- [High-precision Fused 2D LiDAR] RPLIDAR C1 2D lidar sensor support ranging radius up to 12m, Ranging blind spot as low as 0.05m, Scanning frequency 8~12Hz, Typical: 10Hz (600rpm), 5K sampling frequency, 0.72° angular resolution, IP54 Proof Level, Light intensity resistance: 40,000lux, Ranging Resolution: ±30mm, Pitch Angle: 0°-1.5°, Range Accuracy: 15mm.
- [HD High Definition and Cost-Effective] RPLIDAR C1 lidar scanner integrates the technical advantages accumulated in triangulation and TOF ranging for many years, enabling C1 rangefinder to meet the requirements of robot positioning, mapping, and navigation in terms of ranging accuracy, distance measurement, anti-interference, and anti-adhesion performance.
- [Compact in Size and Easy to Integrate] RPLIDAR C1 lidar sensor not only delivers powerful performance but also features a compact and agile design. It is small and has low levels of noise and vibration, making it easy to integrate into various applications. Its compact size and versatility open up a wide range of possibilities and uses.
- [Comprehensive SDK tutorial and Support ROS] WayPonDEV can provides SDK development packages that can run on different platforms such as x86 Windows, x86 Linux, and arm Linux. RPLIDAR C1 2D LiDAR supports ROS and ROS2 operating systems, assisting customers in development and integration across various operating systems and architectures.
- [Widely Application Scenarios] RPLIDAR C1 Lidar Sensor rangefinder can be applied to Home Robots, Environmental scanning and 3D reconstruction, Commercial Robot, Obstacle detection and avoidance, Autonomous Vehicles in Low-Speed Parks, Parking Lot Space Monitoring and so on.
Permission denied
Check the device and group:
ls -l /dev/ttyUSB0
groups
Confirm that your session was restarted after joining dialout. Use chmod 666 only as a temporary diagnostic.
Serial port is busy
Find the process holding the port:
sudo lsof /dev/ttyUSB0
Stop stale RPLIDAR nodes or serial-monitor programs, then launch only one driver instance.
RViz opens but shows no points
- Confirm the lidar motor is spinning.
- Check that the selected launch file matches the A1 model and driver revision.
- Inspect
rostopic listto find the actual scan topic. - Set RViz’s Fixed Frame to the published frame.
- Confirm the serial-port parameter matches the enumerated device.
- Make sure another node is not using the port.
The build fails
Check the first error in the output rather than the final cascade. Common causes include an incorrect Ubuntu/ROS pairing, old Python 2 tooling on a newer system, missing dependencies, building outside the catkin workspace, or changes in an unpinned driver branch.
catkin_make 2>&1 | tee build.log
The scan is noisy or incomplete
Dark, transparent, reflective, or sharply angled surfaces can produce weak returns. Also check for sunlight or infrared interference, dust on the optical window, loose mounting, vibration, unstable voltage, and objects closer than the model’s minimum range. Advertised maximum range is not guaranteed for every surface or room.
What comes after RViz?
To build an actual map, add a compatible SLAM node and provide the interfaces it expects: a valid LaserScan topic, correct TF frames, and robot motion. Many systems also require wheel or visual odometry. After mapping, navigation requires localization, a saved map, costmaps, planners, and usually obstacle-inflation parameters.
Keep these stages separate:
- Confirm the lidar and USB serial connection.
- Confirm ROS driver messages.
- Visualize the scan in RViz.
- Run SLAM and save an occupancy-grid map.
- Add localization and navigation.
Should you still use a Jetson Nano?
Reusing an existing Nano makes sense for indoor experiments, obstacle detection, introductory SLAM, and educational ROS work. It is less attractive for a new project that needs current ROS 2 packages, long-term support, substantial camera processing, or deep-learning workloads. A regular Ubuntu laptop or desktop can also be the simpler way to test whether the lidar works before debugging Jetson-specific compatibility.
The A1 is a practical entry-level 2D lidar, but it is not a 3D sensor, does not provide odometry, and is not intended to replace more capable hardware for demanding outdoor or industrial navigation. If you choose a newer RPLIDAR family, verify its exact ROS package, launch file, baud rate, power requirements, and operating-system support first. See Slamtec’s official support page for model documentation.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

