Skip to content

A comprehensive repository documenting hands-on projects and tutorials for the STM32F103C8T6 (Blue Pill), covering Bare-Metal, HAL, and RTOS concepts.

License

Notifications You must be signed in to change notification settings

MohsenSafari83/Hands-on-STM32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Hands-On STM32

C/C++ STM32CubeIDE STM32CubeMX HAL

Welcome to my STM32 Practical Projects Repository. This repository documents my hands-on learning journey with STM32 microcontrollers. The purpose of this repo is to progress from microcontroller fundamentals and Bare-Metal concepts to advanced peripheral control and Real-Time Operating Systems (RTOS).

This repository will continue to grow as new projects, tutorials, and deep-dives are added.


Repository Overview

This repository contains a collection of structured mini-projects and practical examples, covering:

  • STM32 architecture and memory mapping
  • Low-Level (LL) and Hardware Abstraction Layer (HAL) programming
  • Mastering essential Peripherals (GPIO, Timers, UART, ADC)
  • Working with interrupts (EXTI, NVIC) and DMA
  • Implementing Real-Time Operating Systems (FreeRTOS)

Each project includes the necessary source code, configuration files (e.g., .ioc), and documentation to support learning and reproducibility.


STM32 Projects Portfolio Roadmap (Sorted by Learning Focus)

Category Project Title Description Difficulty Link
Getting Started Introduction to STM32 Basics of STM32, Blue Pill board, CubeIDE & CubeMX setup 🟢Beginner Introduction to STM32
GPIO/Basics LED Blinking First project for configuring a GPIO pin as Output and using HAL_Delay for basic timing. 🟢Beginner LED Blinking
PWM/Timer RGB Traffic Light (PWM) Controls an RGB LED using TIM1 PWM channels and implements complex color fading logic for real-time behavior. 🟡Intermediate RGB Traffic Light (PWM)

🟢 Beginner → Focuses on single peripheral control and basic setup.

🟡 Intermediate → Involves two or more peripherals, interrupts, or timing logic.

🔴 Advanced → Includes complex protocols (I2C, SPI), DMA, or RTOS implementation.


Project Tree Overview


📚 Resources and Documentation

These resources are essential for my STM32 development and learning journey:

📖 Official & Essential Documentation

🌐 Online Tutorials & Community Resources

🎥 Video Playlists


🤝 Connect with Me

About

A comprehensive repository documenting hands-on projects and tutorials for the STM32F103C8T6 (Blue Pill), covering Bare-Metal, HAL, and RTOS concepts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages