Die Abbildung wird geladen …
STs Cortex-M4-Board mit 84 MHz und eigenem ST-LINK-Programmer: Arduino-Buchsen oben, jeder Pin an den Morpho-Reihen, 3,3-V-Logik und ein einziges Mini-USB-Kabel für Strom, Uploads und Serial.
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 SchrittenZieh das USB-Kabel und alles an VIN oder E5V ab. Bau oder reparier nie ein Board unter Spannung.
Jeder Fehler passiert in der Simulation wirklich. Lös einen aus, beobachte die Abbildung und lies dann, warum.
Das Nucleo-F401RE sind zwei Boards in einem. Das obere Drittel, hinter einer Reihe von Bruchschlitzen, ist ein ST-LINK/V2-1: ein STM32F103, der von der Mini-USB-Buchse läuft, das Ziel über SWD programmiert und das Serial des Ziels als virtuellen COM-Port an deinen Computer weiterreicht. Darunter liegt das Ziel: ein STM32F401RE (Arm Cortex-M4F mit 84 MHz, 512 KB Flash, 96 KB RAM) mit Arduino-Buchsen im Uno-Stil und zwei 38-poligen ST-Morpho-Stiftleisten, die jeden Pin führen. Die Logik arbeitet mit 3,3 V, aber die meisten Pins vertragen 5 V als digitale Eingänge. Drei Jumper sind wichtig: JP5 wählt USB oder eine externe Versorgung für +5V, JP6 verbindet den 3,3-V-Regler mit der MCU (zieh ihn, um den Strom zu messen), und die beiden CN2-Kappen lassen den ST-LINK an das Ziel. In der Arduino IDE ist es das Nucleo-64-Board des STM32duino-Cores: LED_BUILTIN ist die grüne LD2 an D13, USER_BTN ist der blaue B1 an PC13, und Serial läuft über den ST-LINK.
| Leiste | Pin | Name | Funktionen | Pegel | Max. Strom | Hinweise |
|---|---|---|---|---|---|---|
| CN6 | 1 | NC | – | – | – | |
| CN6 | 2 | IOREF | I/O reference for shields (+3V3) | 3,3 V | – | Mit +3V3 verbunden: Er teilt einem Shield mit, dass die Logik dieses Boards mit 3,3 V arbeitet. |
| CN6 | 3 | NRST | RESET (active low) | 3,3 V | – | LOW setzt den STM32 zurück. Geteilt mit B2 und mit dem ST-LINK, der ihn während eines Uploads herunterzieht. |
| CN6 | 4 | 3V3 | +3V3 from the LD39050 (U4) | 3,3 V | 500 mA | Ausgang von U4, 500 mA, geteilt mit der MCU. Er kann nur dann ein Eingang sein, wenn der ST-LINK abgebrochen ist oder SB2 und SB12 offen sind. |
| CN6 | 5 | 5V | +5V rail, output | 5 V | – | Ausgang: +5V von USB (über T2) oder von E5V/VIN mit JP5 auf 2-3. An USB halt alles im Budget von 300 mA. |
| CN6 | 6 | GND | GND | – | – | |
| CN6 | 7 | GND | GND | – | – | |
| CN6 | 8 | VIN | 7-12 V into the LD1117 (U3) | – | – | 7-12 V Eingang, über den LD1117: 800 mA bei 7 V, 450 mA bis 9 V, 250 mA bis 12 V. Kein Verpolungsschutz. Setz JP5 auf 2-3. |
| CN8 | 1 | A0 | PA0, ADC1_IN0 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN8 | 2 | A1 | PA1, ADC1_IN1 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN8 | 3 | A2 | PA4, ADC1_IN4 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN8 | 4 | A3 | PB0, ADC1_IN8 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN8 | 5 | A4 | PC1, ADC1_IN11 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN8 | 6 | A5 | PC0, ADC1_IN10 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN5 | 1 | D8 | PA9, USART1 TX | 3,3 V5-V-tolerant | 20 mA | |
| CN5 | 2 | D9 | PC7, PWM TIM3_CH2 (1 kHz) | 3,3 V5-V-tolerant | 20 mA | |
| CN5 | 3 | D10 | PB6, PWM TIM4_CH1, SPI CS | 3,3 V5-V-tolerant | 20 mA | |
| CN5 | 4 | D11 | PA7, PWM TIM1_CH1N, SPI1 MOSI | 3,3 V5-V-tolerant | 20 mA | |
| CN5 | 5 | D12 | PA6, SPI1 MISO | 3,3 V5-V-tolerant | 20 mA | |
| CN5 | 6 | D13 | PA5, SPI1 SCK, LD2 | 3,3 V5-V-tolerant | 20 mA | LD2 hängt über 510 Ω an diesem Pin. Er ist auch der Takt von SPI1, also flackert LD2, solange SPI läuft. |
| CN5 | 7 | GND | GND | – | – | |
| CN5 | 8 | AVDD | VDDA / VREF+ (analog supply and ADC reference) | 3,3 V | – | Die Referenz des ADC (VDDA), über die Ferritperle L1 mit VDD verbunden. Er sitzt dort, wo ein Uno AREF hat, ist aber kein Eingang. |
| CN5 | 9 | D14 | PB9, I2C1 SDA | 3,3 V5-V-tolerant | 20 mA | I2C1 (Wire). Das Board hat daran keine Pull-ups: Das Modul oder Shield muss sie mitbringen. |
| CN5 | 10 | D15 | PB8, I2C1 SCL | 3,3 V5-V-tolerant | 20 mA | I2C1 (Wire). Das Board hat daran keine Pull-ups: Das Modul oder Shield muss sie mitbringen. |
| CN9 | 1 | D0 | PA3, USART2 RX | – | – | Ab Werk nicht verbunden: PA2/PA3 (USART2) gehen zum ST-LINK, damit Serial stattdessen deinen Computer erreicht. Schließt du SB62/SB63, liegen sie an der Buchsenleiste. |
| CN9 | 2 | D1 | PA2, USART2 TX | – | – | Ab Werk nicht verbunden: PA2/PA3 (USART2) gehen zum ST-LINK, damit Serial stattdessen deinen Computer erreicht. Schließt du SB62/SB63, liegen sie an der Buchsenleiste. |
| CN9 | 3 | D2 | PA10, USART1 RX | 3,3 V5-V-tolerant | 20 mA | |
| CN9 | 4 | D3 | PB3, PWM TIM2_CH2, SWO | 3,3 V5-V-tolerant | 20 mA | |
| CN9 | 5 | D4 | PB5 | 3,3 V5-V-tolerant | 20 mA | |
| CN9 | 6 | D5 | PB4, PWM TIM3_CH1 | 3,3 V5-V-tolerant | 20 mA | |
| CN9 | 7 | D6 | PB10, PWM TIM2_CH3 | 3,3 V5-V-tolerant | 20 mA | |
| CN9 | 8 | D7 | PA8 | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 1 | PC10 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 2 | PC11 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 3 | PC12 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 4 | PD2 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 5 | VDD | MCU supply, after JP6 | 3,3 V | – | Die Versorgung der MCU, hinter JP6. Miss hier, um zu prüfen, ob JP6 steckt. |
| CN7 | 6 | E5V | External 5 V in (4.75-5.25 V, JP5 on 2-3) | 5 V | – | Externer 5-V-Eingang (4,75-5,25 V), direkt auf +5V, wenn JP5 auf 2-3 steckt. Überhaupt kein Schutz. |
| CN7 | 7 | BOOT0 | BOOT0 (low = run from flash), Strapping-Pin | 3,3 V | – | Auf dem Board auf LOW gezogen, damit der STM32 deinen Sketch aus dem Flash ausführt. Ein Jumper nach VDD (Pin 5) startet stattdessen den ROM-Bootloader von ST. |
| CN7 | 8 | GND | GND | – | – | |
| CN7 | 9 | - | – | – | – | |
| CN7 | 10 | - | – | – | – | |
| CN7 | 11 | - | – | – | – | |
| CN7 | 12 | IOREF | I/O reference (+3V3) | 3,3 V | – | Mit +3V3 verbunden: Er teilt einem Shield mit, dass die Logik dieses Boards mit 3,3 V arbeitet. |
| CN7 | 13 | PA13 | SWDIO | 3,3 V5-V-tolerant | 20 mA | Vom ST-LINK für SWD benutzt. Nimm sie nicht als I/O, solange er verbunden ist. |
| CN7 | 14 | RESET | NRST (active low) | 3,3 V | – | LOW setzt den STM32 zurück. Geteilt mit B2 und mit dem ST-LINK, der ihn während eines Uploads herunterzieht. |
| CN7 | 15 | PA14 | SWCLK | 3,3 V5-V-tolerant | 20 mA | Vom ST-LINK für SWD benutzt. Nimm sie nicht als I/O, solange er verbunden ist. |
| CN7 | 16 | +3.3V | +3V3 from the LD39050 (U4) | 3,3 V | 500 mA | Ausgang von U4, 500 mA, geteilt mit der MCU. Er kann nur dann ein Eingang sein, wenn der ST-LINK abgebrochen ist oder SB2 und SB12 offen sind. |
| CN7 | 17 | PA15 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 18 | +5V | +5V rail, output | 5 V | – | Ausgang: +5V von USB (über T2) oder von E5V/VIN mit JP5 auf 2-3. An USB halt alles im Budget von 300 mA. |
| CN7 | 19 | GND | GND | – | – | |
| CN7 | 20 | GND | GND | – | – | |
| CN7 | 21 | PB7 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 22 | GND | GND | – | – | |
| CN7 | 23 | PC13 | B1 USER, USER_BTN | 3,3 V5-V-tolerant | 3 mA | Der Pin von B1, mit dem 4,7-kΩ-Pull-up R30. PC13 liegt in der Backup-Domäne: Er nimmt höchstens 3 mA auf und darf keinen Strom liefern, also treib nie eine LED damit. |
| CN7 | 24 | VIN | 7-12 V into the LD1117 (U3) | – | – | 7-12 V Eingang, über den LD1117: 800 mA bei 7 V, 450 mA bis 9 V, 250 mA bis 12 V. Kein Verpolungsschutz. Setz JP5 auf 2-3. |
| CN7 | 25 | PC14 | LSE crystal X2 | – | – | Treibt den 32,768-kHz-Quarz X2. Erreicht CN7 nur bei geschlossenen SB48/SB49. |
| CN7 | 26 | - | – | – | – | |
| CN7 | 27 | PC15 | LSE crystal X2 | – | – | Treibt den 32,768-kHz-Quarz X2. Erreicht CN7 nur bei geschlossenen SB48/SB49. |
| CN7 | 28 | PA0 | A0, ADC1_IN0 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN7 | 29 | PH0 | OSC_IN (8 MHz clock from the ST-LINK) | 3,3 V | – | Die Taktpins: Der 8-MHz-Takt des ST-LINK kommt an PH0 (OSC_IN) an. Im Oszillatormodus sind sie nicht 5-V-tolerant; lass sie für den Takt frei. |
| CN7 | 30 | PA1 | A1, ADC1_IN1 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN7 | 31 | PH1 | OSC_OUT | 3,3 V | – | Die Taktpins: Der 8-MHz-Takt des ST-LINK kommt an PH0 (OSC_IN) an. Im Oszillatormodus sind sie nicht 5-V-tolerant; lass sie für den Takt frei. |
| CN7 | 32 | PA4 | A2, ADC1_IN4 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN7 | 33 | VBAT | RTC backup supply, tied to VDD | 3,3 V | – | Die Backup-Versorgung der Echtzeituhr, über SB45 mit VDD verbunden. |
| CN7 | 34 | PB0 | A3, ADC1_IN8 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN7 | 35 | PC2 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 36 | PC1 | A4, ADC1_IN11 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN7 | 37 | PC3 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN7 | 38 | PC0 | A5, ADC1_IN10 | 3,3 V | 20 mA | Ein ADC-Eingang liest 0 bis 3,3 V (AVDD). Im Analogmodus ist der Pin nicht 5-V-tolerant: höchstens 4,0 V, also versorg analoge Sensoren aus 3V3. |
| CN10 | 1 | PC9 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 2 | PC8 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 3 | PB8 | D15, I2C1 SCL | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 4 | PC6 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 5 | PB9 | D14, I2C1 SDA | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 6 | PC5 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 7 | AVDD | VDDA / VREF+ | 3,3 V | – | Die Referenz des ADC (VDDA), über die Ferritperle L1 mit VDD verbunden. Er sitzt dort, wo ein Uno AREF hat, ist aber kein Eingang. |
| CN10 | 8 | U5V | USB 5 V before the T2 switch | 5 V | – | Die 5 V von USB vor dem Schalter T2: liegen an, sobald das Kabel steckt. |
| CN10 | 9 | GND | GND | – | – | |
| CN10 | 10 | - | – | – | – | |
| CN10 | 11 | PA5 | D13, SPI1 SCK, LD2 | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 12 | PA12 | USB OTG FS D+ | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 13 | PA6 | D12, SPI1 MISO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 14 | PA11 | USB OTG FS D- | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 15 | PA7 | D11, SPI1 MOSI, PWM TIM1_CH1N | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 16 | PB12 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 17 | PB6 | D10, PWM TIM4_CH1 | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 18 | - | – | – | – | |
| CN10 | 19 | PC7 | D9, PWM TIM3_CH2 | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 20 | GND | GND | – | – | |
| CN10 | 21 | PA9 | D8, USART1 TX | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 22 | PB2 | BOOT1 | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 23 | PA8 | D7 | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 24 | PB1 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 25 | PB10 | D6, PWM TIM2_CH3 | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 26 | PB15 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 27 | PB4 | D5, PWM TIM3_CH1 | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 28 | PB14 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 29 | PB5 | D4 | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 30 | PB13 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 31 | PB3 | D3, PWM TIM2_CH2, SWO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 32 | AGND | GND | – | – | |
| CN10 | 33 | PA10 | D2, USART1 RX | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 34 | PC4 | GPIO | 3,3 V5-V-tolerant | 20 mA | |
| CN10 | 35 | PA2 | USART2 TX | – | – | Ab Werk nicht verbunden: PA2/PA3 (USART2) gehen zum ST-LINK, damit Serial stattdessen deinen Computer erreicht. Schließt du SB62/SB63, liegen sie an der Buchsenleiste. |
| CN10 | 36 | - | – | – | – | |
| CN10 | 37 | PA3 | USART2 RX | – | – | Ab Werk nicht verbunden: PA2/PA3 (USART2) gehen zum ST-LINK, damit Serial stattdessen deinen Computer erreicht. Schließt du SB62/SB63, liegen sie an der Buchsenleiste. |
| CN10 | 38 | - | – | – | – | |
| CN4 | 1 | VDD_TARGET | target voltage sense | 3,3 V | – | Der eigene SWD-Port des ST-LINK, um ein anderes Board zu programmieren. Nimm die CN2-Kappen ab, um ihn zu benutzen. |
| CN4 | 2 | SWCLK | SWD clock out | 3,3 V | – | Der eigene SWD-Port des ST-LINK, um ein anderes Board zu programmieren. Nimm die CN2-Kappen ab, um ihn zu benutzen. |
| CN4 | 3 | GND | GND | – | – | |
| CN4 | 4 | SWDIO | SWD data | 3,3 V | – | Der eigene SWD-Port des ST-LINK, um ein anderes Board zu programmieren. Nimm die CN2-Kappen ab, um ihn zu benutzen. |
| CN4 | 5 | NRST | target reset out | 3,3 V | – | Der eigene SWD-Port des ST-LINK, um ein anderes Board zu programmieren. Nimm die CN2-Kappen ab, um ihn zu benutzen. |
| CN4 | 6 | SWO | trace in | 3,3 V | – | Der eigene SWD-Port des ST-LINK, um ein anderes Board zu programmieren. Nimm die CN2-Kappen ab, um ihn zu benutzen. |
Sensoren und Aktoren, die dieses Board ansteuert, mit den echten Verbindungen.
Eine LED am PWM-Pin D9 über 220 Ω: etwa 5 mA aus 3,3 V.
| Bauteil-Pin | Board-Pin |
|---|---|
| A | D9Kabelfarbe orange |
| K | GNDKabelfarbe schwarz |
Nimm immer einen Widerstand. Eine blaue oder weiße LED braucht selbst etwa 3 V, also glimmt sie an einem 3,3-V-Pin nur schwach.
Eine Seite an D2, die andere an GND, mit INPUT_PULLUP. Der blaue B1 an PC13 braucht gar keine Verdrahtung.
| Bauteil-Pin | Board-Pin |
|---|---|
| 1 | D2Kabelfarbe blau |
| 3 | GNDKabelfarbe schwarz |
Enden an GND und 3V3, Schleifer an A0: analogRead() liefert 0-4095 nach analogReadResolution(12).
| Bauteil-Pin | Board-Pin |
|---|---|
| 1 | GNDKabelfarbe schwarz |
| W | A0Kabelfarbe gelb |
| 3 | 3V3Kabelfarbe rot |
Versorg es aus 3V3, nie aus 5V: Ein ADC-Eingang im Analogmodus verträgt höchstens 4,0 V und liest 4095 für alles über 3,3 V.
Läuft an 3V3, an A1: 750 mV bei 25 °C und 10 mV pro °C.
| Bauteil-Pin | Board-Pin |
|---|---|
| +Vs | 3V3Kabelfarbe rot |
| Vout | A1Kabelfarbe gelb |
| GND | GNDKabelfarbe schwarz |
Signal am PWM-Pin D9; der 3,3-V-Impuls reicht für die meisten Hobby-Servos.
| Bauteil-Pin | Board-Pin |
|---|---|
| SIG | D9Kabelfarbe orange |
| GND | GNDKabelfarbe braun |
Versorg ihn aus einer eigenen 5-V-Quelle und verbinde die Massen. An USB hat das ganze Board 300 mA, und ein anlaufender Servo braucht mehr.
VCC an 5V, TRIG an D7, ECHO an D8. D8 (PA9) ist 5-V-tolerant, also braucht das 5-V-Echo hier keinen Spannungsteiler.
| Bauteil-Pin | Board-Pin |
|---|---|
| VCC | 5VKabelfarbe rot |
| TRIG | D7Kabelfarbe gelb |
| ECHO | D8Kabelfarbe grün |
| GND | GNDKabelfarbe schwarz |
Führ ECHO an einen digitalen Pin, nie an einen Eingang, den du mit analogRead() liest: Im Analogmodus verträgt ein Pin höchstens 4,0 V.
VCC an 3V3, SDA an D14, SCL an D15. Das GY-521 bringt die I2C-Pull-ups mit, die dem Nucleo fehlen.
| Bauteil-Pin | Board-Pin |
|---|---|
| VCC | 3V3Kabelfarbe rot |
| GND | GNDKabelfarbe schwarz |
| SCL | D15Kabelfarbe gelb |
| SDA | D14Kabelfarbe blau |
Ein 0,96-Zoll-I2C-OLED läuft mit 3,3 V an D14/D15; die meisten Module haben eigene Pull-ups.
| Bauteil-Pin | Board-Pin |
|---|---|
| GND | GNDKabelfarbe schwarz |
| VCC | 3V3Kabelfarbe rot |
| SCL | D15Kabelfarbe gelb |
| SDA | D14Kabelfarbe blau |