NUCLEO-L432KC
NUCLEO-L432KC
STMicroelectronics
The NUCLEO-L432KC is a development board from STMicroelectronics, designed to facilitate the development of IoT and embedded systems applications. It is based on the STM32L432KC microcontroller, which is a 32-bit ARM Cortex-M4 processor with a high level of integration and low power consumption.
The NUCLEO-L432KC is a versatile development platform that allows users to create and prototype a wide range of applications, including |
IoT devices
Sensor-based systems
Automation and control systems
Robotics and motor control
Smart home and building automation
Wearable devices and healthcare applications
### Microcontroller
STM32L432KC | 32-bit ARM Cortex-M4 processor with FPU |
Up to 80 MHz
256 KB Flash, 64 KB SRAM, and 2 KB EEPROM
Dynamic voltage scaling, sleep modes, and low-power peripherals
### Peripherals and Interfaces
USB OTG controller with integrated Phy
USART, USB, SPI, I2C, I2S, HDMI-CEC | Multiple serial interfaces for communication and peripherals |
CAN, LIN, IrDA | Industry-standard interfaces for automotive and industrial applications |
Analog-to-Digital Converter (ADC) | 12-bit ADC with up to 16 channels |
Digital-to-Analog Converter (DAC) | 12-bit DAC with up to 2 channels |
General-Purpose Input/Output (GPIO) | Up to 82 GPIOs for custom applications |
### Expansion and Debugging
Arduino Uno V3-compatible headers | Easy integration with Arduino shields and accessories |
STMod+ connectors | Expansion connectors for STMicroelectronics modules and boards |
On-board ST-LINK/V2-1 debugger/programmer with USB re-enumeration capability
JTAG/SWD interface | Supports debug and programming through JTAG or SWD interfaces |
### Power and Analog
On-board voltage regulator with 3.3 V or 5 V input
Separate power supply for analog circuitry
-40C to +85C operating temperature range
### Miscellaneous
68 mm x 53 mm (2.68" x 2.09")
Approximately 30 grams
Supports various operating systems, including STM32CubeMX, Keil Vision, and IAR Embedded Workbench
In summary, the NUCLEO-L432KC is a powerful and feature-rich development board that provides an ideal platform for developing and prototyping a wide range of IoT and embedded systems applications. Its low power consumption, high performance, and extensive peripherals make it an excellent choice for developers and makers.
NUCLEO-L432KC STMicroelectronics Documentation
Overview
The NUCLEO-L432KC is a development board from STMicroelectronics based on the STM32L432KC microcontroller. It is part of the STM32 Nucleo family, which provides an affordable, flexible, and easy-to-use platform for developing IoT projects. The board features a 32-bit ARM Cortex-M4 processor, 256 KB of flash memory, and 64 KB of SRAM.
Hardware Features
STM32L432KC microcontroller
32-bit ARM Cortex-M4 processor
256 KB of flash memory
64 KB of SRAM
2x USB connectors (USB FS and USB HS)
2x SPI, 2x I2C, 3x USART, 1x CAN, 1x UART
3V power supply
On-board ST-LINK/V2-1 debugger/programmer
Arduino Uno V3 connectivity
Software Development
The NUCLEO-L432KC can be programmed using various development environments, including:
Keil Vision
IAR Embedded Workbench
ARM mbed
STM32CubeMX
Code Examples
### Example 1: Blinking LED using ARM mbed
This example demonstrates how to use the NUCLEO-L432KC to blink an LED connected to the D13 pin.
```c
#include <mbed.h>
DigitalOut led(D13);
int main() {
while (1) {
led = 1;
wait(0.5);
led = 0;
wait(0.5);
}
}
```
### Example 2: Communicating with a Sensor using I2C (Keil Vision)
This example shows how to use the NUCLEO-L432KC to read temperature data from a TMP102 sensor connected via I2C.
```c
#include <stdint.h>
#include "stm32l4xx_hal.h"
I2C_HandleTypeDef hi2c;
int main() {
uint8_t data[2];
float temperature;
// Initialize I2C interface
hi2c.Instance = I2C1;
hi2c.Init.ClockSpeed = 400000;
HAL_I2C_Init(&hi2c);
while (1) {
// Read temperature data from TMP102 sensor
HAL_I2C_Master_Transmit(&hi2c, 0x48, (uint8_t)0x00, 1, 100);
HAL_I2C_Master_Receive(&hi2c, 0x48, data, 2, 100);
// Convert temperature data to Celsius
temperature = (data[0] << 4) | (data[1] >> 4);
temperature /= 16.0;
// Print temperature value to console
printf("Temperature: %fC
", temperature);
HAL_Delay(1000);
}
}
```
### Example 3: Implementing a Simple Web Server using STM32CubeMX
This example demonstrates how to use the NUCLEO-L432KC to create a simple web server using the STM32CubeMX framework.
```c
#include "stm32l4xx_hal.h"
#include "net.h"
#include "http_server.h"
int main() {
// Initialize Ethernet interface
MX_NET_Init();
// Create HTTP server
HTTP_Server_t server;
server.server_address.sin_family = AF_INET;
server.server_address.sin_port = htons(80);
server.server_address.sin_addr.s_addr = INADDR_ANY;
// Start HTTP server
HTTP_Server_Start(&server);
while (1) {
// Handle HTTP requests
HTTP_Server_Handle_Request(&server);
HAL_Delay(10);
}
}
```
These code examples demonstrate the versatility of the NUCLEO-L432KC in various IoT applications, including sensor integration, communication, and networking.