Skip to content

MootSeeker/ICLED_STM32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ ICLED STM32 Library

A lightweight driver library for controlling Würth eiSos ICLED matrices using STM32 timers and DMA.
This project enables precise PWM-based LED control, ideal for visual effects, matrix animations, and embedded lighting systems on STM32 microcontrollers.

forthebadge
forthebadge
forthebadge
forthebadge


📌 Features

  • DMA-based PWM output using STM32 TIM1
  • 🎨 24-bit GRB color control per LED
  • 💡 105 LEDs supported out-of-the-box (configurable)
  • 🌀 Built-in animations:
    • Knight Rider
    • Color Fade
    • Starfield
    • Snake pattern
  • Effect switching via GPIO interrupt
  • 💻 Fully documented with Doxygen
  • ⚙️ Works with STM32CubeIDE and HAL

🚀 Getting Started

1️⃣ Clone the repository

git clone https://github.com/MootSeeker/ICLED_STM32.git

2️⃣ Open in STM32CubeIDE

Import the project as an existing STM32Cube project.

3️⃣ Configure the hardware

  • Use Timer 1, Channel 1 (TIM1 CH1), mapped to PA8.
  • Make sure DMA is enabled for this timer channel in STM32CubeMX.
  • Ensure system clock is 32 MHz

4️⃣ Build and flash

Build the project and flash it to your STM32 board via ST-Link or DFU.

5️⃣ Watch it glow! 🌈

Button S2 (on GPIOB | GPIO_PIN_5) cycles through the built-in effects.


📦 File Structure

Core/
├── Src/
│   ├── icled.c             # LED driver logic
├── Inc/
│   ├── icled.h             # Public driver API

Examples/
├── example_app.c       # Demo effects & main animation handler
├── example_app.h       # Effect function prototypes

🔧 Hardware Requirements

Component Purpose
STM32 MCU With Timer & DMA support
ICLED Matrix Würth eiSos 7x15 or similar
Button (e.g. S2) Used to switch LED effects
5V Power Supply Powers the LED matrix

🎨 Included Effects

  • ICLED_NightRideDemo() – Classic red dot scanner
  • ICLED_KnightRiderColorFade() – Warm glowing red/orange trail
  • ICLED_StarfieldEffect() – Cyan background with blinking stars
  • ICLED_SnakePattern() – Snake movement with direction and length logic

📘️ Documentation

The entire library is documented with Doxygen.
Generate docs using:

doxygen Doxyfile

🏆 License

This project is licensed under the MIT License – Use it, share it, improve it! ✌️
See LICENSE for details.


📢 Questions or ideas? Open an issue on
👉 github.com/MootSeeker/ICLED_STM32

Let it shine! 💡

About

STM32 Library for WL-ICLED LED from Würth Elektronik unsing PWM and DMA

Topics

Resources

License

Stars

Watchers

Forks

Languages