Back to Learning

Learning Area

In Progress

Embedded Systems

A three-course learning path progressing from Embedded C programming foundations to ARM Cortex-M internals and bare-metal microcontroller-driver development.

3 Courses · Udemy

Course Path

3 Courses · Udemy

01
Completed

Udemy · FastBit Embedded Brain Academy

Microcontroller Embedded C Programming: Absolute Beginners

View This Course on Udemy

A foundation course on C programming for microcontroller work, using STM32 to connect language fundamentals with bit manipulation, memory-mapped peripheral access, pointers, structures, type qualifiers, and hardware-facing code.

C Programming Foundations

Data types, variables, declarations, operators, casting, functions, loops, and the core structure of C programs.

Bitwise Programming & Register Access

Bitwise operators, bit manipulation and extraction, and accessing memory-mapped peripheral registers.

Pointers & Hardware Representation

Pointer types and arithmetic, structures, unions, bit fields, and representing peripheral registers in C.

Type Qualifiers & Optimization

The use of const and volatile, their combined forms, and the behavior of hardware-facing code during compiler optimization.

02
In Progress

Udemy · FastBit Embedded Brain Academy

Embedded Systems Programming on ARM Cortex-M3/M4 Processor

View This Course on Udemy

A processor-focused course exploring ARM Cortex-M3/M4 internals through C and assembly, including the programming model, memory and bus systems, exceptions, interrupt control, startup code, linker scripts, faults, and low-level scheduling.

Cortex-M Architecture & Programming Model

Processor internals, core registers, operating modes, access levels, memory maps, and bus interfaces.

C, Assembly & the Build Process

Mixed C and assembly programming, inline assembly, linker scripts, startup files, and the bare-metal embedded build process.

Exceptions & Interrupt Control

NVIC operation, IRQ handlers, system exceptions, interrupt priorities, preemption, and low-level exception programming.

Stack, Faults & Scheduling

Stack behavior, AAPCS, processor faults and analysis, SysTick, PendSV, context switching, and a simple task scheduler.

03
Planned

Udemy · FastBit Embedded Brain Academy

Mastering Microcontroller and Embedded Driver Development

View This Course on Udemy

A bare-metal driver-development course centered on reading technical documentation and building reusable STM32 drivers for GPIO, SPI, I²C, and USART directly from peripheral registers.

Datasheet-Driven Development

Extracting peripheral behavior, register definitions, and configuration requirements from datasheets, reference manuals, startup code, and technical specifications.

Peripheral Drivers

Developing GPIO, SPI, I²C, and USART drivers from scratch without relying on third-party peripheral libraries.

Clocks, Buses & Interrupts

AHB and APB buses, HCLK and PCLK, clock configuration, vector tables, NVIC interfaces, and peripheral interrupt handling.

Driver APIs, Debugging & Protocol Analysis

Driver headers, API prototypes, configuration structures, implementation files, logic-analyzer traces, testing, and systematic peripheral debugging.