MysteryLidar: Difference between revisions

From RevSpace
Jump to navigation Jump to search
Line 18: Line 18:


== Protocol ==
== Protocol ==
Serial bit rate is 23400 bps
Serial bit rate is 230400 bps


From the Aliexpress page:
From the Aliexpress page:

Revision as of 23:49, 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

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

Software