ESPHome + ESP32-S3 + mmWave = Verzweifelung

#8075528
Lesenswert?

Hallo Leute, ich habe ein Problem und ich verstehe es nicht mehr, komme auch mit KI nicht weiter :(

Ich hatte folgendes Setup:

Wie ich es verbunden hatte: XIAO-S3 auf das GroveShield Grove2DupontKabel in Steckplatz 6 wenn man von folgendem Layout ausgeht auf dem GroveShield:

1
1 2 3 4
2
5 6 7 8
1
Schwarz -> GND
2
Rot -> 5v (liefert effektiv 3,3v)
3
Weiß -> RX
4
Gelb -> TX

Ich hatte in meiner xiao-s3.yaml folgendes:

1
esphome:
2
  name: mmwave-sensor
3

4
logger:
5
  level: DEBUG
6

7
esp32:
8
  variant: esp32s3
9
  board: seeed_xiao_esp32s3
10
  framework:
11
    type: esp-idf
12

13

14
# UART Bus ->
15
uart:
16
  id: mmwave_uart
17
  tx_pin: GPIO43
18
  rx_pin: GPIO44
19
  baud_rate: 256000
20
  parity: NONE
21
  stop_bits: 1
22
  # debug:
23
  #   direction: BOTH
24
  #   dummy_receiver: false
25
  #   debug_prefix: "[MODBUS] "
26
  #   after:
27
  #     delimiter: "\n"
28
  #   sequence:
29
  #     - lambda: UARTDebug::log_string(direction, bytes, debug_prefix);
30

31
# register the mmwave radar sensor on the UART bus
32
ld2410:
33
  id: seeed_mmwave
34
  uart_id: mmwave_uart
35

36
binary_sensor:
37
  - platform: ld2410
38
    has_target:
39
      name: "Detected someone"
40
      internal: true
41

42
      on_press:
43
        - logger.log:
44
            level: INFO
45
            format: "👉👉👉 RADAR: someone found!"
46
        # - switch.turn_on: display_backlight
47

48
      on_release:
49
        - logger.log:
50
            level: INFO
51
            format: "👋👋👋 RADAR: someone leaved."
52
        # - switch.turn_off: display_backlight
53

54
sensor:
55
  - platform: ld2410
56
    moving_distance:
57
      name: "distance moving object"
58
      internal: true
59
      # filters:
60
      #   - delta: 1.0 # Sendet nur bei Änderung von mind. 1 cm
61
      on_value:
62
        - logger.log:
63
            level: INFO
64
            format: "🏃 RADAR: moving object at %.0f cm."
65
            args: ["x"]
66

67
    still_distance:
68
      name: "distance static object"
69
      internal: true
70
      # filters:
71
      #   - delta: 1.0 # Sendet nur bei Änderung von mind. 1 cm
72
      on_value:
73
        - logger.log:
74
            level: INFO
75
            format: "🧍 RADAR: static object at %.0f cm."
76
            args: ["x"]

Damit konnte ich per App den Sensor einstellen und es hat alles 1A funktioniert.

Dann bin ich auf einen ESP32-S3-DEV-KIT-N8R8 (https://botland.de/wifi-und-bt-module-esp32/23341-esp32-s3-dev-kit-n8r8-wifi-bluetooth-entwicklungsboard-waveshare-24243.html) gegangen, weil ich mehr Pins brauchte, habe einfach 4 Dupont-Kabel genommen und die Pins jeweils richtig verbunden, jetzt geht gar nichts mehr mit folgenden minimal Beispiel:

1
esphome:
2
  name: mmwave-devkit
3

4
logger:
5
  level: DEBUG
6

7
esp32:
8
  board: esp32-s3-devkitc-1
9
  framework:
10
    type: esp-idf
11

12
uart:
13
  id: mmwave_uart
14
  rx_pin: GPIO13
15
  baud_rate: 256000
16
  parity: NONE
17
  stop_bits: 1
18
  debug:
19
    direction: BOTH
20
    dummy_receiver: false
21
    debug_prefix: "[MODBUS] "
22
    after:
23
      delimiter: "\n"
24
    sequence:
25
      - lambda: UARTDebug::log_string(direction, bytes, debug_prefix);
26

27
ld2410:
28
  id: seeed_mmwave
29
  uart_id: mmwave_uart
30

31
binary_sensor:
32
  - platform: ld2410
33
    has_target:
34
      name: "Detected someone"
35

36
sensor:
37
  - platform: ld2410
38
    moving_distance:
39
      name: "distance moving object"
40
    still_distance:
41
      name: "distance static object"

Was ich verbunden habe:

1
  GND -> GND
2
  5v -> 5V
3
  IO14 -> RX
4
  IO13 -> TX

(auch mit dem vertauschen der RX/TX geht es nicht)

Log:

1
INFO Successfully uploaded program.
2
INFO Starting log output from /dev/tty.usbmodem11101 with baud rate 115200
3
[23:28:48.940][C][component:246]: Setup ld2410 took 251ms
4
[23:28:48.940][I][app:117]: setup() finished successfully!
5
[23:28:48.945][D][uart_debug:157]: [MODBUS] >>> "\xFD\xFC\xFB\xFA\x04\x00\xFF\x00\x01\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xA0\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x04\x00\xA5\x00\x01\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xAB\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xAE\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00a\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xFE\x00\x04\x03\x02\x01"
6
[23:28:48.973][I][app:151]: ESPHome version 2026.5.3 compiled on 2026-07-18 23:28:04 +0200
7
[23:28:48.973][I][app:158]: ESP32 Chip: ESP32-S3 rev0.2, 2 core(s)
8
[23:28:48.974][C][logger:219]: Logger:
9
[23:28:48.974][C][logger:219]:   Max Level: DEBUG
10
[23:28:48.974][C][logger:219]:   Initial Level: DEBUG
11
[23:28:48.975][C][logger:226]:   Log Baud Rate: 115200
12
[23:28:48.975][C][logger:226]:   Hardware UART: USB_SERIAL_JTAG
13
[23:28:48.976][C][logger:235]:   Task Log Buffer Size: 768 bytes
14
[23:28:49.008][C][uart.idf:254]: UART Bus 0:
15
[23:28:49.009][C][uart.idf:152]:   TX Pin: GPIO14
16
[23:28:49.009][C][uart.idf:152]:   RX Pin: GPIO13
17
[23:28:49.010][C][uart.idf:259]:   RX Buffer Size: 256
18
[23:28:49.010][C][uart.idf:259]:   RX Full Threshold: 120
19
[23:28:49.010][C][uart.idf:259]:   RX Timeout: 2
20
[23:28:49.011][C][uart.idf:268]:   Baud Rate: 256000 baud
21
[23:28:49.011][C][uart.idf:268]:   Data Bits: 8
22
[23:28:49.011][C][uart.idf:268]:   Parity: NONE
23
[23:28:49.011][C][uart.idf:268]:   Stop bits: 1
24
[23:28:49.061][D][uart_debug:157]: [MODBUS] <<< "\x00\x00\x00\x90"
25
[23:28:49.087][C][ld2410:185]: LD2410:
26
[23:28:49.088][C][ld2410:185]:   Firmware version: 0.00.00000000
27
[23:28:49.088][C][ld2410:185]:   MAC address: unknown
28
[23:28:49.088][C][ld2410:191]: Binary Sensors:
29
[23:28:49.089][C][ld2410:016]:   Target 'Detected someone'
30
[23:28:49.090][C][ld2410:232]:     Device Class: 'occupancy'
31
[23:28:49.090][C][ld2410:198]: Sensors:
32
[23:28:49.091][C][ld2410:017]:   MovingTargetDistance 'distance moving object'
33
[23:28:49.091][C][ld2410:017]:     State Class: ''
34
[23:28:49.091][C][ld2410:017]:     Unit of Measurement: 'cm'
35
[23:28:49.092][C][ld2410:017]:     Accuracy Decimals: 0
36
[23:28:49.092][C][ld2410:232]:     Device Class: 'distance'
37
[23:28:49.093][C][ld2410:223]:     Icon: 'mdi:signal-distance-variant'
38
[23:28:49.094][C][ld2410:017]:   StillTargetDistance 'distance static object'
39
[23:28:49.094][C][ld2410:017]:     State Class: ''
40
[23:28:49.094][C][ld2410:017]:     Unit of Measurement: 'cm'
41
[23:28:49.094][C][ld2410:017]:     Accuracy Decimals: 0
42
[23:28:49.095][C][ld2410:232]:     Device Class: 'distance'
43
[23:28:49.096][C][ld2410:223]:     Icon: 'mdi:signal-distance-variant'

Zurück am XIAO-ESP32, passiert auch nichts mehr. Also meine 3 Ersatz mmWave gelötet -> selbe Ergebnis, nichts passiert. Nicht mal per App kann ich die Konfigurieren.

Ich bin total am verzweifeln weil ich nicht mehr verstehe wieso überhaupt nichts mehr passiert. Ich kann mir auch nicht vorstellen, dass 4 Sensoren kaputt sind.

Zur Sicherheit habe ich mal einfach den RX gezogen und gestartet: Hard resetting via RTS pin... INFO Successfully uploaded program. INFO Starting log output from /dev/tty.usbmodem11101 with baud rate 115200 [23:36:50.334][C][component:246]: Setup ld2410 took 251ms [23:36:50.335][I][app:117]: setup() finished successfully! [23:36:50.352][I][app:151]: ESPHome version 2026.5.3 compiled on 2026-07-18 23:36:39 +0200 [23:36:50.353][I][app:158]: ESP32 Chip: ESP32-S3 rev0.2, 2 core(s) [23:36:50.354][C][logger:219]: Logger: [23:36:50.354][C][logger:219]: Max Level: DEBUG [23:36:50.354][C][logger:219]: Initial Level: DEBUG [23:36:50.355][C][logger:226]: Log Baud Rate: 115200 [23:36:50.355][C][logger:226]: Hardware UART: USB_SERIAL_JTAG [23:36:50.356][C][logger:235]: Task Log Buffer Size: 768 bytes [23:36:50.389][C][uart.idf:254]: UART Bus 0: [23:36:50.389][C][uart.idf:152]: TX Pin: GPIO15 [23:36:50.390][C][uart.idf:152]: RX Pin: GPIO13 [23:36:50.391][C][uart.idf:259]: RX Buffer Size: 256 [23:36:50.391][C][uart.idf:259]: RX Full Threshold: 120 [23:36:50.391][C][uart.idf:259]: RX Timeout: 2 [23:36:50.392][C][uart.idf:268]: Baud Rate: 256000 baud [23:36:50.392][C][uart.idf:268]: Data Bits: 8 [23:36:50.392][C][uart.idf:268]: Parity: NONE [23:36:50.392][C][uart.idf:268]: Stop bits: 1 [23:36:50.445][D][uart_debug:157]: [MODBUS] >>> "\xFD\xFC\xFB\xFA\x04\x00\xFF\x00\x01\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xA0\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x04\x00\xA5\x00\x01\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xAB\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xAE\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00a\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xFE\x00\x04\x03\x02\x01" [23:36:50.472][C][ld2410:185]: LD2410: [23:36:50.472][C][ld2410:185]: Firmware version: 0.00.00000000 [23:36:50.472][C][ld2410:185]: MAC address: unknown [23:36:50.473][C][ld2410:191]: Binary Sensors: [23:36:50.473][C][ld2410:016]: Target 'Detected someone' [23:36:50.474][C][ld2410:232]: Device Class: 'occupancy' [23:36:50.474][C][ld2410:198]: Sensors: [23:36:50.475][C][ld2410:017]: MovingTargetDistance 'distance moving object' [23:36:50.475][C][ld2410:017]: State Class: '' [23:36:50.476][C][ld2410:017]: Unit of Measurement: 'cm' [23:36:50.476][C][ld2410:017]: Accuracy Decimals: 0 [23:36:50.477][C][ld2410:232]: Device Class: 'distance' [23:36:50.477][C][ld2410:223]: Icon: 'mdi:signal-distance-variant' [23:36:50.478][C][ld2410:017]: StillTargetDistance 'distance static object' [23:36:50.478][C][ld2410:017]: State Class: '' [23:36:50.479][C][ld2410:017]: Unit of Measurement: 'cm' [23:36:50.479][C][ld2410:017]: Accuracy Decimals: 0 [23:36:50.479][C][ld2410:232]: Device Class: 'distance' [23:36:50.480][C][ld2410:223]: Icon: 'mdi:signal-distance-variant'

: Bearbeitet durch User
#8075565
Lesenswert?

Hallo, danke für deine Rückmeldung. Die Software ist "ESPHome" sprich die yaml die ich gepostet habe.

Aber ich habe das Problem gerade gefunden, es versteckt sich im Detail. Der mmWave-Sensor hat auf der einen Seite die 5V, GND, 3V3, usw Pins. Laut Hardwarediagram (https://media-cdn.seeedstudio.com/media/wysiwyg/1_84.png) sollte man wohl GND+3V3 nehmen und nicht den 5V-Pin. Dann starten alle Sensoren und man kann ihn wie gewohnt konfigurieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren