MysteryLidar: Difference between revisions

From RevSpace
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 26: Line 26:
* each packet is 60 bytes
* each packet is 60 bytes
* each packet contains 16 measurements
* each packet contains 16 measurements
* each packet contains data for 10 degrees
* there are about 35 packets per rotation
* there are about 35 packets per rotation
* there are about 6 rotations per second
* there are about 6 rotations per second
=> 6 rotations/s * 36 packets * 60 bytes = 12960 bytes/s
=== angle ===
number encoded = 640 + 64*angle, for example


== Software ==
== Software ==

Latest revision as of 15:54, 3 August 2024

Project MysteryLidar
Mysterylidar.png
Aliexpress Mystery Lidar
Status In progress
Contact bertrik
Last Update 2024-08-03

Introduction

I bought a cheap lidar from AliExpress, no guarantees, no datasheets. This page is about understanding it and reverse engineering the protocol

Hardware

Protocol

Serial bit rate is 23400 bps

From the Aliexpress page:

Baud: 230400; Packet_length=60Bytes (in every ~4ms period) B0= 0x55 B1=0xAA B2=0x23 B3=0x10 B4+B5=current resolution LSB+MSB B6+B7= Start Angle of this packet LSB+MSB 16x: B8:B9= Distance LSB+MSB B10= Quality (1 byte only) . . . B56+B57= Final Angle of this packet (LSB+MSB) B58+B59= CRC

The angle is encoded in steps of 1/64 degree, with a 640 offset.

Some numbers:

  • each packet is 60 bytes
  • each packet contains 16 measurements
  • each packet contains data for 10 degrees
  • there are about 35 packets per rotation
  • there are about 6 rotations per second

=> 6 rotations/s * 36 packets * 60 bytes = 12960 bytes/s

angle

number encoded = 640 + 64*angle, for example

Software