The NUCLEO-L476RG is a development board manufactured by STMicroelectronics (Part ID: NUL476RG$AU1) and is based on the STM32L476RG microcontroller, which features an ARM Cortex-M4 core. This board is designed to provide a flexible and user-friendly platform for developing low-power applications. It supports a wide range of connectivity options, including USB, UART, I2C, and more.
The NUCLEO-L476RG is compatible with the Arduino Uno R3 pinout, making it easy to integrate with Arduino shields and other accessories. Additionally, it includes an ST-LINK/V2-1 debugger/programmer, eliminating the need for an external programmer.
Parameter | Value |
---|---|
Microcontroller | STM32L476RG (ARM Cortex-M4, 80 MHz, 32-bit) |
Flash Memory | 1 MB |
SRAM | 128 KB |
Operating Voltage | 3.3V (core), 5V (via USB or external power supply) |
Input Voltage Range | 7V to 12V (via VIN pin) |
Communication Interfaces | USB, UART, I2C, SPI, CAN, ADC, DAC |
Debugger/Programmer | ST-LINK/V2-1 (embedded) |
GPIO Pins | 51 (including analog and digital pins) |
Arduino Compatibility | Arduino Uno R3 pinout |
Power Consumption | Ultra-low power (down to 1.8 µA in STOP mode) |
Dimensions | 68.6 mm x 53.3 mm |
The NUCLEO-L476RG features a dual-row pin header layout, with compatibility for both STM32 and Arduino Uno R3 pinouts. Below is a summary of the key pin configurations:
Pin Name | Description | Notes |
---|---|---|
PA0-PA15 | General-purpose I/O pins | Can be configured as digital/analog pins |
PB0-PB15 | General-purpose I/O pins | Includes ADC/DAC functionality |
PC0-PC15 | General-purpose I/O pins | Supports alternate functions (e.g., I2C) |
VDD | Power supply (3.3V) | Core operating voltage |
GND | Ground | Common ground for the board |
NRST | Reset pin | Active low reset |
Pin Name | Function | Notes |
---|---|---|
A0-A5 | Analog input pins | Can also be used as digital I/O |
D0-D13 | Digital I/O pins | Includes PWM support on select pins |
VIN | External power input (7V-12V) | Powers the board when USB is not used |
5V | 5V output | Regulated output from USB or VIN |
3.3V | 3.3V output | Regulated output for low-power peripherals |
GND | Ground | Common ground for Arduino shields |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Running the Code:
The following example demonstrates how to blink an LED connected to pin D13:
// Example: Blink an LED on pin D13 (built-in LED on NUCLEO-L476RG)
// Define the LED pin
const int ledPin = 13;
void setup() {
// Initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Turn the LED on
digitalWrite(ledPin, HIGH);
delay(1000); // Wait for 1 second
// Turn the LED off
digitalWrite(ledPin, LOW);
delay(1000); // Wait for 1 second
}
Board Not Detected by IDE:
Code Upload Fails:
Power Issues:
Peripherals Not Working:
Q: Can I use the NUCLEO-L476RG with the Arduino IDE?
A: Yes, the board is compatible with the Arduino IDE. Install the STM32 core for Arduino to get started.
Q: How do I enable low-power modes?
A: Use the STM32 HAL library or STM32CubeMX to configure the microcontroller's power modes.
Q: Is the board compatible with all Arduino shields?
A: The board supports the Arduino Uno R3 pinout, but some shields may require 5V logic, which is not directly supported.
Q: Can I use the board for battery-powered applications?
A: Yes, the STM32L476RG microcontroller is optimized for ultra-low-power applications, making it ideal for battery-powered designs.
This concludes the documentation for the NUCLEO-L476RG development board. For further details, refer to the official datasheet and user manual provided by STMicroelectronics.