The STM-32 NUCLEO-F401RE is a development board manufactured by STMicroelectronics, featuring the STM32F401RE microcontroller. This board is designed for rapid prototyping and development of embedded applications. It provides a wide range of interfaces, connectivity options, and compatibility with Arduino and ST morpho headers, making it versatile for various projects.
Explore Projects Built with STM-32 NUCLEO-F401RE
Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
This circuit features a NUCLEO-F303RE microcontroller board interfaced with several modules for sensing, actuation, and communication. It uses I2C communication to display data on an LCD screen, UART communication to interface with an ESP8266 WiFi module, and reads an MQ-2 gas sensor via an ADC pin. The microcontroller also controls a buzzer for audible alerts and a relay module for switching higher power loads, possibly in response to sensor readings or remote commands received over WiFi.
This circuit features a NUCLEO-F303RE microcontroller board interfaced with various modules for sensing, actuation, and communication. It includes an MQ-2 gas sensor for detecting combustible gases, a buzzer for audible alerts, and a relay for controlling high-power devices. Additionally, the circuit uses an ESP8266 WiFi module for wireless connectivity and an I2C LCD display for user interface and data display.
This circuit features a STM32 Nucleo F303RE microcontroller interfaced with three HC-SR04 ultrasonic sensors for distance measurement and a 20x4 LCD display over I2C for data output. Additionally, there is a WS2812 RGB LED strip controlled by the microcontroller for visual feedback. The power supply provides a common 5V to the LCD, ultrasonic sensors, LED strip, and the microcontroller's +5V input, with all components sharing a common ground.
This circuit features an STM32 Nucleo 401RE microcontroller that controls a red LED through a 220-ohm resistor. The LED's cathode is connected to ground, and its anode is connected to the microcontroller via the resistor, allowing the microcontroller to manage the LED's state.
Digital I/O Pins: 50 (shared between Arduino and ST morpho headers)
Analog Input Pins: 6 (12-bit ADC)
PWM Output Pins: 12
Communication Interfaces:
3x USART/UART
3x SPI
2x I2C
Onboard Debugger: ST-LINK/V2-1
Connectivity: USB, Arduino Uno R3 compatibility, ST morpho headers
Dimensions: 68.6 mm x 53.3 mm
Pin Configuration and Descriptions
The STM-32 NUCLEO-F401RE features two main pin headers: Arduino Uno R3-compatible headers and ST morpho headers. Below is a summary of the pin configuration:
Arduino Uno R3-Compatible Header
Pin Name
Function
Description
D0-D1
UART RX/TX
Serial communication pins
D2-D13
Digital I/O
General-purpose digital I/O pins
A0-A5
Analog Input
12-bit ADC channels
3.3V
Power Output
3.3V regulated output
5V
Power Output
5V regulated output
GND
Ground
Common ground
VIN
Power Input
External power input (7V-12V)
RESET
Reset
Resets the microcontroller
ST Morpho Header
Pin Name
Function
Description
PAx, PBx
GPIO
General-purpose I/O pins
VDD
Power Supply
3.3V power supply
GND
Ground
Common ground
NRST
Reset
Microcontroller reset
OSC_IN
External Oscillator In
Input for external clock source
OSC_OUT
External Oscillator Out
Output for external clock source
Usage Instructions
How to Use the Component in a Circuit
Powering the Board:
Connect the board to your computer via the micro-USB cable for power and programming.
Alternatively, supply power through the VIN pin (7V-12V) or the 5V pin.
Programming the Board:
Use the onboard ST-LINK/V2-1 debugger to program the microcontroller.
Compatible with STM32CubeIDE, Keil, IAR, and Arduino IDE.
Connecting Peripherals:
Use the Arduino Uno R3-compatible headers for shields and modules.
Use the ST morpho headers for advanced GPIO and peripheral access.
Uploading Code:
Write your code in the IDE of your choice.
Compile and upload the code via the ST-LINK interface.
Important Considerations and Best Practices
Ensure the input voltage does not exceed the specified range to avoid damage.
Use decoupling capacitors when connecting external components to reduce noise.
Avoid connecting high-current loads directly to the GPIO pins.
Use proper level shifters when interfacing with 5V logic devices.
Example Code for Arduino IDE
Below is an example code to blink an LED connected to pin D13:
// Blink an LED on pin D13 of the STM-32 NUCLEO-F401RE
void setup() {
pinMode(13, OUTPUT); // Set pin D13 as an output
}
void loop() {
digitalWrite(13, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(13, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
Troubleshooting and FAQs
Common Issues and Solutions
The board is not detected by the computer:
Ensure the USB cable is properly connected and functional.
Check if the ST-LINK driver is installed on your computer.
Code upload fails:
Verify that the correct board and port are selected in the IDE.
Ensure no other application is using the ST-LINK interface.
The board does not power on:
Check the power source and ensure the input voltage is within the specified range.
Inspect the USB cable or external power supply for faults.
GPIO pins are not functioning as expected:
Confirm the pin mode is correctly configured in the code.
Check for short circuits or incorrect connections.
FAQs
Q: Can I use the STM-32 NUCLEO-F401RE with 5V logic devices?
A: The board operates at 3.3V logic levels. Use level shifters to interface with 5V devices.
Q: Is the board compatible with Arduino shields?
A: Yes, the board is compatible with most Arduino Uno R3 shields.
Q: How do I reset the board?
A: Press the RESET button on the board or use the NRST pin.
Q: Can I use an external clock source?
A: Yes, connect the external clock to the OSC_IN and OSC_OUT pins on the ST morpho header.