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

Câblage pour carte ESP32-S3-DevKitC-1 (style 44 broches, double USB-C) avec module ESP32-S3-WROOM-1 N16R8 (16 MB flash Quad-SPI + 8 MB PSRAM octal).

✓ Niveaux logiques compatibles. ESP32-S3 et DWM3000 fonctionnent tous deux en 3.3 V — connexion directe, pas de level shifter. Le firmware utilise le bus matériel FSPI de l'ESP32-S3 (GPIO12/11/13/10) pour des performances optimales (jusqu'à 80 MHz).
⛔ ESP32-S3 N16R8 = PSRAM OCTAL : GPIO35, GPIO36, GPIO37 sont RÉSERVÉES. Contrairement aux variantes N8R2 (PSRAM Quad), la version R8 utilise un bus octal SPI PSRAM qui occupe en interne GPIO33 à GPIO37. Ne JAMAIS câbler quoi que ce soit dessus, même si la carte les expose physiquement — le firmware planterait au démarrage.

1. Schéma physique — ESP32-S3-DevKitC-1 (44 broches, double USB-C)

Identification :
+3.3 V GND SCK MOSI MISO CS IRQ RST Pin libre RÉSERVÉ PSRAM
ESP32-S3-WROOM-1 N16R8 CE FCC ID: 2AC7Z-ESP32S3 16 MB Flash · 8 MB PSRAM (octal) RGB IO48 LDO 3V3 CH343 / USB RST BOOT UART USB ESP32-S3-DevKitC-1 (44 pins) 3V3 3V3 RST (EN) IO4 IO5 IO6 IO7 IO15 ★ RST IO16 IO17 IO18 IO8 IO3 (strap) IO46 (strap) IO9 IO10 ★ CS IO11 ★ MOSI IO12 ★ SCK IO13 ★ MISO IO14 ★ IRQ 5V (VIN) GND GND TX (IO43) RX (IO44) IO1 IO2 IO42 IO41 IO40 IO39 IO38 IO37 ⛔ PSRAM IO36 ⛔ PSRAM IO35 ⛔ PSRAM IO0 (BOOT) IO45 (strap) IO48 (RGB) IO47 IO21 IO20 (USB D+) IO19 (USB D-) GND ★ 5V 3V3 ★ ← USB-C × 2 (UART + USB-OTG) + boutons RST/BOOT ← Antenne RF ESP32-S3 (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 (bus FSPI)
📐 Orientation physique :
  • Tiens la carte avec les USB-C en bas (UART à gauche, USB-OTG à droite) et l'antenne en haut.
  • Le côté gauche contient toutes les broches utiles pour DWM3000 : 3V3 en haut, puis IO10/IO11/IO12/IO13/IO14 regroupés vers le bas, et IO15 au milieu pour RST.
  • Le côté droit est essentiellement libre — sauf les 3 broches IO35/36/37 en rouge qui sont réservées à la PSRAM octale et ne doivent JAMAIS être câblées.
  • La masse GND est prise sur l'avant-dernière broche en bas, côté droit, pour faciliter le retour.

2. Tableau de correspondance — ESP32-S3 N16R8

Signal GPIO Côté Position (USB en bas) DWM3000 Couleur fil
VCC3V3Gauche2ème depuis le haut (broche 3V3 principale)VCCRouge
GNDGNDDroiteAvant-dernière en bas (juste avant le 5V)GNDNoir
SCKIO12Gauche18ème depuis le haut (au milieu du bloc FSPI)SCKOrange
MOSIIO11Gauche17ème depuis le hautMOSIVert
MISOIO13Gauche19ème depuis le hautMISOBleu
CSIO10Gauche16ème depuis le hautCS_nViolet
IRQIO14Gauche20ème depuis le hautIRQnRose
RSTIO15Gauche8ème depuis le hautRSTnCyan

Astuce repérage : les 5 broches FSPI (IO10/IO11/IO12/IO13/IO14) sont consécutives côté gauche, juste au-dessus de 5V/GND en bas. C'est le seul bloc consécutif de GPIO sur la carte → câblage très propre avec un connecteur 5 broches.

3. Configuration du code

Les #define dans dw3000_uwb_ranging.ino pour l'ESP32-S3 :

#define PIN_SCK    12    // IO12 — FSPI CLK
#define PIN_MOSI   11    // IO11 — FSPI MOSI
#define PIN_MISO   13    // IO13 — FSPI MISO
#define PIN_CS     10    // IO10 — FSPI CS
#define PIN_IRQ    14    // IO14 — Interruption
#define PIN_RST    15    // IO15 — Reset DW3000

L'ESP32-S3 dispose de 3 bus SPI matériels (SPI1 dédié au flash, SPI2/FSPI et SPI3/HSPI libres). Utiliser FSPI (= SPI2_HOST) :

SPIClass spi_dw(FSPI);
spi_dw.begin(PIN_SCK, PIN_MISO, PIN_MOSI, PIN_CS);

Côté Arduino IDE — configuration critique pour N16R8 :

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-S3 et le DWM3000 — vérifier au multimètre la continuité GND.
  • Câbles SPI les plus courts possibles (idéalement < 10 cm). L'ESP32-S3 peut monter à 80 MHz sur le FSPI, mais le DW3000 reste à ~8 MHz max.
  • Antenne UWB du DWM3000 dégagée des plans de masse, du blindage WiFi de l'ESP32-S3 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 (le S3 + WiFi tire jusqu'à 500 mA en pics).
  • Avant de souder/connecter : vérifier au multimètre que le 3V3 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.
  • Tirer profit de la PSRAM 8 MB pour buffers WiFi/UDP étendus si besoin (configurer CONFIG_SPIRAM_USE_MALLOC=y).
⛔ Broches à ne JAMAIS utiliser sur ESP32-S3 N16R8 :
  • IO33 à IO37 — utilisées par la PSRAM octale 8 MB. Sur la version N16R8 spécifiquement (ne s'applique pas à N8R2). Câbler dessus = boot loop garanti.
  • IO26 à IO32 — utilisées par le flash SPI interne, généralement non exposées sur la carte.
  • IO0 (BOOT), IO3, IO45, IO46 — strap pins. Si tirés au mauvais niveau au démarrage, empêchent le boot ou changent la tension flash.
  • IO19, IO20 — réservées au port USB-OTG natif. Utiliser pour autre chose désactive la programmation/debug via l'USB-C de droite.
  • IO48 — connectée à la LED RGB WS2812 onboard.

5. Mode download (flashage)

L'ESP32-S3 a deux options de flashage selon le port USB-C utilisé :

⚠ USB natif et reset : après chaque flash via l'USB natif, le port COM disparaît et réapparaît. Si le Serial Monitor ne se reconnecte pas, vérifier USB CDC On Boot = Enabled et redémarrer la carte.

6. Variantes de cartes ESP32-S3

CarteModuleFlash / PSRAMSCK / MOSI / MISOCS / IRQ / RSTNotes
ESP32-S3 DevKitC-1 N16R8 (réf.)WROOM-116 MB / 8 MB OPIIO12 / IO11 / IO13IO10 / IO14 / IO15Double USB-C, 44 pins. IO33-37 réservées PSRAM octale.
ESP32-S3 DevKitC-1 N8R2WROOM-18 MB / 2 MB QuadIO12 / IO11 / IO13IO10 / IO14 / IO15PSRAM Quad : IO35-37 libres. Sinon identique.
ESP32-S3 DevKitC-1 N8 (sans PSRAM)WROOM-18 MB / —IO12 / IO11 / IO13IO10 / IO14 / IO15Toutes les broches GPIO sont libres.
YD-ESP32-S3 N16R8WROOM-116 MB / 8 MB OPIIO12 / IO11 / IO13IO10 / IO14 / IO15Clone bon marché, pinout compatible DevKitC-1. CH343 USB-Série.
ESP32-S3-DevKitM-1MINI-1variesIO12 / IO11 / IO13IO10 / IO14 / IO15Format réduit avec module MINI (sans PSRAM externe).
Carte ESP32-WROOM-32 classiqueWROOM-324 MB / —D18 / D23 / D19D5 / D27 / D26⚠ Pinout SPI différent — voir schema_cablage_esp32.html.
Makerfabs ESP32-S3 UWB DW3000Carte intégrée : DW3000 déjà câblé. Aucun branchement requis.

Schéma adapté à la carte ESP32-S3-DevKitC-1 N16R8 — projet UWB DW3000 — 2026.