NUCLEO-L476RG
The NUCLEO-L476RG is a development board from STMicroelectronics based on the STM32L476RG MCU, and features Arduino Uno V3 connectivity support and ST morpho headers that easily enables the board to be used in collaboration with a wide variety of shields and other add-on boards to expand its functionality. This notably includes the X-NUCLEO-IKS01A3 environmental shield, that comes complete with sensors for temperature, pressure, acceleration, magnetic forces, and motion.
The NUCLEO-L476RG doesn’t include connectivity on its own, so with use in Atmosphere you can either print its data into a debug console, or give it BLE connectivity by connecting it to the X-NUCLEO-IDB05A1 Bluetooth Low Energy expansion board, which features the SPBTLE-RF BlueNRG-MS RF module. Atmosphere supports this module through a corresponding BlueNRG element located in Atmosphere Studio’s Element Library.
Project Specifics
There are no imported sensors or specialized elements or tools native to NUCLEO-L476RG projects.
Hardware Specifics
Some devices may have limitations or design restrictions that cause unexpected behavior when used with Atmosphere. Specific information and details pertaining to the NUCLEO-L476RG and its performance on Atmosphere is noted below.
Code Export
Code exported from the Atmosphere Studio will be in the format of an STM32 Workbench project. If you are importing the code into STM32Cube IDE, then select “Import STM32 Workbench Project” from the import options dialog.
ST Driver Requirements
When you plug a NUCLEO-L476RG into your computer via USB, the device should mount itself as a USB mass storage device. Most computers and operating systems come with the necessary drivers to display this device. However if you experience the device not appearing while plugged in, you likely need to install drivers to enable this. This behavior has been noticed on Windows and Linux operating systems.
To access and download drivers for ST development boards, see the STM32 Utilities page on the ST website.
Default Pin Mapping
Atmosphere configures each peripheral to a default pin for every supported device, based on ideal pairing of pins and their usage. The default pin configuration is set for convenience and enables each peripheral to work naturally without needing to be modified.
All pins can be accessed using the nomenclature P[PORT][PIN]
.
NUCLEO-L476RG projects start with the following pin configuration:
Pin | Description | Notes |
---|---|---|
D0 |
Arduino connector D0 | Maps to PA3 |
D1 |
Arduino connector D1 | Maps to PA2 |
D2 |
Arduino connector D2 | Maps to PA10 |
D3 |
Arduino connector D3 | Maps to PB3 |
D4 |
Arduino connector D4 | Maps to PB5 |
D5 |
Arduino connector D5 | Maps to PB4 |
D6 |
Arduino connector D6 | Maps to PB10 |
D7 |
Arduino connector D7 | Maps to PA8 |
D8 |
Arduino connector D8 | Maps to PA9 |
D9 |
Arduino connector D9 | Maps to PC7 |
D10 |
Arduino connector D10 | Maps to PB6 |
D11 |
Arduino connector D11 | Maps to PA7 |
D12 |
Arduino connector D12 | Maps to PA6 |
D13 |
Arduino connector D13 | Maps to PA5 |
D14 |
Arduino connector D14 | Maps to PB9 |
D15 |
Arduino connector D15 | Maps to PB8 |
A0 |
Arduino connector A0 | Maps to PA0 |
A1 |
Arduino connector A1 | Maps to PA1 |
A2 |
Arduino connector A2 | Maps to PA4 |
A3 |
Arduino connector A3 | Maps to PB0 |
A4 |
Arduino connector A4 | Maps to PC1 |
A5 |
Arduino connector A5 | Maps to PC0 |
P_LED2 |
LED2 | Maps to PA5 |
P_BTN |
User Button | Maps to PC13 |
The default pin for any peripheral can be changed within an element's properties, from an element that references that particular peripheral.
Peripherals
Below is information regarding the NUCLEO-L476RG’s exposed peripherals.
I2C
The I2C bus is exposed via the SCL(D15
) and SDA(D14
) pins on the Arduino header.
SPI
The SPI bus is exposed via the SCK(D3
), MOSI(D11
), and MISO(D12
) pins on the Arduino header.
UART
This UART is exposed via the micro-USB connector on the Nucleo board or the TX (D1
) and RX (D0
) pins on the Arduino header.
ADC
Pins A0
, A1
, A3
, A4
, and A5
may be used for ADC.
Pin A2
can also be used, but you’ll lose any debug print capability since this pin is multiplexed with UART Tx.
PWM
Pins D3
, D4
, D5
, D6
, D7
, D8
, D9
, D10
and D11
can be used as PWM outputs.
Programming Method
Programming the NUCLEO-L476RG can be done by downloading its project firmware from Atmosphere Studio and directly transferring it to the device over USB.
Setup Configuration
In order to program a NUCLEO-L476RG, ensure you have the following initial setup:
- The jumpers on CN2 should populated, connecting the ST-Link to the rest of the Nucleo board.
With the initial setup finished, complete the remaining setup configuration steps:
- The NUCLEO-L476RG is connected to the computer via USB to an available communication port.
- The project to be programmed has been compiled.
Programming Instructions
With setup complete, you can program the NUCLEO-L476RG:
- From Atmosphere Studio’s Embedded tab, click the
button from the tab’s toolbar. This will download the .bin file.
- Locate the downloaded file on your computer, and move it into the ST Nucleo board’s mounted drive.
- After around 5 seconds of programming, the ST Nucleo board will remount itself and your project will begin running on the NUCLEO-L476RG.
If your NUCLEO-L476RG is not appearing as a mounted drive on your computer, it's possible you need to install the proper drivers from STMicroelectronics in order for the board to mount. See this page's Hardware Specifics for information on accessing and installing these drivers.
Guides and Tutorials
Get started using the NUCLEO-L476RG with Atmosphere by walking through the following guides:
NUCLEO-L476RG Guides |
---|
Getting Started with NUCLEO-L476RG |
Demo Projects
Atmosphere includes a variety of NUCLEO-L476RG demo projects for users of all levels. Check them out by clicking the demo’s name to open the project in Atmosphere.
Name | Description |
---|---|
NUCLEO-L476RG Sensor Demo | A complete demo that uses the NUCLEO-L476RG alongside the X-NUCLEO-IDB05A1 BLE shield and X-NUCLEO-IKS01A3 sensor shield that reads data from all shield sensors and sends it to the cloud. |
NUCLEO-L476RG Temperature Demo | A basic demo that uses the NUCLEO-L476RG alongside the X-NUCLEO-IDB05A1 BLE shield and X-NUCLEO-IKS01A3 sensor shield that reads a temperature sensor and sends the data to the cloud. |
Videos
The Atmosphere video library contains the following videos on the NUCLEO-L476RG:
Resources
The following additional resources and downloadable files are available for the NUCLEO-L476RG: