Forum: Mikrocontroller und Digitale Elektronik ESPHome + ESP32-S3 + mmWave = Verzweifelung


von LaMe (evolutio)


Lesenswert?

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

Ich hatte folgendes Setup:
- XIAO-S3 
(https://botland.de/wifi-und-bt-module-esp32/22878-seeed-xiao-esp32-s3-wifi-bluetooth-seeedstudio-113991114.html)
- XIAO GroveShield 
(https://botland.de/grove-basisauflagen/17041-grove-schild-fur-seeeduino-xiao-auflage-fur-seeeduino-xiao-seeedstudio-103020312-5903351247085.html)
- mmWave 
(https://botland.de/bewegungssensoren/24129-menschliche-statische-anwesenheit-mmwave-24ghz-sensor-fur-seeed-xiao-seeedstudio-101010001.html)

Wie ich es verbunden hatte:
XIAO-S3 auf das GroveShield
Grove2DupontKabel in Steckplatz 6 wenn man von folgendem Layout ausgeht 
auf dem GroveShield:
```
1 2 3 4
5 6 7 8
```

```
Schwarz -> GND
Rot -> 5v (liefert effektiv 3,3v)
Weiß -> RX
Gelb -> TX
```

Ich hatte in meiner xiao-s3.yaml folgendes:
```
esphome:
  name: mmwave-sensor

logger:
  level: DEBUG

esp32:
  variant: esp32s3
  board: seeed_xiao_esp32s3
  framework:
    type: esp-idf


# UART Bus ->
uart:
  id: mmwave_uart
  tx_pin: GPIO43
  rx_pin: GPIO44
  baud_rate: 256000
  parity: NONE
  stop_bits: 1
  # debug:
  #   direction: BOTH
  #   dummy_receiver: false
  #   debug_prefix: "[MODBUS] "
  #   after:
  #     delimiter: "\n"
  #   sequence:
  #     - lambda: UARTDebug::log_string(direction, bytes, debug_prefix);

# register the mmwave radar sensor on the UART bus
ld2410:
  id: seeed_mmwave
  uart_id: mmwave_uart

binary_sensor:
  - platform: ld2410
    has_target:
      name: "Detected someone"
      internal: true

      on_press:
        - logger.log:
            level: INFO
            format: "👉👉👉 RADAR: someone found!"
        # - switch.turn_on: display_backlight

      on_release:
        - logger.log:
            level: INFO
            format: "👋👋👋 RADAR: someone leaved."
        # - switch.turn_off: display_backlight

sensor:
  - platform: ld2410
    moving_distance:
      name: "distance moving object"
      internal: true
      # filters:
      #   - delta: 1.0 # Sendet nur bei Änderung von mind. 1 cm
      on_value:
        - logger.log:
            level: INFO
            format: "🏃 RADAR: moving object at %.0f cm."
            args: ["x"]

    still_distance:
      name: "distance static object"
      internal: true
      # filters:
      #   - delta: 1.0 # Sendet nur bei Änderung von mind. 1 cm
      on_value:
        - logger.log:
            level: INFO
            format: "🧍 RADAR: static object at %.0f cm."
            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:
```
esphome:
  name: mmwave-devkit

logger:
  level: DEBUG

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

uart:
  id: mmwave_uart
  rx_pin: GPIO13
  baud_rate: 256000
  parity: NONE
  stop_bits: 1
  debug:
    direction: BOTH
    dummy_receiver: false
    debug_prefix: "[MODBUS] "
    after:
      delimiter: "\n"
    sequence:
      - lambda: UARTDebug::log_string(direction, bytes, debug_prefix);

ld2410:
  id: seeed_mmwave
  uart_id: mmwave_uart

binary_sensor:
  - platform: ld2410
    has_target:
      name: "Detected someone"

sensor:
  - platform: ld2410
    moving_distance:
      name: "distance moving object"
    still_distance:
      name: "distance static object"
```

Was ich verbunden habe:
```
  GND -> GND
  5v -> 5V
  IO14 -> RX
  IO13 -> TX
```

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

Log:
```
INFO Successfully uploaded program.
INFO Starting log output from /dev/tty.usbmodem11101 with baud rate 
115200
[23:28:48.940][C][component:246]: Setup ld2410 took 251ms
[23:28:48.940][I][app:117]: setup() finished successfully!
[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\xF 
A\x02\x00\xA0\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x04\x00\xA5\x00\x01\x0 
0\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xAB\x00\x04\x03\x02\x01\xFD\xF 
C\xFB\xFA\x02\x00\xAE\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00a\x00\x 
04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xFE\x00\x04\x03\x02\x01"
[23:28:48.973][I][app:151]: ESPHome version 2026.5.3 compiled on 
2026-07-18 23:28:04 +0200
[23:28:48.973][I][app:158]: ESP32 Chip: ESP32-S3 rev0.2, 2 core(s)
[23:28:48.974][C][logger:219]: Logger:
[23:28:48.974][C][logger:219]:   Max Level: DEBUG
[23:28:48.974][C][logger:219]:   Initial Level: DEBUG
[23:28:48.975][C][logger:226]:   Log Baud Rate: 115200
[23:28:48.975][C][logger:226]:   Hardware UART: USB_SERIAL_JTAG
[23:28:48.976][C][logger:235]:   Task Log Buffer Size: 768 bytes
[23:28:49.008][C][uart.idf:254]: UART Bus 0:
[23:28:49.009][C][uart.idf:152]:   TX Pin: GPIO14
[23:28:49.009][C][uart.idf:152]:   RX Pin: GPIO13
[23:28:49.010][C][uart.idf:259]:   RX Buffer Size: 256
[23:28:49.010][C][uart.idf:259]:   RX Full Threshold: 120
[23:28:49.010][C][uart.idf:259]:   RX Timeout: 2
[23:28:49.011][C][uart.idf:268]:   Baud Rate: 256000 baud
[23:28:49.011][C][uart.idf:268]:   Data Bits: 8
[23:28:49.011][C][uart.idf:268]:   Parity: NONE
[23:28:49.011][C][uart.idf:268]:   Stop bits: 1
[23:28:49.061][D][uart_debug:157]: [MODBUS] <<< "\x00\x00\x00\x90"
[23:28:49.087][C][ld2410:185]: LD2410:
[23:28:49.088][C][ld2410:185]:   Firmware version: 0.00.00000000
[23:28:49.088][C][ld2410:185]:   MAC address: unknown
[23:28:49.088][C][ld2410:191]: Binary Sensors:
[23:28:49.089][C][ld2410:016]:   Target 'Detected someone'
[23:28:49.090][C][ld2410:232]:     Device Class: 'occupancy'
[23:28:49.090][C][ld2410:198]: Sensors:
[23:28:49.091][C][ld2410:017]:   MovingTargetDistance 'distance moving 
object'
[23:28:49.091][C][ld2410:017]:     State Class: ''
[23:28:49.091][C][ld2410:017]:     Unit of Measurement: 'cm'
[23:28:49.092][C][ld2410:017]:     Accuracy Decimals: 0
[23:28:49.092][C][ld2410:232]:     Device Class: 'distance'
[23:28:49.093][C][ld2410:223]:     Icon: 'mdi:signal-distance-variant'
[23:28:49.094][C][ld2410:017]:   StillTargetDistance 'distance static 
object'
[23:28:49.094][C][ld2410:017]:     State Class: ''
[23:28:49.094][C][ld2410:017]:     Unit of Measurement: 'cm'
[23:28:49.094][C][ld2410:017]:     Accuracy Decimals: 0
[23:28:49.095][C][ld2410:232]:     Device Class: 'distance'
[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\xF 
A\x02\x00\xA0\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x04\x00\xA5\x00\x01\x0 
0\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00\xAB\x00\x04\x03\x02\x01\xFD\xF 
C\xFB\xFA\x02\x00\xAE\x00\x04\x03\x02\x01\xFD\xFC\xFB\xFA\x02\x00a\x00\x 
04\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
von Schwierig (ruelps)


Lesenswert?

Nichts für ungut, aber außer dir kann wohl niemand was damit anfangen. 
Was soll denn passieren? Eine Fehlermeldung scheint es auf den ersten 
Blick nicht zu geben. Da wirst du wohl mal mit der Software rausrücken 
müssen.
von LaMe (evolutio)


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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.