Piedinatura ST NUCLEO-F401RE
La scheda STM32F401 ufficiale di ST con prese in stile Arduino Uno e un programmatore e debugger ST-LINK integrato. Logica a 3,3 V, la maggior parte dei pin tollera i 5 V.
In breve
- Chip
- STM32F401RE (STM32F401RET6)
- Processore
- Arm Cortex-M4 with FPU at 84 MHz, 96 KB SRAM, 512 KB flash
- Livello logico
- 3,3 V. Non tollera i 5 V, salvo i pin indicati sotto.
- Strumento di programmazione
- STM32CubeProgrammer, stlink or dfu-util
- Scheda Arduino (FQBN)
- STMicroelectronics:stm32:Nucleo_64:pnum=NUCLEO_F401RE
- Vista dei pin dal vivo in BoardPilot
- Sì (agente diagnostico disponibile)
Pin da evitare o da usare con attenzione
Pin di strapping: BOOT0, PB2
Il loro livello al reset cambia il modo di avvio. Di solito vanno bene dopo l’avvio.
Seriale USB: RX/D0 (PA3), TX/D1 (PA2)
Usati per il caricamento e il monitor seriale. Qualsiasi cosa collegata qui può impedire il caricamento.
Porta di debug: PA13, PA14
SWD/JTAG. Usarli può impedire al debugger di raggiungere il chip.
Usati sulla scheda: RX/D0 (PA3), TX/D1 (PA2), PC13, PC14, PC15, PH0, PH1
Già collegati a qualcosa sulla scheda (vedi le note nella tabella).
Pin adatti a LED, pulsanti e segnali
D2, D4, PWM/D5, PWM/D6, D7, D8, PWM/D9, PWM/D3, PWM/CS/D10, PWM/MOSI/D11, MISO/D12
Pin predefiniti in Arduino
- I2C
- SDA = SDA/D14, SCL = SCL/D15. Con le impostazioni predefinite della libreria Wire funzionano solo questi pin. Wire usa PB9 (D14) per SDA e PB8 (D15) per SCL. Solo alcune coppie di pin dell’STM32 possono fare I2C (per esempio PB7/PB6 con Wire.setSDA/setSCL).
- SPI
- MOSI = PWM/MOSI/D11, MISO = MISO/D12, SCK = SCK/D13, CS = PWM/CS/D10.
- Ingressi analogici
- A0, A1, A2, A3, A4, A5 (0–3.3 V)
- Pin che tollerano 5 V
- RX/D0 (PA3), TX/D1 (PA2), D2 (PA10), PWM/D3 (PB3), D4 (PB5), PWM/D5 (PB4), PWM/D6 (PB10), D7 (PA8), D8 (PA9), PWM/D9 (PC7), PWM/CS/D10 (PB6), PWM/MOSI/D11 (PA7), MISO/D12 (PA6), SCK/D13 (PA5), SDA/D14 (PB9), SCL/D15 (PB8), A0 (PA0), A1 (PA1), A2 (PA4), A3 (PB0), A4 (PC1), A5 (PC0), PC10, PC11, PC12, PD2, PA13, PA14, PA15, PB7, PC13, PC14, PC15, PH0, PH1, PC2, PC3, PC9, PC8, PC6, PC5, PA12, PA11, PB12, PB2, PB1, PB15, PB14, PB13, PC4
Come programmarla
Collega il cavo USB alla porta mini-USB sul lato dell’ST-LINK. Non serve premere nessun pulsante.
Tutti i 99 pin
| Pin | GPIO | Pin del chip | Funzioni | Note |
|---|---|---|---|---|
| RX/D0 | 3 | PA3 | GPIO, ADC1_IN3, UART2_RX, TIM2_CH4, TIM5_CH4, TIM9_CH2, PWM | Non collegato a questo connettore per impostazione predefinita: PA3/PA2 vanno alla porta seriale USB dell’ST-LINK (ponticelli a saldare SB13/SB14 chiusi, SB62/SB63 aperti). Serial li usa. |
| TX/D1 | 2 | PA2 | GPIO, ADC1_IN2, UART2_TX, TIM2_CH3, TIM5_CH3, TIM9_CH1, PWM | Non collegato a questo connettore per impostazione predefinita: PA3/PA2 vanno alla porta seriale USB dell’ST-LINK (ponticelli a saldare SB13/SB14 chiusi, SB62/SB63 aperti). Serial li usa. |
| D2 | 10 | PA10 | GPIO, UART1_RX, TIM1_CH3, USB_ID, PWM | |
| PWM/D3 | 19 | PB3 | GPIO, SWO, TIM2_CH2, SPI1_SCK, SPI3_SCK, I2C2_SDA, PWM | È anche la linea di trace di debug SWO verso l’ST-LINK (SB15). Va bene come pin normale. |
| D4 | 21 | PB5 | GPIO, TIM3_CH2, SPI1_MOSI, SPI3_MOSI, PWM | |
| PWM/D5 | 20 | PB4 | GPIO, TIM3_CH1, SPI1_MISO, SPI3_MISO, I2C3_SDA, PWM | |
| PWM/D6 | 26 | PB10 | GPIO, I2C2_SCL, SPI2_SCK, TIM2_CH3, PWM | |
| D7 | 8 | PA8 | GPIO, TIM1_CH1, I2C3_SCL, UART1_CK, MCO1, PWM | |
| D8 | 9 | PA9 | GPIO, UART1_TX, TIM1_CH2, USB_VBUS, PWM | |
| PWM/D9 | 39 | PC7 | GPIO, UART6_RX, TIM3_CH2, PWM | |
| PWM/CS/D10 | 22 | PB6 | GPIO, SPI_CS (predef.), I2C1_SCL, UART1_TX, TIM4_CH1, PWM | |
| PWM/MOSI/D11 | 7 | PA7 | GPIO, ADC1_IN7, SPI_MOSI (predef.), SPI1_MOSI, TIM1_CH1N, TIM3_CH2, PWM | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. |
| MISO/D12 | 6 | PA6 | GPIO, ADC1_IN6, SPI_MISO (predef.), SPI1_MISO, TIM3_CH1, PWM | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. |
| SCK/D13 | 5 | PA5 | GPIO, ADC1_IN5, SPI_SCK (predef.), SPI1_SCK, TIM2_CH1, PWM | Su questo pin c’è il LED utente verde LD2 (HIGH = acceso, ponticello a saldare SB21). |
| SDA/D14 | 25 | PB9 | GPIO, I2C_SDA (predef.), I2C1_SDA, TIM4_CH4, TIM11_CH1, SPI2_NSS, PWM | Pin dati I2C predefinito (Wire SDA). |
| SCL/D15 | 24 | PB8 | GPIO, I2C_SCL (predef.), I2C1_SCL, TIM4_CH3, TIM10_CH1, PWM | Pin clock I2C predefinito (Wire SCL). |
| GND | — | |||
| AVDD | — | Alimentazione analogica / riferimento dell’ADC (AREF sulle schede Arduino). Collegato a 3,3 V tramite SB57. | ||
| IOREF | — | Dice agli shield il livello logico: 3,3 V. | ||
| NRST | — | Collegalo a GND per resettare la scheda (come il pulsante nero RESET). | ||
| 3V3 | — | Uscita a 3,3 V per i sensori. | ||
| 5V | — | Uscita a 5 V (dalla USB per impostazione predefinita). | ||
| GND | — | |||
| GND | — | |||
| VIN | — | Ingresso per 7-12 V (con il jumper JP5 su E5V/VIN). Non fornisce alimentazione quando la scheda va con la USB. | ||
| A0 | 0 | PA0 | GPIO, ADC1_IN0, TIM2_CH1, TIM5_CH1, UART2_CTS, WKUP, PWM | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. |
| A1 | 1 | PA1 | GPIO, ADC1_IN1, TIM2_CH2, TIM5_CH2, UART2_RTS, PWM | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. |
| A2 | 4 | PA4 | GPIO, ADC1_IN4, SPI1_NSS, SPI3_NSS | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. |
| A3 | 16 | PB0 | GPIO, ADC1_IN8, TIM3_CH3, TIM1_CH2N, PWM | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. |
| A4 | 33 | PC1 | GPIO, ADC1_IN11 | Ingresso analogico PC1. I ponticelli a saldare SB46/SB56 possono passarlo a PB9 (SDA I2C); il predefinito è PC1. Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. |
| A5 | 32 | PC0 | GPIO, ADC1_IN10 | Ingresso analogico PC0. I ponticelli a saldare SB52/SB51 possono passarlo a PB8 (SCL I2C); il predefinito è PC0. Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. |
| PC10 | 42 | GPIO, SPI3_SCK, SDIO_D2 | ||
| PC11 | 43 | GPIO, SPI3_MISO, SDIO_D3 | ||
| PC12 | 44 | GPIO, SPI3_MOSI, SDIO_CK | ||
| PD2 | 50 | GPIO, TIM3_ETR, SDIO_CMD | ||
| VDD | — | Alimentazione dell’STM32, 3,3 V. | ||
| E5V | — | Ingresso per un alimentatore esterno a 5 V (da 4,75 a 5,25 V, jumper JP5 su E5V). Dalla USB non riceve alimentazione. | ||
| BOOT0 | — | HIGH al reset avvia il bootloader ST invece del tuo programma. Lascialo LOW (predefinito). | ||
| GND | — | |||
| IOREF | — | Come IOREF sul connettore Arduino. | ||
| PA13 | 13 | GPIO, SWDIO | Linea di debug SWD verso l’ST-LINK sulla scheda (SWDIO). Non usarla come I/O, o la programmazione smette di funzionare. | |
| RESET | — | Come RESET sul connettore Arduino. | ||
| PA14 | 14 | GPIO, SWCLK | Linea di debug SWD verso l’ST-LINK sulla scheda (SWCLK). Non usarla come I/O, o la programmazione smette di funzionare. | |
| +3.3V | — | Come 3V3 sul connettore Arduino. | ||
| PA15 | 15 | GPIO, JTDI, TIM2_CH1, SPI1_NSS, SPI3_NSS, PWM | ||
| +5V | — | Come 5V sul connettore Arduino. | ||
| GND | — | |||
| GND | — | |||
| PB7 | 23 | GPIO, I2C1_SDA, UART1_RX, TIM4_CH2, PWM | ||
| GND | — | |||
| PC13 | 45 | GPIO, RTC_OUT | Il pulsante blu USER B1 è collegato a questo pin (SB17). Pin debole: non usarlo per pilotare LED. | |
| VIN | — | Come VIN sul connettore Arduino. | ||
| PC14 | 46 | GPIO, OSC32_IN | Pin del quarzo X2 da 32,768 kHz. Non è collegato a questo connettore sulle MB1136 C-02 e successive (SB48/SB49 aperti). | |
| PC15 | 47 | GPIO, OSC32_OUT | Pin del quarzo X2 da 32,768 kHz. Non è collegato a questo connettore sulle MB1136 C-02 e successive (SB48/SB49 aperti). | |
| PA0 | 0 | GPIO, ADC1_IN0, TIM2_CH1, TIM5_CH1, UART2_CTS, WKUP, PWM | Stesso segnale del pin Arduino A0. | |
| PH0 | 112 | GPIO, OSC_IN | Ingresso del clock ad alta velocità (8 MHz dall’ST-LINK sulle MB1136 C-02 e successive). Non si può usare come pin normale. | |
| PA1 | 1 | GPIO, ADC1_IN1, TIM2_CH2, TIM5_CH2, UART2_RTS, PWM | Stesso segnale del pin Arduino A1. | |
| PH1 | 113 | GPIO, OSC_OUT | Ingresso del clock ad alta velocità (8 MHz dall’ST-LINK sulle MB1136 C-02 e successive). Non si può usare come pin normale. | |
| PA4 | 4 | GPIO, ADC1_IN4, SPI1_NSS, SPI3_NSS | Stesso segnale del pin Arduino A2. | |
| VBAT | — | Alimentazione di backup dell’RTC. Su questa scheda è collegata a 3,3 V (SB45). | ||
| PB0 | 16 | GPIO, ADC1_IN8, TIM3_CH3, TIM1_CH2N, PWM | Stesso segnale del pin Arduino A3. | |
| PC2 | 34 | GPIO, ADC1_IN12, SPI2_MISO | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. | |
| PC1 | 33 | GPIO, ADC1_IN11 | Stesso segnale del pin Arduino A4. | |
| PC3 | 35 | GPIO, ADC1_IN13, SPI2_MOSI | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. | |
| PC0 | 32 | GPIO, ADC1_IN10 | Stesso segnale del pin Arduino A5. | |
| PC9 | 41 | GPIO, TIM3_CH4, I2C3_SDA, MCO2, SDIO_D1, PWM | ||
| PC8 | 40 | GPIO, TIM3_CH3, SDIO_D0, PWM | ||
| PB8 | 24 | GPIO, I2C_SCL (predef.), I2C1_SCL, TIM4_CH3, TIM10_CH1, PWM | Stesso segnale del pin Arduino D15. | |
| PC6 | 38 | GPIO, UART6_TX, TIM3_CH1, PWM | ||
| PB9 | 25 | GPIO, I2C_SDA (predef.), I2C1_SDA, TIM4_CH4, TIM11_CH1, SPI2_NSS, PWM | Stesso segnale del pin Arduino D14. | |
| PC5 | 37 | GPIO, ADC1_IN15 | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. | |
| AVDD | — | Come AVDD sul connettore Arduino. | ||
| U5V | — | 5 V dal connettore USB dell’ST-LINK. | ||
| GND | — | |||
| PA5 | 5 | GPIO, ADC1_IN5, SPI_SCK (predef.), SPI1_SCK, TIM2_CH1, PWM | Stesso segnale del pin Arduino D13. Su questo pin c’è il LED utente verde LD2 (HIGH = acceso, ponticello a saldare SB21). | |
| PA12 | 12 | GPIO, USB_DP, UART1_RTS, UART6_RX, TIM1_ETR | Linea dati USB dell’STM32, ma su questa scheda non c’è nessun connettore USB collegato. | |
| PA6 | 6 | GPIO, ADC1_IN6, SPI_MISO (predef.), SPI1_MISO, TIM3_CH1, PWM | Stesso segnale del pin Arduino D12. | |
| PA11 | 11 | GPIO, USB_DM, UART1_CTS, UART6_TX, TIM1_CH4, PWM | Linea dati USB dell’STM32, ma su questa scheda non c’è nessun connettore USB collegato. | |
| PA7 | 7 | GPIO, ADC1_IN7, SPI_MOSI (predef.), SPI1_MOSI, TIM1_CH1N, TIM3_CH2, PWM | Stesso segnale del pin Arduino D11. | |
| PB12 | 28 | GPIO, SPI2_NSS, TIM1_BKIN | ||
| PB6 | 22 | GPIO, SPI_CS (predef.), I2C1_SCL, UART1_TX, TIM4_CH1, PWM | Stesso segnale del pin Arduino D10. | |
| PC7 | 39 | GPIO, UART6_RX, TIM3_CH2, PWM | Stesso segnale del pin Arduino D9. | |
| GND | — | |||
| PA9 | 9 | GPIO, UART1_TX, TIM1_CH2, USB_VBUS, PWM | Stesso segnale del pin Arduino D8. | |
| PB2 | 18 | GPIO, BOOT1 | BOOT1: conta solo quando BOOT0 è HIGH al reset. Altrimenti è un pin normale. | |
| PA8 | 8 | GPIO, TIM1_CH1, I2C3_SCL, UART1_CK, MCO1, PWM | Stesso segnale del pin Arduino D7. | |
| PB1 | 17 | GPIO, ADC1_IN9, TIM3_CH4, TIM1_CH3N, PWM | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. | |
| PB10 | 26 | GPIO, I2C2_SCL, SPI2_SCK, TIM2_CH3, PWM | Stesso segnale del pin Arduino D6. | |
| PB15 | 31 | GPIO, SPI2_MOSI, TIM1_CH3N, PWM | ||
| PB4 | 20 | GPIO, TIM3_CH1, SPI1_MISO, SPI3_MISO, I2C3_SDA, PWM | Stesso segnale del pin Arduino D5. | |
| PB14 | 30 | GPIO, SPI2_MISO, TIM1_CH2N, PWM | ||
| PB5 | 21 | GPIO, TIM3_CH2, SPI1_MOSI, SPI3_MOSI, PWM | Stesso segnale del pin Arduino D4. | |
| PB13 | 29 | GPIO, SPI2_SCK, TIM1_CH1N, PWM | ||
| PB3 | 19 | GPIO, SWO, TIM2_CH2, SPI1_SCK, SPI3_SCK, I2C2_SDA, PWM | Stesso segnale del pin Arduino D3. | |
| AGND | — | Massa analogica (unita a GND). | ||
| PA10 | 10 | GPIO, UART1_RX, TIM1_CH3, USB_ID, PWM | Stesso segnale del pin Arduino D2. | |
| PC4 | 36 | GPIO, ADC1_IN14 | Tollera i 5 V solo come ingresso digitale. Come ingresso analogico tienilo tra 0 e 3,3 V. | |
| PA2 | 2 | GPIO, ADC1_IN2, UART2_TX, TIM2_CH3, TIM5_CH3, TIM9_CH1, PWM | Stesso segnale del pin Arduino D1. Non collegato a questo connettore per impostazione predefinita: PA3/PA2 vanno alla porta seriale USB dell’ST-LINK (ponticelli a saldare SB13/SB14 chiusi, SB62/SB63 aperti). Serial li usa. | |
| PA3 | 3 | GPIO, ADC1_IN3, UART2_RX, TIM2_CH4, TIM5_CH4, TIM9_CH2, PWM | Stesso segnale del pin Arduino D0. Non collegato a questo connettore per impostazione predefinita: PA3/PA2 vanno alla porta seriale USB dell’ST-LINK (ponticelli a saldare SB13/SB14 chiusi, SB62/SB63 aperti). Serial li usa. |
Controlla il cablaggio con BoardPilot
BoardPilot mostra questa scheda in 3D, segnala i pin rischiosi mentre colleghi e la programma in sicurezza, con un backup prima.
Scarica BoardPilotFonti
- ST UM1724 STM32 Nucleo-64 boards (MB1136), Rev 13, Table 16 Arduino connectors on NUCLEO-F401RE; Table 29 ST morpho connector; Figure 18
- ST UM1724, Rev 13, Figure 5 mechanical dimensions; 6.4 LEDs; 6.5 push-buttons; 6.7 OSC clock; 6.8 USART; Table 10 solder bridges; Table 7 external power
- ST STM32F401xD/xE datasheet DS10086 (DocID025644 Rev 3), Table 8 pin definitions (FT I/O structure, notes 2-4), ADC1_IN channels
- stm32duino Arduino_Core_STM32, variants/STM32F4xx/F401R(B-C-D-E)T/variant_NUCLEO_F401RE.h/.cpp; cores/arduino/pins_arduino.h (PIN_WIRE_SDA 14, PIN_WIRE_SCL 15, SPI 10-13); boards.txt Nucleo_64
- OpenOCD contrib/60-openocd.rules, ST-LINK/V2.1 USB ids 0483:374b, 0483:3752
- File dei dati della scheda e note sulle fonti su GitHub