

The NUCLEO-L476RG is a development board manufactured by STMicroelectronics (Part ID: NUL476RG$AU1). It is based on the STM32L476RG microcontroller, which features an ARM Cortex-M4 core with FPU (Floating Point Unit). This board is designed for low-power applications and is equipped with a wide range of interfaces, making it ideal for prototyping and development in IoT, wearable devices, and energy-efficient embedded systems.








| Parameter | Specification |
|---|---|
| Microcontroller | STM32L476RG (ARM Cortex-M4, 80 MHz, FPU, 32-bit) |
| Flash Memory | 1 MB |
| SRAM | 128 KB |
| Operating Voltage | 3.3 V (onboard regulator supports 5 V input via USB or external power supply) |
| Power Supply Options | USB (5 V), External VIN (7-12 V), or 3.3 V direct input |
| Interfaces | USART, SPI, I2C, CAN, ADC, DAC, PWM, GPIO |
| Debugging | ST-LINK/V2-1 onboard debugger/programmer |
| Connectivity | Arduino Uno V3 compatibility, ST morpho headers |
| Dimensions | 68.6 mm x 53.3 mm |
| Operating Temperature Range | -40°C to +85°C |
The NUCLEO-L476RG features two main pin headers: Arduino Uno V3-compatible headers and ST morpho headers. Below is a summary of the pin configuration:
| Pin Name | Functionality | Notes |
|---|---|---|
| A0-A5 | Analog Inputs | 12-bit ADC channels |
| D0-D1 | UART (RX/TX) | Serial communication |
| D2-D13 | Digital I/O | Configurable as GPIO, PWM, or interrupts |
| 3.3V | Power Output | 3.3 V regulated output |
| 5V | Power Output | 5 V regulated output |
| GND | Ground | Common ground |
| VIN | External Power Input | 7-12 V input |
| RESET | Reset Pin | Resets the microcontroller |
| Pin Name | Functionality | Notes |
|---|---|---|
| PAx, PBx, PCx, etc. | GPIO, ADC, DAC, I2C, SPI, UART | Direct access to STM32L476RG pins |
| VDD | Power Supply | 3.3 V |
| GND | Ground | Common ground |
| NRST | Reset Pin | Resets the microcontroller |
Powering the Board:
Programming the Board:
Connecting Peripherals:
Running the Code:
The NUCLEO-L476RG can be programmed using the Arduino IDE. Below is an example code to blink the onboard LED (LD2, connected to pin D13):
// Blink example for NUCLEO-L476RG
// This code toggles the onboard LED (LD2) every second.
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // Set the onboard LED pin as an output
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(LED_BUILTIN, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
Board Not Detected by Computer:
Code Upload Fails:
Peripherals Not Working:
Board Overheating:
Q: Can I use the NUCLEO-L476RG with 5 V logic devices?
A: Yes, the board is 5 V tolerant on most GPIO pins, but always check the datasheet for specific pin limitations.
Q: Is the NUCLEO-L476RG compatible with Arduino libraries?
A: Yes, many Arduino libraries are compatible, but some may require minor modifications for STM32.
Q: How do I enable low-power modes?
A: Use the STM32 HAL or LL libraries to configure the microcontroller for sleep or standby modes. Refer to the STM32L4 reference manual for detailed instructions.
Q: Can I debug my code using the onboard ST-LINK?
A: Yes, the ST-LINK/V2-1 supports debugging via SWD (Serial Wire Debug) and is compatible with most IDEs.
This concludes the documentation for the NUCLEO-L476RG development board. For further details, refer to the official datasheet and user manual provided by STMicroelectronics.