Datasheet & Pinout: ESP32 DevKit (USB-C, CH340C) + Expansion Shield

🌐 ESP32 DevKit (USB-C) + Expansion Shield

ESP32 er Arduinoens storebror, der har lÊst til ingeniÞr: dual-core 240 MHz, WiFi og Bluetooth i én chip. Expansion shieldet giver dig stik til alle ben og et DC-stik, sÄ du kan sÊtte sensorer og servoer pÄ uden et breadboard-spaghettimonster.

Du skal bruge: USB-C datakabel, Arduino IDE med ESP32-pakken, og evt. CH340-driveren.

🛒 Kþb ESP32 + Shield📄 Officielt datasheet (PDF)🔌 CH340-driver guide

Datasheetet er Espressifs ESP32-WROOM-32E-modul. StÄr der "ESP32-WROOM-32" (uden E) pÄ metaldÄsen, er pinout og strapping-pins de samme.

⚡ Hurtige specifikationer

Parameter VĂŠrdi
Chip ESP32 (Xtensa LX6 dual-core, op til 240 MHz)
Modul ESP32-WROOM-32 / 32E (tjek metaldÄsen)
Flash Typisk 4 MB
TrÄdlÞst WiFi 802.11 b/g/n (2,4 GHz) + Bluetooth Classic & BLE
Logikspénding 3,3V – benene er IKKE 5V-tolerante
USB USB-C via CH340C USB-serial chip
ADC 12-bit. ADC1: GPIO32–39. ADC2 virker ikke nĂ„r WiFi er tĂŠndt
DAC 2 kanaler: GPIO25, GPIO26
Shield-forsyning DC-stik 6,5–16V (ifþlge produktbeskrivelsen)

📌 Pinout

ESP32-DevKits findes i 30- og 38-pin udgaver, og rĂŠkkefĂžlgen langs kanten varierer mellem producenter. Derfor er tabellen herunder sorteret efter funktion – brug GPIO-nummeret pĂ„ silketrykket (fx "D23" eller "G23" = GPIO23).

Pin Navn Funktion Forbindes til
3V3 3,3V 3,3V udgang fra regulatoren 3,3V-sensorer
VIN / 5V 5V 5V ind (eller ud fra USB) 5V forsyning
GND GND Stel GND
EN Enable/Reset Reset (aktiv LOW) Ikke brug som I/O
GPIO21 / GPIO22 SDA / SCL Standard I2C I2C-moduler
GPIO23 / 19 / 18 / 5 MOSI / MISO / SCK / SS Standard SPI (VSPI) SPI-moduler
GPIO1 / GPIO3 TX0 / RX0 UART0 – bruges af USB Lad vére fri
GPIO17 / GPIO16 TX2 / RX2 UART2 (Serial2) GPS, RS485 m.m.
GPIO2 LED Onboard blÄ LED pÄ de fleste kloner + strapping OK som output
GPIO4, 13, 14, 16–19, 21–23, 25–27, 32, 33 GPIO Sikre allround-pins LED, reléer, knapper
GPIO34, 35, 36 (VP), 39 (VN) Input only Kun indgang, ingen pull-up Analoge sensorer
GPIO0 BOOT ⚠ Strapping – LOW ved opstart = download-mode UndgĂ„
GPIO12 MTDI ⚠ Strapping – HIGH ved opstart kan give flash-fejl UndgĂ„
GPIO15, GPIO5 MTDO / IO5 ⚠ Strapping – OK nĂ„r de ikke trĂŠkkes ved opstart Med omtanke
GPIO6–11 Flash ⛔ Forbundet til modulets flash Brug ALDRIG

Expansion shieldet

  • Hver GPIO er fĂžrt ud som 3-pin header: G (GND), V (forsyning) og S (signal).
  • Tjek silketrykket/jumperen pĂ„ dit shield for om V-rĂŠkken leverer 3,3V eller 5V, fĂžr du sĂŠtter moduler pĂ„.
  • DC-stikket fodrer boardet via shieldets regulator, sĂ„ du ikke behĂžver USB i drift.
  • SĂŠt ESP32'en i, sĂ„ benlabels pĂ„ boardet matcher labels pĂ„ shieldet (3V3 over 3V3, GND over GND).

🔌 SĂ„dan forbinder du den

Komponent Komponent-pin ESP32-pin
LED + 220 Ω Anode / Katode GPIO4 / GND
I2C OLED / BME280 VCC / GND / SDA / SCL 3V3 / GND / GPIO21 / GPIO22
Servo (SG90) RĂžd / Brun / Orange 5V (ekstern) / GND / GPIO13
HC-SR04 ultralyd VCC / Trig / Echo / GND 5V / GPIO5 / GPIO18 via spĂŠndingsdeler / GND
Potentiometer Midterben GPIO34 (ADC1)

5V-moduler der sender signaler ind i ESP32 (fx Echo pÄ HC-SR04) skal gennem en spÊndingsdeler eller logic level converter. 3,3V-signaler ud forstÄs oftest fint af 5V-moduler.

đŸ› ïž OpsĂŠtning i Arduino IDE

  1. Åbn Arduino IDE (2.x anbefales) → Fil → Indstillinger.
  2. IndsĂŠt i "Additional boards manager URLs":
    https://espressif.github.io/arduino-esp32/package_esp32_index.json
  3. GĂ„ til VĂŠrktĂžjer → Board → Boards Manager, sĂžg pĂ„ esp32 og installĂ©r "esp32 by Espressif Systems" (version 3.x).
  4. Vélg board: Vérktþjer → Board → esp32 → ESP32 Dev Module.
  5. Installér evt. CH340-driveren, hvis der ikke dukker en port op.
  6. Vélg den rigtige port under Vérktþjer → Port og tryk Upload.

đŸ’» Eksempelkode

Blink pÄ den indbyggede LED (GPIO2 pÄ de fleste DevKit-kloner) og en WiFi-scanning i Serial Monitor (115200 baud). WiFi-biblioteket fÞlger med ESP32-pakken.

// KompoNemt ESP32 Blink + WiFi-scan
#include <WiFi.h>
const int LED = 2;   // onboard LED pÄ de fleste DevKit-kloner

void setup() {
  pinMode(LED, OUTPUT);
  Serial.begin(115200);
  Serial.println("Hej fra KompoNemt-vĂŠrkstedet!");
  WiFi.mode(WIFI_STA);
  int n = WiFi.scanNetworks();
  for (int i = 0; i < n; i++) {
    Serial.printf("%2d: %s (%d dBm)\n", i + 1, WiFi.SSID(i).c_str(), WiFi.RSSI(i));
  }
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(500);
}

💡 KompoNemt-tip fra vérkstedet

  • Tre forbudte zoner: GPIO6–11 (flash), GPIO0/2/12/15 ved opstart (strapping) og GPIO34–39 som output (kan kun lĂŠse).
  • Analog + WiFi: brug GPIO32–39 (ADC1). ADC2-benene (fx GPIO4, 12–15, 25–27) giver ingen mĂ„linger, nĂ„r WiFi kĂžrer.
  • Brownout ved WiFi-start: ESP32 trĂŠkker strĂžmspidser pĂ„ 300–500 mA. Brug et ordentligt kabel/strĂžmforsyning.
  • 3,3V-logik! Send aldrig 5V direkte ind i et GPIO-ben.

🔧 Fejlfinding

  • "Failed to connect
 Timed out waiting for packet header": hold BOOT-knappen nede, nĂ„r "Connecting
" vises, og slip nĂ„r upload starter.
  • Ingen port: skift USB-C kabel og installĂ©r CH340-driveren.
  • Boardet starter ikke med noget koblet pĂ„: tjek om du har noget pĂ„ GPIO0, 2, 12 eller 15, der trĂŠkker benet ved opstart.
  • "Brownout detector was triggered": dĂ„rlig strĂžmforsyning eller tyndt kabel – prĂžv en anden USB-port eller DC-stikket pĂ„ shieldet.
  • analogRead giver 0/4095: du bruger et ADC2-ben med WiFi tĂŠndt – flyt til GPIO32–39.

Sidder du fast? Skriv til os – vi hjélper gerne.