Skip to content

Explanations of how lidar communication works #2

@eleimt

Description

@eleimt

Hello.

I'm trying to use this LiDAR LD19 in my project, but I can't figure out how to interpret the data it sends.

I connected it to a TTL adapter:

  1. White -> RX
  2. Yellow -> TX
  3. Black -> GND
  4. Red -> 5V

If I just connect it, nothing happens. I found that to start scanning, I need to send 4 bytes: "0xAA, 0x55, 0xF0, 0x0F". (I don’t know if there is a command to stop it — please let me know if there is.)

Here’s my Go code:

package main

import (
    "fmt"
    "time"
    
    "github.com/tarm/serial"
)

func main() {
    config := &serial.Config{
        Name: "COM4",
        Baud: 230400,
    }
    
    port, err := serial.OpenPort(config)
    if err != nil {
        panic(err)
    }
    defer port.Close()
    
    // Command to send
    cmd := []byte{0xAA, 0x55, 0xF0, 0x0F}
    
    // Send command
    written, err := port.Write(cmd)
    if err != nil || written != len(cmd) {
        panic("Error sending command")
    }
    
    fmt.Printf("Command sent (%d bytes): % X\n", written, cmd)
    
    time.Sleep(1 * time.Second)
    
    response := make([]byte, 15000)
    
    for {
        n, err := port.Read(response)
        if err != nil && n == 0 {
            fmt.Println("No response from device")
            return
        }
        
        // Output formatted HEX
        fmt.Printf("Response (%d bytes): % X\n", n, response[:n])
        
        time.Sleep(100 * time.Millisecond)
    }
}

And here’s what I’m receiving:

Command sent (4 bytes): AA 55 F0 0F
Response (26 bytes): A5 5A 50 07 01 00 00 00 00 00 00 A9 FE FE FE FE FE FE FE FE FE FE FE FE FE FE
Response (0 bytes):
Response (1103 bytes): FA FA A5 5A 14 00 E3 02 01 43 4F 49 4E 2D 44 34 00 00 00 00 00 00 00 00 00 00 00 00 01 A5 5A 00 00 80 01 81 AA 55 00 19 CB 6F 77 76 87 55 50 03 00 2C 2B 0A 38 57 0A 74 8F 0A 88 9B 0A 14 B3 0A 60 C6 0A AC C1 0A 68 B1 0A 68 9D 0A 78 8D 0A 88 81 0A 98 79 0A 98 75 0A 84 6D 0A 90 65 0A A4 4D 0A A8 41 0A AC 3D 0A D4 35 0A E8 29 0A 14 22 0A B8 A5 0A A8 CE 0A F4 E6 0A AA 55 00 19 BF 76 5F 7D 56 4E C0 CA 0A CC BA 0A 78 AA 0A 3C 96 0A 8C 81 0A 40 02 00 34 93 03 6C 97 03 8C 9F 03 A0 A3 03 A4 A7 03 A0 AF 03 A0 B3 03 A0 BB 03 A0 D3 03 6C E3 03 98 FB 03 AC FB 03 6C 93 03 50 6F 03 6C 5F 03 94 5B 03 A8 5B 03 B0 5B 03 AC 5F 03 AA 55 00 19 A5 7D 51 84 54 B2 A4 6B 03 68 7B 03 68 B3 03 8C DF 03 A0 FB 03 AC 13 04 BC 27 04 B0 2B 04 A8 2F 04 9C 3F 04 A0 4B 04 A8 5F 04 A8 67 04 A8 73 04 A8 83 04 A8 9B 04 8C A7 04 38 AF 04 9C AA 04 DC C1 04 B4 01 00 2C B2 07 80 E6 07 AC 1A 08 B0 52 08 AA 55 00 19 99 84 43 8B C2 4A BC 8E 08 28 DF 08 78 0F 09 90 1F 09 A4 27 09 A0 27 09 9C 2B 09 A0 2F 09 A0 3B 09 A0 3B 09 A4 43 09 A0 4B 09 9C 53 09 90 5B 09 7C 63 09 6C 63 09 70 73 09 58 7F 09 64 8F 09 6C A3 09 68 AF 09 5C BF 09 58 C3 09 5C CB 09 50 D3 09 AA 55 00 0F 8B 8B 43 B3 D9 6B 50 DB 09 50 E7 09 48 F7 09 08 13 0A 18 5F 0A 38 73 0A 2C 77 0A 2C 77 0A 24 1B 0A 40 0F 0A 48 0B 0A 44 0B 0A 48 0B 0A 34 03 0A 24 03 0A AA 55 69 01 89 B3 89 B3 10 5D 2C FF 09 AA 55 00 19 CF B3 63 06 BD F3 30 EF 09 2C F3 09 2C 03 0A 48 13 0A 54 0B 0A 50 FF 09 48 E3 09 40 D3 09 40 D3 09 3C DB 09 40 EB 09 4C FB 09 64 07 0A 60 DF 09 4C CF 09 70 E7 09 8C DF 09 78 DB 09 7C DB 09 78 DF 09 78 E7 09 78 DB 09 6C CB 09 64 DF 09 70 07 0A AA 55 00 19 A7 06 71 0D CB 43 70 03 0A 64 03 0A 6C 07 0A 70 07 0A 70 FF 09 70 FB 09 88 F3 09 8C EF 09 80 EF 09 78 F3 09 64 F7 09 64 07 0A 68 23 0A 58 37 0A 38 5F 0A 10 BF 0A CC D2 0A 64 3A 0A 8C C6 09 E0 86 09 E8 56 09 24 27 09 38 F7 08 F0 1E 08 4C E7 07 AA 55 00 19 B9 0D 65 14 B6 52 70 CF 07 78 BB 07 8C AF 07 94 AB 07 90 A3 07 A0 9B 07 9C 97 07 A0 9B 07 98 9B 07 8C A3 07 90 A7 07 9C B7 07 98 C3 07 98 D3 07 94 D7 07 8C E7 07 88 F7 07 74 0B 08 58 27 08 D0 3A 08 30 39 08 B8 01 00 30 72 34 2C 46 34 9C 01 00 AA 55 00 19 AD 14 31 1B AB 42 98 4A 18 7C CA 17 70 56 17 C8 3A 17 04 3B 17 0C 4B 17 C4 52 17 58 62 17 30 E2 17 24 4E 18 58 5A 18 88 8A 18 7C 01 00 00 E6 35 04 E2 35 F4 CD 35 00 DE 35 FC C1 35 00 B6 35 B8 A9 35 88 99 34 84 09 35 F0 B5 35 E8 B9 35 04 CD 35 AA 55 00 19 77 1B 13 22 2C 69 34 9D 35 E8 F4 35 D0 00 00 F0 FC 11 F8 C4 11 F8 3C 11 F0 40 11 00 CD 10 14 91 10 08 4D 10 00 D1 0F 08 C5 0F 10 91 0F 14 19 0F 1C 09 0F 1C D9 0E 1C B1 0E 40 5D 0E F0 F9 0D D8 11 13 F8 5E 13 70 67 13 88 4F 13 94 3F 13 60 43 13 AA 55 00 19 5B 22 05 29 9C 5C EC 19 13 80 02 00 38 AF 09 54 63 09 50 13 09 54 C7 08 58 8B 08 70 57 08 64 17 08 E4 B2 07 84 B5 07 14 29 07 F8 3C 06 14 F9 05 28 F1 05 20 BD 05 2C AD 05 28 85 05 84 4A 05 34 5B 05 DC 76 05 60 E3 05 8C E7 05 A8 DF 05 B0 D7 05 AA 55 00 19 4B 29 FD 2F 3C 4F A8 BB 05 A8 9F 05 A8 8F 05 A4 73 05 A8 5B 05 A8 3B 05 40 37 05 AC 36 05 28 3E 05 B4 41 05 68 21 05 D8 CE 04 E0 D9 04 98 D1 04 6C D5 04 5C 09 05 34 25 05 2C 2D 05 1C 55 05 08 55 05 00 71 05 14 7D 05 28 91 05 08 8D 05 14 6D 05 AA 55 00 19 43 30 ED 36 71 4C 10 85 05 08 75 05 00 B5 05 F4 88 05 F8 DC 05 F0 A8 05 EC D4 05 FC C8 05 08 01 06 20 E1 05 2C E9 05 38 1D 06 58 11 06 60 1D 06 5C 1D 06 84 45 06 90 59 06 A0 6D 06
Response (1360 bytes): D4 71 06 38 72 06 48 83 06 A0 7B 06 A4 73 06 8C 4B 06 78 2B 06 AA 55 00 19 35 37 AF 3D 95 45 78 17 06 80 03 06 64 EF 05 2C DB 05 74 F3 05 70 EF 05 74 F7 05 50 E3 05 9C 8E 05 68 7A 05 34 1E 05 F0 79 05 6C 35 05 4C 21 05 98 5D 05 F4 99 05 0C A2 05 F0 85 05 D4 65 05 88 1D 05 68 01 05 58 05 05 38 F1 03 2C CD 03 1C DD 03 AA 55 00 19 F5 3D 89 44 42 34 14 69 03 20 69 02 08 99 02 E8 78 02 04 6D 02 F0 8C 02 F8 0C 02 E4 6C 02 FC 24 02 04 09 02 E0 28 02 E4 4C 02 D0 5C 02 EC 28 02 E4 FC 01 04 31 02 E4 5C 02 F8 E8 01 EC D8 01 EC 20 02 E4 08 02 E4 20 02 C8 E8 01 CC 28 02 A4 00 00 AA 55 00 19 CF 44 99 4B B8 41 B4 00 00 B4 00 00 C4 0C 02 D4 14 02 D8 FC 01 B4 00 00 C8 18 02 C8 44 02 CC 20 02 BC 00 00 D8 14 02 E8 2C 02 F0 C8 01 F4 A8 01 1C CD 01 F0 A4 01 F0 C0 01 00 B5 01 F0 0C 02 DC AC 01 DC 14 02 F4 8C 01 DC 6C 01 D8 B4 01 E4 B8 01 AA 55 00 19 E1 4B 8B 52 01 57 D8 AC 01 00 05 02 08 D5 01 FC 8C 01 1C C5 01 5C 95 01 B0 7D 01 98 89 01 A8 89 01 08 82 01 2C 86 01 48 86 01 74 8E 01 84 92 01 6C 8A 01 88 8A 01 70 86 01 74 86 01 84 92 01 54 86 01 64 86 01 64 8E 01 50 8E 01 54 8A 01 50 8E 01 AA 55 00 19 D3 52 3D 59 3B 46 54 8A 01 50 8E 01 48 8E 01 50 92 01 40 8A 01 40 8E 01 3C 8E 01 30 96 01 64 92 01 90 9A 01 A8 9E 01 CC 9A 01 E0 A6 01 F8 A6 01 14 A7 01 2C AF 01 34 B3 01 40 B3 01 4C BB 01 4C B7 01 54 BF 01 5C BF 01 70 CB 01 74 CF 01 7C D3 01 AA 55 00 19 83 59 0B 60 65 74 80 CF 01 88 D7 01 90 DB 01 90 DB 01 98 E3 01 9C E3 01 94 E7 01 9C E7 01 A0 E7 01 A0 EF 01 A8 F3 01 A8 F7 01 A8 F3 01 B8 F7 01 B8 F7 01 BC F3 01 BC F7 01 B4 F3 01 AC F3 01 A8 F3 01 A8 EF 01 A0 EB 01 A0 E3 01 9C DF 01 98 DF 01 AA 55 00 19 51 60 DF 66 5E 4B 9C D7 01 9C D7 01 94 D7 01 80 CF 01 78 CB 01 50 CB 01 30 CF 01 04 C7 01 A0 BA 01 4C 9E 01 48 9A 01 28 9A 01 38 92 01 14 86 01 28 8A 01 20 86 01 24 7E 01 28 8A 01 1C 7E 01 34 8E 01 34 82 01 3C 7E 01 58 7A 01 5C 72 01 50 7E 01 AA 55 00 19 25 67 AD 6D 22 47 4C 7E 01 3C 72 01 3C 7A 01 20 76 01 E4 7D 01 B8 6D 01 BC 6D 01 78 6D 01 5C 95 01 34 8D 01 28 89 01 24 95 01 28 81 01 2C BD 01 20 B5 01 18 99 01 14 B5 01 20 7D 01 F0 84 01 E4 AC 01 E4 C4 01 DC B0 01 DC AC 01 D8 B8 01 E0 D4 01 AA 55 00 19 F1 6D 7D 74 7F 57 C8 80 01 E0 C8 01 E4 BC 01 00 85 01 C4 A8 01 CC B4 01 D0 9C 01 CC D4 01 DC E0 01 00 BD 01 EC A8 01 E4 AC 01 E4 A4 01 E4 14 02 D0 B4 01 E0 E0 01 D4 00 02 D0 E4 01 CC E8 01 D0 D8 01 D4 CC 01 EC FC 01 EC 04 02 EC B0 01 34 B9 01 AA 55 00 19 C3 74 07 7B 22 42 F0 B8 01 14 ED 01 14 C9 01 F8 FC 01 14 C5 01 FC 10 02 08 BD 01 04 E1 01 FC C8 01 F4 20 02 F8 00 02 30 C5 01 1C 05 02 F0 B4 01 F8 10 02 F8 14 02 24 31 02 24 1D 02 F8 14 02 04 19 02 F0 0C 02 F0 24 02 EC E0 01 D8 4C 02 C8 58 02 AA 55 00 19 4B 7B B9 81 41 B3 DC C8 02 F4 D8 02 04 11 04 28 69 04 4C 9D 04 80 9D 04 C8 B5 04 18 D6 04 64 DE 04 AC EA 04 F0 06 05 1C 0B 05 40 1B 05 64 27 05 78 2F 05 8C 3B 05 94 47 05 9C 47 05 A4 53 05 A8 5F 05 AC 63 05 A8 6B 05 B0 77 05 AC 7B 05 A0 5B 05 AA 55 00 19 FD 81 95 88 DD 41 AC 37 05 B4 2B 05 BC 2F 05 B8 33 05 AC 37 05 B0 43 05 B4 53 05 B0 5F 05 B4 6F 05 98 37 05 AC EB 04 BC E3 04 C4 DB 04 C8 DB 04 C4 D3 04 C0 CF 04 C0 D3 04 C4 CF 04 BC CB 04 B4 C7 04 B0 BF 04 B8 C3 04 C4 C3 04 C0 BF 04 B4 BF 04 AA 55 00 19 D9 88 41 8F B4 4F BC BB 04 AC BB 04 AC BF 04 BC B7 04 8C B7 04 8C BF 04 8C BF 04 8C B7 04 94 B3 04 9C B3 04 A0 B3 04 9C B3 04 A0 B7 04 A0 B3 04 90 B3 04 94 BB 04 80 C7 04 00 D3 04 74 EA 04 F0 05 05 94 71 05 84 71 05 4C 69 05 44 5D 05 30 51 05 AA 55 00 19 73 8F D9 95 AD 56 44 4D 05 BC F5 04 84 ED 04 F4 28 05 E4 28 05 F0 48 05 F0 50 05 CC 68 05 20 02 00 4C B3 08 44 DF 08 58 1B 09 58 4B 09 50 6F 09 58 9B 09 58 C7 09 4C EB 09 48 1F 0A 38 4B 0A 54 87 0A 88 93 0A 50 A7 0A B8 CA 0A 00 D2 0A 80 C1 0A AA 55 00 19 1D 96 87 9C CF 46 5C A9 0A 6C 9D 0A 74 9D 0A 94 85 0A 9C 75 0A 88 65 0A 84 59 0A A0 51 0A A0 49 0A A8 45 0A B8 39 0A D0 2D 0A D4 29 0A 0C 22 0A B4 95 0A A8 CE 0A 08 EB 0A C4 C6 0A D8 BA 0A 94 B2 0A 58 A6 0A C4 89 0A 88 01 00 0C 97 03 50 93 03 AA 55 00 19 CB 9C 33 A3 C1 70 7C 9B 03 98 9F 03 A0 A7 03 A0 A7 03 9C B3 03 A8 BB 03 A8 C7 03 8C D7 03 78 F3 03 A0 FB 03 AC F3 03 60 83 03 4C 6B 03 74 67 03 94 5B 03 AC 63 03 B0 63 03 B0 63 03

Also, I found documentation (link ), which says that each data packet starts with 0x54. However, the packet sizes vary.

Could you please help me understand how to correctly parse and convert these packets according to the documentation , and what kind of human-readable data I should expect to get?

Let me know if you'd like help interpreting the documentation or writing a parser for the data format.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions