# mythilisivasubramanian/stm32-learning architecture

> Architecture diagram of the GitHub repository mythilisivasubramanian/stm32-learning, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mythilisivasubramanian/stm32-learning
- Repository: https://github.com/mythilisivasubramanian/stm32-learning

## Overview

This repository is a personal STM32 and embedded-systems learning log, not a runtime application. Its workflow is a learner progressing from fundamentals toward peripherals, processor internals, and interrupts through explanatory notes and practical experiments. The graph represents the documented learning stages and the notes present in the tree; the README also names future or broader topics that have no dedicated files yet. No source excerpts were provided, so relationships are limited to the README’s stated progression and scope.

Main entry points: [`docs/01_Fundamentals/05_gpio_and_pin_control.md`](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/05_gpio_and_pin_control.md) (GPIO Control), [`docs/01_Fundamentals/07_timers_and_interrupts.md`](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/07_timers_and_interrupts.md) (Timers), [`docs/01_Fundamentals/01_embedded_systems_&_STM32_intro.md`](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/01_embedded_systems_%26_STM32_intro.md) (Embedded Intro), [`docs/02_Cortex-M4 Core Registers/01_Cortex_M4_Core_Registers.md`](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/02_Cortex-M4%20Core%20Registers/01_Cortex_M4_Core_Registers.md) (Core Registers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_fundamentals["Embedded Fundamentals"]
  node_embedded_intro["Embedded Intro"]
  node_bitwise["Bitwise Operations"]
  node_stm32_overview["STM32 Overview"]
  node_stm32_overview_02["STM32 Overview Notes"]
  node_memory_arch["Memory Architecture"]
end

subgraph group_peripherals["STM32 Peripherals"]
  node_gpio_control["GPIO Control"]
  node_gpio_input["GPIO Inputs"]
end

subgraph group_processor["Cortex-M4 Internals"]
  node_core_registers["Core Registers"]
  node_register_practice["Register Practice"]
  node_cortex_internals["Cortex-M4 Internals"]
  node_cortex_test_notes["Cortex-M4 Notes<br/>[test.md]"]
end

subgraph group_interrupts["Interrupt Handling"]
  node_timers["Timers"]
  node_nvic["NVIC and Interrupts"]
end

node_learner(("Learner"))
node_broader_topics["Further Topics<br/>[README.md]"]

node_learner -->|"studies"| node_embedded_intro
node_learner -->|"studies"| node_bitwise
node_learner -->|"studies"| node_stm32_overview
node_learner -->|"studies"| node_stm32_overview_02
node_learner -->|"studies"| node_memory_arch
node_learner -->|"studies"| node_gpio_control
node_learner -->|"studies"| node_gpio_input
node_learner -->|"studies"| node_timers
node_learner -->|"studies"| node_core_registers
node_learner -->|"studies"| node_register_practice
node_learner -->|"studies"| node_cortex_internals
node_learner -->|"studies"| node_cortex_test_notes
node_learner -->|"studies"| node_nvic
node_embedded_intro -->|"progresses to"| node_gpio_control
node_gpio_control -->|"progresses to"| node_timers
node_timers -->|"continues into"| node_core_registers
node_learner -->|"tracks"| node_broader_topics

click node_embedded_intro "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/01_embedded_systems_%26_STM32_intro.md"
click node_bitwise "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/02_Bitwise_Operations.md"
click node_stm32_overview "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/03_STM32_Overview.md"
click node_stm32_overview_02 "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/03_STM32_Overview_02.md"
click node_memory_arch "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/04_stm32_architecture_and_memory.md"
click node_gpio_control "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/05_gpio_and_pin_control.md"
click node_gpio_input "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/06_gpio_input_and_button_handling.md"
click node_timers "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/07_timers_and_interrupts.md"
click node_core_registers "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/02_Cortex-M4%20Core%20Registers/01_Cortex_M4_Core_Registers.md"
click node_register_practice "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/02_Cortex-M4%20Core%20Registers/01_Cortex_M4_Core_Registers_Practical.md"
click node_cortex_internals "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/03_Inside_Cortex_M4/01_Inside_Cortext_M4.md"
click node_cortex_test_notes "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/03_Inside_Cortex_M4/test.md"
click node_nvic "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/04_Interrupts_NVIC/01_Interrupts_NVIC_theory.md"
click node_broader_topics "https://github.com/mythilisivasubramanian/stm32-learning/blob/main/README.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_embedded_intro,node_bitwise,node_stm32_overview,node_stm32_overview_02,node_memory_arch toneBlue
class node_gpio_control,node_gpio_input toneAmber
class node_core_registers,node_register_practice,node_cortex_internals,node_cortex_test_notes toneMint
class node_timers,node_nvic toneRose
class node_learner toneIndigo
class node_broader_topics toneTeal
```

## Components

### Embedded Fundamentals

- [Embedded Intro](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/01_embedded_systems_%26_STM32_intro.md): `docs/01_Fundamentals/01_embedded_systems_&_STM32_intro.md`
- [Bitwise Operations](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/02_Bitwise_Operations.md): `docs/01_Fundamentals/02_Bitwise_Operations.md`
- [STM32 Overview](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/03_STM32_Overview.md): `docs/01_Fundamentals/03_STM32_Overview.md`
- [STM32 Overview Notes](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/03_STM32_Overview_02.md): `docs/01_Fundamentals/03_STM32_Overview_02.md`
- [Memory Architecture](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/04_stm32_architecture_and_memory.md): `docs/01_Fundamentals/04_stm32_architecture_and_memory.md`

### STM32 Peripherals

- [GPIO Control](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/05_gpio_and_pin_control.md): `docs/01_Fundamentals/05_gpio_and_pin_control.md`
- [GPIO Inputs](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/06_gpio_input_and_button_handling.md): `docs/01_Fundamentals/06_gpio_input_and_button_handling.md`

### Cortex-M4 Internals

- [Core Registers](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/02_Cortex-M4%20Core%20Registers/01_Cortex_M4_Core_Registers.md): `docs/02_Cortex-M4 Core Registers/01_Cortex_M4_Core_Registers.md`
- [Register Practice](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/02_Cortex-M4%20Core%20Registers/01_Cortex_M4_Core_Registers_Practical.md): `docs/02_Cortex-M4 Core Registers/01_Cortex_M4_Core_Registers_Practical.md`
- [Cortex-M4 Internals](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/03_Inside_Cortex_M4/01_Inside_Cortext_M4.md): `docs/03_Inside_Cortex_M4/01_Inside_Cortext_M4.md`
- [Cortex-M4 Notes](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/03_Inside_Cortex_M4/test.md): `docs/03_Inside_Cortex_M4/test.md`

### Interrupt Handling

- [Timers](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/01_Fundamentals/07_timers_and_interrupts.md): `docs/01_Fundamentals/07_timers_and_interrupts.md`
- [NVIC and Interrupts](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/docs/04_Interrupts_NVIC/01_Interrupts_NVIC_theory.md): `docs/04_Interrupts_NVIC/01_Interrupts_NVIC_theory.md`

### Other components

- **Learner**
- [Further Topics](https://github.com/mythilisivasubramanian/stm32-learning/blob/main/README.md): `README.md`

## Connections

- Learner → Embedded Intro: studies (evidence: `README.md`)
- Learner → Bitwise Operations: studies (evidence: `README.md`)
- Learner → STM32 Overview: studies (evidence: `README.md`)
- Learner → STM32 Overview Notes: studies (evidence: `README.md`)
- Learner → Memory Architecture: studies (evidence: `README.md`)
- Learner → GPIO Control: studies (evidence: `README.md`)
- Learner → GPIO Inputs: studies (evidence: `README.md`)
- Learner → Timers: studies (evidence: `README.md`)
- Learner → Core Registers: studies (evidence: `README.md`)
- Learner → Register Practice: studies (evidence: `README.md`)
- Learner → Cortex-M4 Internals: studies (evidence: `README.md`)
- Learner → Cortex-M4 Notes: studies (evidence: `README.md`)
- Learner → NVIC and Interrupts: studies (evidence: `README.md`)
- Embedded Intro → GPIO Control: progresses to (evidence: `README.md`)
- GPIO Control → Timers: progresses to (evidence: `README.md`)
- Timers → Core Registers: continues into (evidence: `README.md`)
- Learner → Further Topics: tracks (evidence: `README.md`)
