STM32F4 Programming Course for Beginners

Learn how to design electronic projects with the STM32F4 Discovery Board.
4.3 (7 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
45 students enrolled
62% off
Take This Course
  • Lectures 19
  • Length 3 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 4/2016 English

Course Description

This course is prepared for STM32F4 starters and it can be thought as Getting Started guide for STM32F4. STM32F4 Discovery Board is a new generation board that has high capabilities such as low cost energy, 32-bit microprocessor, very short response time and so on. STM32F4 is a trending technology; however, there is not much educational resources yet. This course provides all basic and practical knowledge for starting to development using STM32F4. The course includes everything required for beginners and experienced users to get started quickly.

The course begins with overviews of ARM architectures, Programming Tools and  introduction to STM32F4 Discovery Board. Then course continues with fundamental the SoC peripherals such as I/O ports, ADC, Timers and USART and of course along with their project. 

You will be able to develop projects using STM32F4 to improve your basic knowledge by learning the fundamental subjects at the end of this course.

What are the requirements?

  • Basic knowledge of C programming is essential to understand this course.

What am I going to get from this course?

  • Understand basic principles in electronics design
  • Understand the principles of ARM programming
  • Learn how STM32 works
  • Usage of the GPIO pins, Analog Digital Converter, Timer, USART Communication
  • Build your own applications

Who is the target audience?

  • This course is for anyone who is interested in learning about STM32. The course does not require any prior knowledge about STM32.
  • Anyone with a curiosity for ARM Programming.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction Part

Summary information on ARM Processor Architecture


Embedded Development Tools used for embedded hardware and software development. Programmers spend nearly all of their time using their embedded software development environment. Your choice of an embedded software development environment is the most important determinant of the productivity and effectiveness of your programmers.


Based on the STM32F407VGT6, it includes an ST-LINK/V2 embedded debug tool, two ST MEMS, digital accelerometer and digital microphone, one audio DAC with integrated class D speaker driver, LEDs and push buttons and an USB OTG micro-AB connector. The STM3240G-EVAL evaluation board is a complete demonstration and development platform for the STM32 F4 series and includes an STM32F407IGH6 high-performance ARM® Cortex™-M4F 32-bit microcontroller.

Section 2: Blink Project

Keil uVision IDE configuration to make appropriate programming.


Start programming STM32F4 Discovery Board with use Keil uVision IDE.


Completion of the programming and execution of the Blink application.

Section 3: Theoritical Information Part

Definitions of pull-up resistor, pull-down resistor and open drain circuit. Also, learn the purpose for which we use them.

1 question

Differences between pull up and pull down resistor


Definition of resolution. Also, learn the purpose for which we use them.

1 question

Relation between voltage interval and ADC's resolution in bit

Section 4: ADC (Analog Digital Converter) Project

Configuration of Keil uVision IDE according to ADC project and start programming.


Continue programming in this course.


We wrote wrong peripheral clock name in previous lecture. Let's fix them.


Completion of the programming and execution of the ADC project.

Section 5: Timer Project

Configuration of Keil uVision IDE according to Timer project and start programming.


Completion of the programming and execution of the Timer project.

Section 6: USART Communication Project

Data can be transmitted between a sender and a receiver in two main ways: serial and parallel. Which one is better? Which one should I use? Answers of all questions are avaliable in this video.

1 question

Which communication protocols should be able to send data much faster?


Configuration of Keil uVision IDE according to USART project and start programming.


Although serial communication is no longer considered to be “high speed,” flow control is still an important function for many applications. Most people know what flow control is, but do not know how it works or how it influences the behavior of a communications system. In this course, we describe flow control in detail, and give you the knowhow needed to fix certain types of communication problems. 


Continue programming in this course.


Completion of the programming and execution of the USART project.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

M Ugur Kebir, Electrical & Electronics Engineer

Hi! I'm Ugur. I have one tenacious personality in order to attain material consequences from every possible abstract idea on any subject. This feature of me, is the one that takes productivity to the fore ,but at the same time, alongside of it, supplies social beneficiaries, an innovative ( sticking to what is new ) hunter. For this reason, I never tire of the experimental studies with " fake it until you make it" abstraction. My love in software and hardware resides in this.

Ready to start learning?
Take This Course