MysteryLidar: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 13: | Line 13: | ||
== Hardware == | == Hardware == | ||
Has stickers with the following codes: | Has stickers with the following codes: | ||
* on the side of the plastic casing: data matrix HHCT3B6X9K00863 | |||
on the side of the plastic casing: data matrix HHCT3B6X9K00863 | * on the PCB: data matrix FW0251022426001437 | ||
on the PCB: data matrix FW0251022426001437 | * next to the power/data connector: 2d bar code 20617158 | ||
next to the power/data connector: 2d bar code 20617158 | |||
== Protocol == | == Protocol == |
Revision as of 22:16, 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 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