Schéma de câblage — ESP32-WROOM-32 + DWM3000 (UWB DS-TWR)

Câblage adapté à TA carte : ESP32 DOIT-style 30 broches avec connecteur USB-C et module ESP-WROOM-32.

✓ Niveaux logiques compatibles. ESP32 et DWM3000 fonctionnent tous deux en 3.3 V — connexion directe, pas de level shifter. Le firmware utilise le bus matériel VSPI de l'ESP32 (GPIO18/23/19/5) pour des performances optimales.

1. Schéma physique — TA carte (DOIT 30 broches USB-C)

[ photo ESP32 DOIT
30 broches USB-C ]
Identification :
  • Module ESP-WROOM-32 (blindage métallique avec antenne PCB intégrée en haut)
  • 30 broches au pas 2.54 mm (15 par côté)
  • Connecteur USB-C centré en bas (variante moderne du DOIT V1)
  • Boutons EN (gauche) et BOOT (droite) entourant l'USB
  • Régulateur AMS1117-3.3 + chip USB-UART CH340
  • Antenne RF en HAUT — extrémité opposée à l'USB
+3.3 V GND SCK MOSI MISO CS IRQ RST Pin libre
ESP-WROOM-32 CE FCC ID: 2AC7Z-ESP32WROOM32 211-161007 PWR D2 AMS1117 CH340 EN BOOT USB-C ESP32 DOIT (30 pins) EN VP / D36 VN / D39 D34 D35 D32 D33 D25 D26 ★ RST D27 ★ IRQ D14 D12 D13 GND VIN (5V) MOSI ★ D23 D22 (SCL) TX0 / D1 RX0 / D3 D21 (SDA) MISO ★ D19 SCK ★ D18 CS ★ D5 TX2 / D17 RX2 / D16 D4 D2 (LED) D15 GND ★ 3V3 ★ ← USB-C + boutons EN/BOOT (côté flashage) ← Antenne RF (côté opposé à l'USB) UWB DWM3000 Qorvo DW3000 module VCC (3.3V) GND SCK MOSI MISO CS IRQ RSTn 100 nF Logique I/O : 3.3 V — connexion directe Câblage 8 fils — connexion directe 3.3 V
📐 Orientation physique :
  • Sur la photo et dans le schéma : tiens la carte avec l'USB-C en bas, l'antenne (module argenté) en haut.
  • Le côté gauche commence par EN en haut et finit par VIN en bas (près USB).
  • Le côté droit commence par D23 en haut et finit par 3V3 en bas (près USB).
  • 6 des 8 fils du DWM3000 sortent du côté droit de la carte (3V3, GND, MOSI, MISO, SCK, CS) — câblage très propre.
  • Seuls IRQ (D27) et RST (D26) sont côté gauche — les fils contournent par le haut.

2. Tableau de correspondance — position physique sur TA carte

Signal GPIO / D Côté Position (USB en bas) DWM3000 Couleur fil
VCC3V3Droite1ère broche en bas (juste à côté de l'USB-C)VCCRouge
GNDGNDDroite2ème broche en bas (au-dessus de 3V3)GNDNoir
SCKD18Droite7ème depuis le bas (au-dessus de D5)SCKOrange
MOSID23Droite1ère depuis le haut (à côté antenne)MOSIVert
MISOD19Droite6ème depuis le bas (entre D5 et D21)MISOBleu
CSD5Droite8ème depuis le bas (entre D17 et D18)CS_nViolet
IRQD27Gauche6ème depuis le bas (entre D14 et D26)IRQnRose
RSTD26Gauche7ème depuis le bas (entre D27 et D25)RSTnCyan

Astuce repérage rapide : les 4 broches SPI (D23 / D19 / D18 / D5) sont les 4 premières broches utilisées en partant du HAUT côté droit (avec un saut de 2 broches entre elles). Les 2 alimentations (3V3 / GND) sont les 2 broches du BAS côté droit, juste à côté de l'USB-C.

3. Configuration du code

Les #define dans dw3000_uwb_ranging.ino ne référencent que des numéros GPIO — strictement identiques à ce qui est imprimé sur la carte (la silkscreen D18 = GPIO18) :

#define PIN_SCK    18    // D18 — VSPI CLK
#define PIN_MOSI   23    // D23 — VSPI MOSI
#define PIN_MISO   19    // D19 — VSPI MISO
#define PIN_CS      5    // D5  — VSPI CS
#define PIN_IRQ    27    // D27 — Interruption
#define PIN_RST    26    // D26 — Reset DW3000

Côté Arduino IDE :

4. Checklist montage

  • Condensateur de découplage 100 nF au plus près des broches VCC/GND du DWM3000 (rappel CLAUDE.md).
  • Masse commune entre l'ESP32 et le DWM3000 — vérifier au multimètre la continuité GND.
  • Câbles SPI les plus courts possibles (idéalement < 10 cm) pour ne pas dégrader l'horloge à 8 MHz.
  • Antenne UWB du DWM3000 dégagée des plans de masse, du blindage WiFi de l'ESP32 et de toute pièce métallique (≥ 2 cm).
  • Si alimentation par USB sur câble long : ajouter un condo électrolytique 10 µF près du DWM3000 pour absorber les pics de courant en TX.
  • Avant de souder/connecter : vérifier au multimètre que le 3V3 (broche d'en-bas côté droit) sort bien 3.3 V ± 0.1 V.
  • Pour la calibration du délai d'antenne : commande série CALIB <dist> avec une distance connue de référence.
⛔ Broches à ne JAMAIS utiliser :
  • GPIO6-GPIO11 — connectées au flash SPI interne du WROOM-32. Non exposées sur ta carte 30-pin (c'est tant mieux).
  • D0 (GPIO0) — non exposé non plus, géré uniquement par le bouton BOOT.
  • D2 et D15 — strap pins, peuvent empêcher le boot si tirés HIGH au démarrage.
  • D34, D35, VP (D36), VN (D39)input only, pas de pull-up/down internes.

5. Mode download (flashage)

La plupart des cartes DOIT auto-reset via le CH340. Si l'IDE bloque sur « Failed to connect » :

  1. Maintenir BOOT enfoncé (bouton à droite de l'USB-C)
  2. Appuyer brièvement sur EN (= RESET, bouton à gauche de l'USB-C) puis le relâcher
  3. Relâcher BOOT
  4. Lancer l'upload — le module est en mode download

6. Variantes de cartes ESP32

CarteBrochesUSBSCK / MOSI / MISOCS / IRQ / RSTNotes
Ta carte (DOIT 30-pin USB-C)30USB-CD18 / D23 / D19D5 / D27 / D26Référence du schéma ci-dessus.
DOIT ESP32 DevKit V1 (USB Micro-B)30Micro-BD18 / D23 / D19D5 / D27 / D26Variante plus ancienne — pinout identique.
ESP32-DevKitC v4 (Espressif)38Micro-B18 / 23 / 195 / 27 / 26Carte officielle Espressif. 8 broches en plus, dont SD0-SD3 (réservées flash, ne pas utiliser).
NodeMCU-32S38Micro-B18 / 23 / 195 / 27 / 26Pinout identique à DevKitC v4.
ESP32-WROVER (DevKitC)38Micro-B18 / 23 / 195 / 27 / 26Avec PSRAM 8 MB.
ESP32-S3-DevKitC44USB-C12 / 11 / 1310 / 14 / 15⚠ Pinout SPI différent — adapter les #define.
Makerfabs ESP32 UWB DW3000Micro-BCarte intégrée : DW3000 déjà câblé. Aucun branchement requis.

Schéma adapté à TA carte ESP32 DOIT 30-pin USB-C — projet UWB DW3000 — avril 2026.