Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use NUCLEO-L476RG: Examples, Pinouts, and Specs

Image of NUCLEO-L476RG
Cirkit Designer LogoDesign with NUCLEO-L476RG in Cirkit Designer

Introduction

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.

Explore Projects Built with NUCLEO-L476RG

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Emergency Alert System with NUCLEO-F072RB, SIM800L, and GPS NEO 6M
Image of women safety: A project utilizing NUCLEO-L476RG in a practical application
This circuit is an emergency alert system that uses a NUCLEO-F072RB microcontroller to send SMS alerts and make calls via a SIM800L GSM module, while obtaining location data from a GPS NEO 6M module. The system is powered by a Li-ion battery and includes a TP4056 module for battery charging and protection, with a rocker switch to control power to the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
Nucleo 401RE Controlled Robotic Motor with Vibration Feedback and ADXL345 Accelerometer
Image of MLKIT: A project utilizing NUCLEO-L476RG in a practical application
This circuit features a Nucleo 401RE microcontroller as the central processing unit, interfacing with an ADXL345 accelerometer and an INA219 current sensor over an I2C bus for motion sensing and power monitoring, respectively. A DC motor with an encoder is driven by an L298N motor driver, with speed control potentially provided by a connected potentiometer and vibration feedback through a vibration motor. The system is powered by a 12V battery, with voltage regulation provided for the various components.
Cirkit Designer LogoOpen Project in Cirkit Designer
WiFi-Enabled Environmental Monitoring System with Alert Notifications
Image of GAS LEAKAGE DETECTION: A project utilizing NUCLEO-L476RG in a practical application
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.
Cirkit Designer LogoOpen Project in Cirkit Designer
IoT-Enabled Environmental Monitoring System with NUCLEO-F303RE and ESP8266
Image of GAS LEAKAGE DETECTION: A project utilizing NUCLEO-L476RG in a practical application
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.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with NUCLEO-L476RG

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of women safety: A project utilizing NUCLEO-L476RG in a practical application
Battery-Powered Emergency Alert System with NUCLEO-F072RB, SIM800L, and GPS NEO 6M
This circuit is an emergency alert system that uses a NUCLEO-F072RB microcontroller to send SMS alerts and make calls via a SIM800L GSM module, while obtaining location data from a GPS NEO 6M module. The system is powered by a Li-ion battery and includes a TP4056 module for battery charging and protection, with a rocker switch to control power to the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MLKIT: A project utilizing NUCLEO-L476RG in a practical application
Nucleo 401RE Controlled Robotic Motor with Vibration Feedback and ADXL345 Accelerometer
This circuit features a Nucleo 401RE microcontroller as the central processing unit, interfacing with an ADXL345 accelerometer and an INA219 current sensor over an I2C bus for motion sensing and power monitoring, respectively. A DC motor with an encoder is driven by an L298N motor driver, with speed control potentially provided by a connected potentiometer and vibration feedback through a vibration motor. The system is powered by a 12V battery, with voltage regulation provided for the various components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of GAS LEAKAGE DETECTION: A project utilizing NUCLEO-L476RG in a practical application
WiFi-Enabled Environmental Monitoring System with Alert Notifications
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.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of GAS LEAKAGE DETECTION: A project utilizing NUCLEO-L476RG in a practical application
IoT-Enabled Environmental Monitoring System with NUCLEO-F303RE and ESP8266
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.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Low-power IoT devices
  • Wearable technology
  • Sensor interfacing and data logging
  • Prototyping for industrial and consumer electronics
  • Educational and research projects

Technical Specifications

Key Technical Details

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

Pin Configuration and Descriptions

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:

STM32 Pinout

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

Arduino Uno R3 Compatibility

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

Usage Instructions

How to Use the NUCLEO-L476RG in a Circuit

  1. Powering the Board:

    • Connect the board to your computer via the micro-USB port for power and programming.
    • Alternatively, supply power through the VIN pin (7V-12V) or the 5V pin (regulated 5V).
  2. Programming the Board:

    • Use the embedded ST-LINK/V2-1 debugger/programmer to upload code directly from the STM32CubeIDE or Arduino IDE.
    • Ensure the correct board and port are selected in your IDE.
  3. Connecting Peripherals:

    • Use the Arduino Uno R3 headers to connect compatible shields.
    • For custom circuits, use the STM32 pin headers for direct access to GPIO, ADC, I2C, SPI, and other interfaces.
  4. Running the Code:

    • After uploading the code, the board will automatically reset and execute the program.
    • Use the LED indicators (e.g., LD1, LD2) to monitor power and activity.

Important Considerations and Best Practices

  • Power Supply: Avoid exceeding the input voltage range (7V-12V) to prevent damage to the board.
  • Pin Voltage Levels: Ensure that external devices connected to GPIO pins operate at 3.3V logic levels.
  • Debugging: Use the ST-LINK/V2-1 for real-time debugging and monitoring.
  • Low-Power Modes: Leverage the STM32L476RG's ultra-low-power features for battery-powered applications.

Example Code for Arduino IDE

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
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Board Not Detected by IDE:

    • Ensure the USB cable is properly connected and functional.
    • Verify that the correct board and port are selected in the IDE.
    • Update the ST-LINK drivers if necessary.
  2. Code Upload Fails:

    • Check that the board is in programming mode (default mode).
    • Ensure no external devices are interfering with the SWD pins.
  3. Power Issues:

    • Confirm that the input voltage is within the specified range (7V-12V for VIN).
    • Check for loose connections or damaged cables.
  4. Peripherals Not Working:

    • Verify the pin configuration in your code matches the hardware setup.
    • Ensure external devices are powered and operating at 3.3V logic levels.

FAQs

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.