all
Tutorial Track

STM32 Discovery Tutorials

Complete STM32F4 Discovery tutorial series covering all peripherals from bare metal using CMSIS and HAL, built for Cortex-M4 developers.

30 Chapters
30 Published
Free Access
CCS IDE
100% complete
Start Learning
1
Setting the Environment Published

Install STM32CubeIDE, configure toolchain, and set up your first Discovery project.

2
Introduction to Discovery Published

Overview of the STM32F4 Discovery board, pinout, and on-board peripherals.

3
Introduction to Cortex-M4 Architecture Published

ARM Cortex-M4 core features, registers, pipeline, and FPU overview.

4
Memory Organization Published

Flash, SRAM, CCM, and backup SRAM layout with linker script explanation.

5
Introduction to GPIO Published

Digital input/output, alternate function, open-drain, and speed configuration.

6
RCC Peripheral Published

Clock sources, PLL configuration, AHB/APB prescalers, and peripheral gating.

7
SysTick Peripheral Published

Cortex-M4 system tick timer for millisecond delays and periodic interrupts.

8
Memory Map Published

STM32F4 address space, bit-banding regions, and peripheral base addresses.

9
Power Controller (PWR) Published

Voltage regulator, sleep/stop/standby modes, and wake-up sources.

10
Reset and Clock Control (RCC) Published

Reset sources, clock security system, and MCO output configuration.

11
DMA Controller Published

Direct Memory Access: streams, channels, priority, and double-buffer mode.

12
Nested Vectored Interrupt Controller (NVIC) Published

Interrupt priority grouping, enabling, pending, and nested interrupt handling.

13
Analog-to-Digital Converter (ADC) Published

Single, continuous, injected, and scan conversion modes with DMA transfer.

14
Digital-to-Analog Converter (DAC) Published

DAC channels, waveform generation, and DMA-driven signal output.

15
Digital Camera Interface (DCMI) Published

Interfacing CMOS image sensors, frame capture, and DMA-to-SDRAM transfer.

16
LCD-TFT Controller (LTDC) Published

Driving TFT displays with layering, pixel format, and framebuffer management.

17
Advanced-Control Timers (TIM1 & TIM8) Published

PWM generation, complementary outputs, dead-time insertion, and break input.

18
General-Purpose Timers (TIM2–TIM5) Published

32-bit timers: input capture, output compare, encoder, and PWM modes.

19
General-Purpose Timers (TIM9–TIM14) Published

16-bit timers for basic timing, PWM, and input capture on limited channels.

20
Watchdog Timers (IWDG & WWDG) Published

Independent and window watchdog configuration for system fault recovery.

21
Cryptographic Processor (CRYP) Published

Hardware AES, DES, and Triple-DES encryption and decryption with DMA.

22
Random Number Generator (RNG) Published

True random number generation using the on-chip entropy source.

23
Hash Processor (HASH) Published

Hardware SHA-1, SHA-224, SHA-256, and MD5 hashing with HMAC support.

24
Real-Time Clock (RTC) Published

Calendar, alarms, wakeup timer, and backup registers with LSE oscillator.

25
Inter-Integrated Circuit (I2C) Published

Master/slave mode, 7/10-bit addressing, DMA transfer, and SMBus support.

26
Serial Peripheral Interface (SPI) Published

Full-duplex, simplex, and multi-master SPI with NSS hardware management.

27
Serial Audio Interface (SAI) Published

I2S, PCM, TDM, and AC97 audio streaming with dual block synchronization.

28
Ethernet MAC (ETH) Published

10/100 Mbps Ethernet with MII/RMII, DMA descriptor rings, and lwIP stack.

29
USB OTG Full-Speed (OTG_FS) Published

USB device, host, and OTG modes with CDC, HID, and MSC class examples.

30
Debug Support (SWD & ITM) Published

SWD/JTAG debugging, ITM printf, SWO trace, and fault handler analysis.