
HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 무료 강좌
ChrisP
고성능 마이크로컨트롤러인 STM32F 시리즈를 처음 접하는 분들이 쉽게 시작할 수 있도록 무료 컴파일러 TrueSTUDIO 및 코드자동생성 프로그램 CubeMX 설치부터 칩 기능의 개념설명, 소스코드작성(HAL 드라이버 함수 설명), 하드웨어 구현까지 모든 과정을 다룹니다.
초급
C, IoT, 드론 개발
※ This class has been completely free since September 2022. This is the only class that teaches you how to develop the FCC flight control system for a high-performance STM32F4 DIY drone from start to finish using the free compiler STM32CubeIDE. Since you implement everything from the sensor interface to PID control without using drone open source such as ArduPilot or Pixhawk, you can experience and learn all the development processes of the drone control system and embedded system. We will explain all the source code and hardware assembly methods in the class slowly so that even non-majors and beginners can easily follow along. If you follow along slowly, you can experience more stable flight with your own drone that you developed yourself than with commercial products.
Development of high-performance drone flight control system based on STM32F4
How to use STM32CubeIDE
How to use CubeMx
How to use STM32F4 HAL and LL drivers (mostly LL)
Embedded System Development Process
Development of self-made drone FC
9-axis (BNO080) and 6-axis (ICM-20602) sensors, barometric pressure sensor (LPS22HH) interface
UBLOX NEO M8N Interface and Data Parsing (Using u-center)
FlySky FS-iA6B Receiver Interface (iBus) and Data Parsing, FS-i6 Transmitter Setup
How to set up a quadrotor drone
PWM generation method using TIM
ESC Calibration and ESC Protocol Types (Standard PWM, Oneshot, Multishot, Dshot, etc.)
3DR Telemetry Setup (using 3DR radio config)
Drone status information transmission and reception (sensor data, FS-i6 controller data, battery voltage, PID control gain, etc.)
Additional features - PID gain storage in EEPROM, battery voltage check (ADC) and low voltage alarm
Safety functions - Sensor status check at boot, Fail-safe, etc.
Drone Attitude Control Techniques - PID Control
Single PID Control Theory and Experiment
Double PID Control Theory and Experiment
Hello, this is ChrisP from M-HIVE.
This course is about developing a self-made drone using the STM32F4 Micro Controller. It covers the entire process from sensor interface to PID control for developing the drone's flight control system.
Unlike other drone development courses, this course uses STM32F4 to write all the source codes one by one , from the sensor interface to PID control. Since we implement all the functions one by one without using open source, you can easily understand the drone development process and embedded firmware development process.
In addition, the drone developed in this lecture is not inferior in performance to commercial products such as Pixhawk and Ardupilot, so it can be applied not only as a simple educational drone but also for research and industrial use . Also, the MH-FC V2.2 used in this lecture can be applied not only to drones but also to all moving unmanned vehicles , so it can be applied to systems such as unmanned cars!
![]() | ![]() |
Drone parts used in class | What the finished drone looks like |
![]() | ![]() |
PID control theory and code implementation | Sensor data reception and data visualization |
![]() | ![]() |
1-axis PID control test | final flight |
The course consists of three parts and 12 chapters.
Part 1 covers the basics of FC (Flight Controller)
Part 2 Communication and Additional Features
Part 3 Flight Control (PID Control)
It proceeds in this order.
This lecture uses the STM32F405RGT Cortex M4 microcontroller as the main processor, the BNO080 9-axis sensor for attitude control, the ICM-20602 6-axis sensor , and the LPS22HH barometric pressure sensor for altitude control. It also covers the UBLOX M8N GPS data reception for outdoor automatic flight. (However, altitude control and GPS control are not covered in this lecture.)
The goal of this course is to develop a high-performance drone, but it goes into more depth about the process of developing one.
It covers everything from the sensor data interface, which is the most basic step for drone flight, to PID Control for attitude control.
We will focus on the processes for developing embedded applications, and combine them to complete a drone flight control system.
We will always strive to provide useful video lectures.
- M-HIVE ChrisP
Who is this course right for?
Those who want to develop high-performance drones from the basics to flight control
If you want to develop a deep application using STM32
Students majoring in electronics, communications, control, machinery, aviation, etc.
Drone related workers
Those who want to experience the embedded system development process
If you are trying to move from Arduino or 8bit MCU to 32bit MCU
Those who want to learn the basic concepts of PID control and implement them directly
Those who want to practice high-level embedded projects
Research and educational institutions related to drones
People who are working on projects related to unmanned vehicles
Need to know before starting?
The MH-FC V2.2 Flight Controller is essential for this course!! (If you don't have it, you can't proceed!! You can purchase it from the M-HIVE Smart Store)
Drone components (BLDC motor, ESC, propeller, frame, battery, etc. Check the list on the M-HIVE Naver cafe)
Windows PC and STM32CubeIDE
Intermediate or higher level of C language required
Basic circuit knowledge required
STM32F4 or Microcontroller (MCU) development experience required
All
53 lectures ∙ (31hr 21min)
All
81 reviews
5.0
81 reviews
Reviews 3
∙
Average Rating 5.0
5
평소 임베디드 제품 개발에 관심을 가지고 있었습니다. 몇 권의 C언어책과 유튜브 예제 따라하기로는 한계가 있던차에 인프런 드론 개발 강좌를 듣게 되었습니다. LED 켜기 부터 PID 제어까지 하나 하나씩 따라하면서 임베디드 제품 개발 노하우를 배울 수 있었습니다. 각종 센서 데이터를 수신, 처리하고 무선 송수신 장치와 통신하면서 제한된 시간안에 드론 자세를 조정하는 코딩 방법을 알게되었습니다. 꼼꼼한 설명을 따라서 코딩했더니 드론 비행도 무난히 성공했습니다. 통신 프로토콜 구조체 정의, 형변환, 타이머 사용법, while 루프 에서 함수 호출 요령 등 임베디드 개발에 필요한 코딩 노하우를 익히실 수 있습니다. C는 좀 알고 있는데 매번 LED 켜고 끄는 예제에서 실력이 제자리이신 분들에게 이 강좌를 강력히 추천드립니다. 강의 만드시느라 고생 많으셨습니다. 감사합니다~
안녕하세요 별점 5점 정말 감사드립니다! 본 강의에서 다룬 외부장치와 통신하는 내용, 센서인터페이스하는 방법, 특정 주기대로 원하는 동작을 수행하도록 하는 방법 등은 아주 중요하고 자주 사용되는 기능들인데 다른 강의에서 잘 다루지 않는 것 같습니다. 어떤 제품을 개발하든, 위의 내용들은 반드시 알고 있어야 하고, 따라서 본 강의에서는 그런 내용들을 좀 더 깊이 다루려고 했는데 잘 전달이 되었길 바랍니다. 그럼 항상 안전한 비행하시기 바라고, 충분히 연습 후 비행을 하시기 바라겠습니다! 감사합니다.
Reviews 1
∙
Average Rating 5.0
5
안녕하세요. 현재 강의를 듣고있는 대학생입니다. 어려울수 있는 강의내용을 잘 풀어서 설명해주시고, 어려운 부분이 있으면 질문 게시판 또는 카페를 통해 피드백을 주시는데 이부분이 정말 인터넷강의에서 답답할 수 있는 부분을 해소해주셔서 현장에서 듣는 강의처럼 들을 수 있어 너무 좋습니다. stm32를 처음 접해보았는데 강의를 보며 진도를 따라가고 실습을 하다보니 공부가 많이 된것같습니다. 앞으로도 좋은 강의 부탁드리고, 관심있는 강의가 있으면 또 찾아 보겠습니다!!!!!
별점 5점에 수강평도 정말 감사합니다. 앞으로 진행하시면서도 질문 있으시면 언제든 질문 올려주시면 확인하는대로 답글 달아드리도록 하겠습니다! 그럼 안전하고 즐거운 드론 개발되시기 바랍니다~
Reviews 2
∙
Average Rating 3.5
5
인강은 답변이 없거나 늦는 점이 가장 큰 애로점인데 여기 인강은 답변이 빠르고 답변을 100% 해줘서 최고입니다.
평점 5점 정말 감사드립니다! 저도 온라인 강의의 한계를 잘 알고있어서 최대한 수강생분들 애로사항이 있으면 최대한 빠르게 해결해드리려고 노력하고 있습니다. 물론 오프라인보다야 부족하겠지만,, 앞으로도 애로사항이 있으시면 최대한 신속하게 답변해드리도록 하겠습니다. 그럼 안전하고 즐거운 드론 개발 되시기 바라겠습니다~ 감사합니다 :)
Free
Check out other courses by the instructor!
Explore other courses in the same field!