Nucleo-L496ZG development board

2

In this article we look at a piece of hardware we have had for a while, the Nucleo-L496ZG development board.

Overview

This board features a STM32 microcontroller in LQFP144 package, in this case it is a STM32L496ZGTP MCU.
The ST Zio connector, which extends the Arduino Uno V3 connectivity, and the ST morpho headers provide an easy means of expanding the functionality of the Nucleo open development platform with a wide choice of specialized shields.
External SMPS to generate Vcore logic supply (only available on ‘-P’ suffixed boards).
Ethernet compliant with IEEE-802.3-2002 (depending on STM32 support).
USB OTG or full-speed device (depending on STM32 support).
The board features 3 user LEDs.
There are 2 user and reset push-buttons.
32.768 kHz crystal oscillator Board connectors: USB with Micro-AB, SWD, Ethernet RJ45 (depending on STM32 support), ST Zio connector including Arduino Uno V3, ST morpho
Flexible power-supply options: ST-LINK USB VBUS or external sources.
On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration capability: mass storage, virtual COM port and debug port so this means it does not require any separate probe.

Development

Support of a wide choice of Integrated Development Environments (IDEs) including IAR , Keil , GCC-based IDEs, Arm Mbed and the Arduino IDE with STM32Duino support
Arm Mbed Enabled compliant so you can use the online compiler

Hardware

1 /PCS LOT NUCLEO-L496ZG Nucleo development board STM32L4 series development board 100% new original

Code example

This is a simple example using the Arduino IDE with STM32Duino support added

This example is similar to the default blink example but since there are 3 led’s we will flash them all on and off

void setup() 
{
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_GREEN, OUTPUT);
  pinMode(LED_BLUE, OUTPUT);
  pinMode(LED_RED, OUTPUT);
}
 
 
 
// the loop function runs over and over again forever
void loop() 
{
  digitalWrite(LED_GREEN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_GREEN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
  digitalWrite(LED_BLUE, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BLUE, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
  digitalWrite(LED_RED, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_RED, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

and because I really like flashy led examples

void setup() 
{
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_GREEN, OUTPUT);
  pinMode(LED_BLUE, OUTPUT);
  pinMode(LED_RED, OUTPUT);
}
 
 
 
// the loop function runs over and over again forever
void loop() 
{
  digitalWrite(LED_GREEN, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED_BLUE, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED_RED, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_GREEN, LOW);    // turn the LED off by making the voltage LOW                  
  digitalWrite(LED_BLUE, LOW);    // turn the LED off by making the voltage LOW                
  digitalWrite(LED_RED, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Summary

A solid ARM development board that can be purchased for about $29, lots of development options. Hopefully I will explore a few of these in future articles, I have tried Arduino, MBed and will play about with the STM development tools as well.

Links

https://www.st.com/en/evaluation-tools/nucleo-l496zg.html

Share