MysteryLidar: Difference between revisions
Jump to navigation
Jump to search
Line 18: | Line 18: | ||
== Protocol == | == Protocol == | ||
Serial bit rate is | Serial bit rate is 230400 bps | ||
From the Aliexpress page: | From the Aliexpress page: |
Revision as of 23:49, 3 August 2024
Project MysteryLidar | |
---|---|
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
Has stickers with the following codes:
- on the side of the plastic casing: data matrix HHCT3B6X9K00863
- on the PCB: data matrix FW0251022426001437
- next to the power/data connector: 2d bar code 20617158
Protocol
Serial bit rate is 230400 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
Example packet:
55 aa 23 10 ec 59 ac f7 7f 40 cd 7f 40 cc 7f 40 cf 7f 40 c6 7f 40 bf 7f 40 b4 80 40 b9 80 40 ba 80 40 bc 80 40 ba 80 40 b5 80 40 d0 81 40 ca 81 40 c2 82 40 c2 82 40 c8 0e a0 cd 2e
angle
number encoded = 640 + 64*angle, for example