STM32L475, bare metal, FreeRTOS portfolio

đź“‚ Knowledge Base Roadmap

  1. Phase 1: Bare-Metal SDK
    • From Silicon Handshake to Interrupt-Driven Bluetooth.
  2. Phase 2: Building custom Schedulers
    • Context Switching, Priority Inversion, and SMP concepts.
  3. Phase 3: Building a FreeRTOS application on STM32L475 from Scratch
    • Building a FreeRTOS application on STM32L475 (B-L475E-IOT01A) from Scratch without using IDE.
  4. Phase 4: Modern C++ Transition & RTOS Architecture

🚀 Engineering Modules

Phase 1. Bare_Metal architecture (Cortex M4)


Phase 2: Building custom Schedulers


“Phase 3: Building a FreeRTOS application on STM32L475 from Scratch”


Phase 4: Modern C++ Transition & RTOS Architecture


đź›  Tech Stack

  • Hardware: Discovery kit IoT node (B-L475E-IOT01A)
  • Compiler: arm-none-eabi-gcc (Optimization: -O0 for debug clarity)
  • Debugger: OpenOCD via ST-Link V2-1
  • Operating environment Ubuntu on WSL
  • IDE Microsoft Visual Studio Code

Lesson learned

Everything that I learned - The references, the logic, the hurdles and outcomes during different phases of my excercise. Refer links below,

  1. Bare-Metal Lesson Learned section.
  2. Scheduelr Lesson Learned section.

Code Quality & Automation (applies to FreeRTOS project only)

To ensure the reliability of the FreeRTOS scheduler and application logic, this project uses an automated Code Quality & Automation so that every commit is audited before being deployed.

The comprehensive guide for setting up MISRA C, cppCheck and Lizard guide is here



This site uses Just the Docs, a documentation theme for Jekyll.