Datasheet & Pinout: ESP32-S3-Zero (Klon)

🚀 ESP32-S3-Zero (Klon)

En klon af Waveshares ESP32-S3-Zero: dual-core 240 MHz, 2 MB PSRAM og WiFi + Bluetooth 5 (LE) pÄ et printkort, der knap er stÞrre end en frimÊrkeblok. Den kan trÊkke farvedisplays, webservere og USB-HID-tricks, som de smÄ C3'ere mÄ give op pÄ.

Du skal bruge: USB-C datakabel, Arduino IDE med ESP32-pakken, og stiftlister + loddekolbe (leveres uden ben).

🛒 Kþb ESP32-S3-Zero📄 Officielt datasheet (PDF)📘 Waveshare wiki (originalen)

⚡ Hurtige specifikationer

Parameter VĂŠrdi
Chip ESP32-S3FH4R2 (Xtensa LX7 dual-core, op til 240 MHz)
Flash / PSRAM 4 MB / 2 MB (Quad/QSPI)
TrÄdlÞst WiFi 802.11 b/g/n 2,4 GHz + Bluetooth 5 (LE), keramisk antenne
LogikspĂŠnding 3,3V
Forsyning USB-C eller 5V-pin (Waveshare angiver 3,7–6V)
USB Native USB (Serial/JTAG, kan ogsÄ vÊre tastatur/mus/MIDI)
RGB-LED WS2812 pÄ GPIO21 (ikke fÞrt ud som ben)
Knapper BOOT (GPIO0) og RESET

📌 Pinout

Benene er labelet med "GP"-numre (GP5 = GPIO5). RĂŠkkefĂžlgen langs kanterne er ikke ens pĂ„ alle kloner – brug silketrykket. Her er hvad benene kan:

Pin Navn Funktion Forbindes til
5V StrĂžm 5V ind / ud fra USB Forsyning
GND Stel GND GND
3V3 3,3V 3,3V ud fra LDO Sensorer
GP1, GP2, GP4–GP13 GPIO / ADC Allround-ben, alle med ADC (GP1–GP10 = ADC1) Sensorer, I2C, SPI
GP3 GPIO ⚠ Strapping (JTAG-valg) Med omtanke
TX / RX GP43 / GP44 UART0 Serielle moduler
Pads i bunden GP14–GP18, GP38–GP42, GP45 m.fl. Ekstra GPIO (GP45 ⚠ strapping) Lod direkte
GP0 BOOT ⚠ Strapping + BOOT-knap Ikke fĂžrt ud
GP21 RGB WS2812 RGB-LED Kun til LED'en
GP19 / GP20 USB D- / D+ ⛔ Native USB Rþr ikke
GP26–GP37 Flash/PSRAM ⛔ Forbundet til hukommelsen Ikke fþrt ud

S3 har fuld GPIO-matrix: I2C, SPI og UART kan lÊgges pÄ (nÊsten) alle frie ben. Arduino-pakken har ingen brugbare standard-pins for dette board, sÄ angiv dem altid selv: Wire.begin(5, 6) eller SPI.begin(sck, miso, mosi, ss) med dine egne pin-numre.

🔌 SĂ„dan forbinder du den

Komponent Komponent-pin S3-Zero-pin
I2C OLED / sensor VCC / GND / SDA / SCL 3V3 / GND / GP5 / GP6 (med Wire.begin(5, 6))
SPI-display (ST7789) SCK / MOSI / CS / DC / RST GP10 / GP11 / GP9 / GP8 / GP7 (med SPI.begin(10, -1, 11, 9))
LED + 220 Ω Anode / Katode GP4 / GND
Analog sensor Signal GP1 eller GP2

UndgĂ„ at bruge GP21 til noget andet – Waveshares eget OLED-eksempel bruger GP21 som SDA, men det er samme ben som RGB-LED'en.

đŸ› ïž 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 → Waveshare ESP32-S3-Zero.
  5. Sét Vérktþjer → USB CDC On Boot → Enabled – ellers kommer der ingen Serial.println() ud i Serial Monitor.
  6. Findes "Waveshare ESP32-S3-Zero" ikke i din version, sÄ vÊlg ESP32S3 Dev Module og sÊt Flash Size = 4MB og PSRAM = QSPI PSRAM (ikke OPI!).
  7. Vélg den rigtige port under Vérktþjer → Port og tryk Upload.

đŸ’» Eksempelkode

RGB-blink pĂ„ LED'en pĂ„ GP21 og en hilsen i Serial Monitor. rgbLedWrite() er indbygget i ESP32-pakken 3.x – ingen ekstra biblioteker.

// KompoNemt ESP32-S3-Zero RGB-blink + Hello
const int RGB = 21;

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("Hej fra KompoNemt-vĂŠrkstedet!");
  Serial.printf("PSRAM: %u bytes\n", ESP.getPsramSize());
}

void loop() {
  rgbLedWrite(RGB, 40, 0, 0);   // rĂžd (byt R/G hvis den lyser grĂžn)
  delay(500);
  rgbLedWrite(RGB, 0, 0, 40);   // blÄ
  delay(500);
  rgbLedWrite(RGB, 0, 0, 0);    // slukket
  delay(500);
}

💡 KompoNemt-tip fra vérkstedet

  • FĂžrste upload: der er ingen USB-serial chip. Hold BOOT nede, mens du sĂŠtter USB-C i, og slip den – sĂ„ er boardet klar til upload.
  • PSRAM-indstillingen: vĂŠlger du OPI PSRAM, crasher boardet i en boot-loop. Den skal stĂ„ pĂ„ QSPI.
  • FarverĂŠkkefĂžlge: nogle WS2812-LED'er er koblet RGB i stedet for GRB. Lyser "rĂžd" grĂžn, sĂ„ byt de to fĂžrste tal.
  • Hold antennen fri: lĂŠg ikke print eller metal over den keramiske antenne, hvis du monterer boardet pĂ„ et bundkort.

🔧 Fejlfinding

  • Ingen port: hold BOOT, sĂŠt USB-C i, slip BOOT. PrĂžv ogsĂ„ et andet kabel.
  • Intet i Serial Monitor: sĂŠt "USB CDC On Boot" til Enabled.
  • Boot-loop efter upload: forkert PSRAM-type – vĂŠlg QSPI PSRAM eller Disabled.
  • I2C-modul findes ikke: du har glemt Wire.begin(SDA, SCL) med dine egne pins.
  • Boardet bliver varmt: tjek for kortslutning mellem nabo-ben efter lodning – de sidder tĂŠt.

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