In this video, we write code for receiving i-Bus messages from FS-iA6B through UART with interrupt, decoding them, and parsing them into user variables.
M-HIVE "STM32 Drone programming from scratch"
This is the only course about the drone embedded system development from sensor interface, the most basic feature, to PID control for the flight control.
☆★ Buy an MH-FC V2.2 and drone parts ☆★
https://www.m-hive.net/
☆★ Download source code ☆★
https://github.com/ChrisWonyeobPark/M...
☆★ Overview of the "STM32 Drone programming from scratch" course ☆★
• [STM32 Drone programming from scratch...
☆★ Contents of the course ☆★
• [STM32 Drone programming from scratch...
☆★ Introduction to the drone parts ☆★
• [STM32 Drone programming from scratch...
This video includes
- Review of i-Bus message structure
- FS-i6 transmitter channel assignment check
- Procedure of receiving and parsing i-Bus data
- Define a structure to store i-Bus data
- Define an i-Bus message decoding and parsing function
- Define the UART initialization function connected to the FS-iA6B receiver
- Write i-Bus message decoding and parsing code
- Write i-Bus checksum calculation and verification code
Enjoy the course.
Thank you!
The lecture consists of 3 parts and 12 chapters. (51 videos)
In Part 1. Flight control system development fundamentals
CH1. Setting up the development environment for STM32 embedded systems
CH2. Sensor interface - BNO080 9-axis sensor, ICM-20602 6-axis sensor, LPS22HH barometric pressure sensor (SPI)
CH3. GPS data receiving and parsing - NEO M8N (UART)
CH4. Transmitter and receiver, data receiving and parsing - FS-i6 transmitter, FS-iA6B receiver using i-Bus serial protocol (UART)
CH5. Drone assembly (QAV210 frame)
CH6. BLDC motor drive - Oneshot125 PWM protocol (TIM-PWM)
In Part2. Communication and add-on functions
CH7. Add-on functions - EEPROM interface(I2C), battery voltage checker(ADC), BNO080 calibration, gyro offset removal
CH8. Radio data transmission (FC↔GCS) (Transmitting drone status information and receiving control parameters, how to use Ground Control Station for this course)
CH9. Safety functions - Fail-safe motor force stop and low battery alarm for safety
In Part3. Flight Control using PID Control
CH10. Preparation for PID control
CH11. Roll, pitch control (Cascade PID)
CH12. Heading control (Single PID)
※ What will students learn in this course?
- STM32F4 based high performance drone flight control system firmware development
- How to setup peripherals, generate and build source code for STM32 with STM32CubeIDE
- Sensor interface, motor driving, radio data transmission, flight control and its all source code
- How to use STM32F4 HAL and LL driver (mainly LL used)
- Embedded system firmware development process
- Self-made drone FC software development
- Various sensors (9DoF, 6DoF, Barometer) interface
- GNSS(GPS) interface and data parsing
- FlySky FS-iA6B receiver interface and data parsing (iBus message protocol)
- How to setup a quadcoptor drone
- PWM generation using TIM peripheral of STM32
- ESC calibration and various ESC protocol types
- BLDC motor driving using oneshot125 protocol
- Radio data communication
- EEPROM, battery voltage checker and low battery alarm
- Safety functions - sensor connection check, Fail-safe, etc.
- Drone flight control technique - PID control in self-leveling mode
- Single loop and Double loop PID (Cascade PID) control theory and experiment
※ What are the requirements or prerequisites for taking your course?
- MH-FC V2.2 flight controller is required!!
- You must purchase the drone parts yourself. Check the attached on my github
- Windows PC and STM32CubeIDE. (Not supported MAC or linux, etc.)
- C programming language novice or intermediate level required.
- STM32F4 or any type of microcontroller (MCU) development experience required.
- Basic circuit knowledge required. (But not essential)
※ Who is this course for?
- Those who want to build the entire drone control system step by step, from sensor interface to the flight control
- Those who want to develop embedded application programs using STM32
- Anyone who want to build your own unique drone flight controller
- Students majoring in electronics, communication, control, mechanics, and dynamics
- Those who want to experience the embedded system development process
- Those who want to jump up from Arduino or 8bit to 32bit MCU
- Those who want to learn the basic principles of PID control and implement their own operation
- Those who want to practice high-level embedded projects
- Drone-related research institutes and educational institutions
- Those who are working on projects related to unmanned vehicles