Die Abbildung wird geladen …
WLAN, Bluetooth LE und zwei Kerne mit 240 MHz auf einem 3,3-V-Board fürs Steckbrett
Jede Lektion führt deinen eigenen Code auf dem Board aus. Besteh ihre Prüfungen, um sie abzuhaken.
Bau das Board in der richtigen Reihenfolge, schalte es dann ein und prüf es, wie auf der Werkbank.
0 von 11 SchrittenFang mit der schwarzen, zweilagigen Platine ohne irgendetwas darauf an. Jedes Bauteil kommt in der Reihenfolge zurück, die eine Fabrik nutzt.
Jeder Fehler passiert in der Simulation wirklich. Lös einen aus, beobachte die Abbildung und lies dann, warum.
Das ESP32-S3-Board von Espressif selbst: ein Modul ESP32-S3-WROOM-1 (Doppelkern Xtensa LX7 mit 240 MHz, 512 KB SRAM, 8 MB Flash, 8 MB PSRAM, WLAN und Bluetooth 5 LE) auf einem Board von 25,4 x 62,7 mm mit zwei Micro-USB-Ports. Der Port UART geht über eine Brücke CP2102N an UART0, wo Uploads und Serial standardmäßig laufen; der Port USB ist das eigene Full-Speed-USB des Chips an GPIO19/20. Ein Regler SGM2212 macht aus USB 3,3 V, die rote D5 zeigt, dass die 3,3 V anliegen, und eine adressierbare RGB-LED sitzt an GPIO38 (GPIO48 bei der älteren v1.0). Jeder GPIO verträgt nur 3,3 V: Speise niemals 5 V ein.
| Leiste | Pin | Name | Funktionen | Pegel | Max. Strom | Hinweise |
|---|---|---|---|---|---|---|
| J1 | 1 | 3V3 | – | 3,3 V | – | 3,3 V Ausgang vom Regler (bis zu etwa 800 mA abzüglich dessen, was das Board verbraucht), oder ein 3,3-V-Eingang, wenn kein USB steckt. |
| J1 | 2 | 3V3 | – | 3,3 V | – | |
| J1 | 3 | RST | CHIP_PU, EN | 3,3 V | – | EN (CHIP_PU). Über R5 (10 kΩ) hochgezogen, mit 1 µF Verzögerung an C6. Zieh ihn auf LOW, um den Chip im Reset zu halten; RESET tut dasselbe. |
| J1 | 4 | 4 | RTC_GPIO4, TOUCH4, ADC1_CH3 | 3,3 V | 20 mA | Die Lektionen nutzen ihn für die LED (mit 330 Ω). ADC1-Kanal, funktioniert auch bei eingeschaltetem WLAN, und eine Touch-Fläche. |
| J1 | 5 | 5 | RTC_GPIO5, TOUCH5, ADC1_CH4 | 3,3 V | 20 mA | |
| J1 | 6 | 6 | RTC_GPIO6, TOUCH6, ADC1_CH5 | 3,3 V | 20 mA | |
| J1 | 7 | 7 | RTC_GPIO7, TOUCH7, ADC1_CH6 | 3,3 V | 20 mA | |
| J1 | 8 | 15 | RTC_GPIO15, U0RTS, ADC2_CH4, XTAL_32K_P | 3,3 V | 20 mA | |
| J1 | 9 | 16 | RTC_GPIO16, U0CTS, ADC2_CH5, XTAL_32K_N | 3,3 V | 20 mA | |
| J1 | 10 | 17 | RTC_GPIO17, U1TXD, ADC2_CH6 | 3,3 V | 20 mA | |
| J1 | 11 | 18 | RTC_GPIO18, U1RXD, ADC2_CH7, CLK_OUT3 | 3,3 V | 20 mA | |
| J1 | 12 | 8 | RTC_GPIO8, TOUCH8, ADC1_CH7, SUBSPICS1, I2C SDA (Arduino default) | 3,3 V | 20 mA | Das Standard-I2C-SDA von Arduino (Wire.begin(8, 9)). |
| J1 | 13 | 3 | RTC_GPIO3, TOUCH3, ADC1_CH2, Strapping-Pin | 3,3 V | 20 mA | Strapping-Pin (Auswahl der JTAG-Quelle). Lass ihn beim Reset offen. |
| J1 | 14 | 46 | GPIO46, Strapping-Pin | 3,3 V | 20 mA | Strapping-Pin. Muss für den Download-Modus beim Reset LOW sein; halt ihn während eines Uploads nie auf HIGH. |
| J1 | 15 | 9 | RTC_GPIO9, TOUCH9, ADC1_CH8, FSPIHD, SUBSPIHD, I2C SCL (Arduino default) | 3,3 V | 20 mA | |
| J1 | 16 | 10 | RTC_GPIO10, TOUCH10, ADC1_CH9, FSPICS0, FSPIIO4, SUBSPICS0, SPI SS (Arduino default) | 3,3 V | 20 mA | |
| J1 | 17 | 11 | RTC_GPIO11, TOUCH11, ADC2_CH0, FSPID, FSPIIO5, SUBSPID, SPI MOSI (Arduino default) | 3,3 V | 20 mA | |
| J1 | 18 | 12 | RTC_GPIO12, TOUCH12, ADC2_CH1, FSPICLK, FSPIIO6, SUBSPICLK, SPI SCK (Arduino default) | 3,3 V | 20 mA | |
| J1 | 19 | 13 | RTC_GPIO13, TOUCH13, ADC2_CH2, FSPIQ, FSPIIO7, SUBSPIQ, SPI MISO (Arduino default) | 3,3 V | 20 mA | |
| J1 | 20 | 14 | RTC_GPIO14, TOUCH14, ADC2_CH3, FSPIWP, FSPIDQS, SUBSPIWP | 3,3 V | 20 mA | |
| J1 | 21 | 5V | – | 5 V | – | VCC_5V: etwa 4,6 V Ausgang von USB hinter den Schottky-Dioden, oder ein 5-V-Eingang ohne Schutz. |
| J1 | 22 | G | – | – | – | |
| J3 | 1 | G | – | – | – | |
| J3 | 2 | TX | U0TXD, CLK_OUT1 | 3,3 V | 20 mA | UART0 TX, mit dem CP2102N verbunden. Ausgaben von Serial kommen hier heraus; halt ihn frei. |
| J3 | 3 | RX | U0RXD, CLK_OUT2 | 3,3 V | 20 mA | UART0 RX vom CP2102N. Uploads kommen hier herein; halt ihn frei. |
| J3 | 4 | 1 | RTC_GPIO1, TOUCH1, ADC1_CH0 | 3,3 V | 20 mA | |
| J3 | 5 | 2 | RTC_GPIO2, TOUCH2, ADC1_CH1 | 3,3 V | 20 mA | |
| J3 | 6 | 42 | MTMS | 3,3 V | 20 mA | |
| J3 | 7 | 41 | MTDI, CLK_OUT1 | 3,3 V | 20 mA | |
| J3 | 8 | 40 | MTDO, CLK_OUT2 | 3,3 V | 20 mA | |
| J3 | 9 | 39 | MTCK, CLK_OUT3, SUBSPICS1 | 3,3 V | 20 mA | |
| J3 | 10 | 38 | FSPIWP, SUBSPIWP, RGB LED data (v1.1) | 3,3 V | 20 mA | Treibt bei v1.1 die RGB-LED (WS2812-Daten). Als GPIO nutzbar, aber die LED reagiert darauf. |
| J3 | 11 | 37 | SPIDQS, FSPIQ, SUBSPIQ | 3,3 V | – | GPIO37 steht auf der Stiftleiste, aber bei diesem Modul N8R8 hängt er am Octal-PSRAM. Ihn zu nutzen, bringt das Board zum Absturz. |
| J3 | 12 | 36 | SPIIO7, FSPICLK, SUBSPICLK | 3,3 V | – | GPIO36 steht auf der Stiftleiste, aber bei diesem Modul N8R8 hängt er am Octal-PSRAM. Ihn zu nutzen, bringt das Board zum Absturz. |
| J3 | 13 | 35 | SPIIO6, FSPID, SUBSPID | 3,3 V | – | GPIO35 steht auf der Stiftleiste, aber bei diesem Modul N8R8 hängt er am Octal-PSRAM. Ihn zu nutzen, bringt das Board zum Absturz. |
| J3 | 14 | 0 | RTC_GPIO0, BOOT button, Strapping-Pin | 3,3 V | 20 mA | Strapping-Pin mit dem BOOT-Taster nach GND. HIGH beim Reset startet deinen Sketch, LOW den Download-Modus. Nach dem Booten gefahrlos als Taster lesbar. |
| J3 | 15 | 45 | GPIO45, Strapping-Pin | 3,3 V | 20 mA | Strapping-Pin (Auswahl der Flash-Spannung). Halt ihn beim Reset auf LOW oder offen. |
| J3 | 16 | 48 | SPICLK_N, SUBSPICLK_N_DIFF, RGB LED data (v1.0) | 3,3 V | 20 mA | Daten der RGB-LED nur bei Boards v1.0. Läuft auf Modulen mit 1,8-V-PSRAM mit 1,8 V. |
| J3 | 17 | 47 | SPICLK_P, SUBSPICLK_P_DIFF | 3,3 V | 20 mA | Läuft auf Modulen mit 1,8-V-PSRAM mit 1,8 V; bei diesem N8R8 mit 3,3 V. |
| J3 | 18 | 21 | RTC_GPIO21 | 3,3 V | 20 mA | |
| J3 | 19 | 20 | RTC_GPIO20, U1CTS, ADC2_CH9, CLK_OUT1, USB_D+ | 3,3 V | 20 mA | USB D+ des Ports USB. Ihn als GPIO zu nutzen, beendet die native USB-Verbindung. |
| J3 | 20 | 19 | RTC_GPIO19, U1RTS, ADC2_CH8, CLK_OUT2, USB_D- | 3,3 V | 20 mA | USB D− des Ports USB. Ihn als GPIO zu nutzen, beendet die native USB-Verbindung. |
| J3 | 21 | G | – | – | – | |
| J3 | 22 | G | – | – | – |
Sensoren und Aktoren, die dieses Board ansteuert, mit den echten Verbindungen.
Jeder freie GPIO über einen 330-Ω-Widerstand: (3,3 − 2,0) V / 330 Ω sind etwa 4 mA, weit innerhalb der 20 mA, die ein Pin standardmäßig liefert.
| Bauteil-Pin | Board-Pin |
|---|---|
| A (through 330 Ω) | 4Kabelfarbe orange |
| K | GKabelfarbe schwarz |
Taster zwischen GPIO5 und G mit pinMode(5, INPUT_PULLUP): Er liest gedrückt LOW. Meide GPIO0, 3, 45 und 46 für Taster, die beim Einschalten gedrückt sein könnten.
| Bauteil-Pin | Board-Pin |
|---|---|
| 1 | 5Kabelfarbe gelb |
| 2 | GKabelfarbe schwarz |
Enden an 3V3 und G, Schleifer an GPIO1 (ADC1). analogRead() liefert 0-4095, analogReadMilliVolts() die kalibrierte Spannung.
| Bauteil-Pin | Board-Pin |
|---|---|
| 1 | 3V3Kabelfarbe rot |
| wiper | 1Kabelfarbe grün |
| 3 | GKabelfarbe schwarz |
Nimm bei eingeschaltetem WLAN ADC1-Pins (GPIO1-10): ADC2 (GPIO11-20) lässt sich nicht lesen, solange das Funkteil läuft. Verbinde die Enden nie mit 5V.
Fotowiderstand von 3V3 nach GPIO2 und 10 kΩ von GPIO2 nach G: mehr Licht, höherer Messwert.
| Bauteil-Pin | Board-Pin |
|---|---|
| LDR leg 1 | 3V3Kabelfarbe rot |
| LDR leg 2 + 10 kΩ to G | 2Kabelfarbe grün |
| 10 kΩ | GKabelfarbe schwarz |
Signal an GPIO18 mit 50 Hz (ledcAttach(18, 50, 14) oder die Bibliothek ESP32Servo). Das 3,3-V-Signal reicht für den SG90.
| Bauteil-Pin | Board-Pin |
|---|---|
| brown (GND) | GKabelfarbe braun |
| red (V+) | 5VKabelfarbe rot |
| orange (signal) | 18Kabelfarbe orange |
Versorg den Servo nur dann aus dem 5V-Pin, wenn es ein einzelner kleiner Servo an einem guten USB-Port ist; sein Anlaufstrom kann das Board in den Brown-out treiben. Größere Lasten brauchen eine eigene Versorgung mit gemeinsamer Masse.
TRIG an GPIO5, ECHO an GPIO6, VCC an 5V.
| Bauteil-Pin | Board-Pin |
|---|---|
| VCC | 5VKabelfarbe rot |
| TRIG | 5Kabelfarbe gelb |
| ECHO (through 1 kΩ / 2 kΩ divider) | 6Kabelfarbe grün |
| GND | GKabelfarbe schwarz |
ECHO ist ein 5-V-Signal: Setz einen Teiler aus 1 kΩ / 2 kΩ vor GPIO6 (etwa 3,3 V) oder nimm einen 3,3-V-Sensor wie den HC-SR04P. Direkte 5 V beschädigen den Pin.
I2C an SDA GPIO8 und SCL GPIO9 mit Wire.begin(8, 9); Adresse 0x68. Der Regler des Breakouts läuft problemlos an 3V3.
| Bauteil-Pin | Board-Pin |
|---|---|
| VCC | 3V3Kabelfarbe rot |
| GND | GKabelfarbe schwarz |
| SDA | 8Kabelfarbe blau |
| SCL | 9Kabelfarbe gelb |
128-x-64-OLED an I2C (GPIO8, GPIO9), Adresse 0x3C, versorgt aus 3V3.
| Bauteil-Pin | Board-Pin |
|---|---|
| VCC | 3V3Kabelfarbe rot |
| GND | GKabelfarbe schwarz |
| SDA | 8Kabelfarbe blau |
| SCL | 9Kabelfarbe gelb |
Passiver Summer zwischen GPIO7 und G, angesteuert mit tone(7, 440) oder ledcWriteTone().
| Bauteil-Pin | Board-Pin |
|---|---|
| + | 7Kabelfarbe orange |
| − | GKabelfarbe schwarz |
Funktioniert ab 2,7 V, also passt 3V3. Lies GPIO1 mit analogReadMilliVolts(1): °C = (mV − 500) / 10.
| Bauteil-Pin | Board-Pin |
|---|---|
| +Vs | 3V3Kabelfarbe rot |
| Vout | 1Kabelfarbe grün |
| GND | GKabelfarbe schwarz |