This repository contains STM32 NUCLEO projects focused on output visualization via an LED matrix and interaction with digital input devices like keyboards and rotary encoders. These exercises integrate SPI communication, GPIO handling, and real-time user input response.
- Function: Controls a LED matrix using SPI communication.
- Features:
- Sends data to LED matrix row by row.
- Supports dynamic patterns or static messages.
- Learning Outcome:
- SPI peripheral configuration and usage.
- LED matrix addressing and timing control.
- Function: Reads input from a matrix keypad and processes key presses.
- Features:
- Scans rows/columns for active key.
- Displays or acts on pressed keys.
- Learning Outcome:
- GPIO input handling.
- Matrix keypad scanning logic.
- Function: Reads and interprets input from a rotary encoder.
- Features:
- Detects direction of rotation.
- Optionally updates counter or UI element.
- Learning Outcome:
- Quadrature signal decoding.
- Interrupt-based input reading.
- Hardware: STM32 NUCLEO board, LED matrix (SPI), keypad, rotary encoder
- Software: STM32CubeIDE, STM32 HAL Drivers
- Concepts:
- SPI communication
- Matrix scanning (keyboard)
- Rotary encoder decoding
- GPIO interrupts and input logic
- Open any project folder inside the repo in STM32CubeIDE.
- Connect the NUCLEO board and corresponding hardware (matrix, keypad, encoder).
- Build and flash the firmware.
- Interact with:
- LED matrix patterns (via SPI)
- Keyboard key detection
- Rotary encoder rotation