yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
Self-balancing Robot Car📖
00.Get started quickly
  • 01.Balance car manual
  • 02.Balancing car assembly
  • 03.Get started quickly
  • 04.Balance car interface description
  • 05.Common Problem Analysis
  • 06.Balance Car V2 Library Function Development Manual
01.Environment development
  • 01.MDK-ARM installation
  • 02.STM32CubeIDE installation
  • 03.Common driver installation
  • 04.Download the program
  • 05.MDK-ARM project usage
  • 06.Program simulation
  • 07. VSCode Installation
02.STM32 getting started course
  • 01.Project creation
  • 02.LED Control(GPIO)
  • 03.Buzzer control(GPIO)
  • 04.Button control(EXTI)
  • 05.Serial communication(USART)
  • 06.Voltage detection(ADC)
  • 07.Basic timer(TIM)
  • 08.Universal timer(TIM)
  • 09.Advanced Timer(TIM)
  • 10.I2C Communication(I2C)-OLED
  • 11.SPI communication(SPI)-2.4G handle
  • 12.Independent Watchdog (IWDG)
  • 13.Window Watchdog (WWDG)
  • 14.DMA-USART
  • 15.DMA-I2C
03.STM32 expansion course
  • 01.Battery voltage detection (ADC)
  • 02.Ultrasonic module-measuring distance (TIM)
  • 03.Motor drive+encoder (TIM)
  • 04.OLED Data-Display(I2C)
  • 05.MPU6050-Data Read (I2C)
  • 06.Bluetooth module-Data reading (USART)
  • 07.2.4G handle-Data reading (SPI)
  • 08.Tracking module-Read status (GPIO)
  • 09.CCD module-Reading data (ADC)
  • 10.Electromagnetic module-Reading data (ADC)
  • 11.K210 module-Serial communication (USART)
  • 12.Tmini-Plus lidar-Reading data (USART)
04.Robot car PID control course
  • 01.PID basic concept
  • 02.PID example analysis
  • 03.P, PI, PD controller theory
  • 04.Position PID
  • 05.Incremental PID
  • 06.Cascade PID
  • 07.Balance principle of car
  • 08.Car upright control (PD)
  • 09.Car speed ​​control (PI)
  • 10.Car steering control (PD)
  • 11.Got angle and angular velocity (DMP algorithm)
  • 12.Got angle and angular velocity (Kalman filter algorithm)
  • 13.Got angle and angular velocity(Complementary filter algorithm)
05.Robot car basic course
  • 01.Car parameter adjustment
  • 02.Ultrasonic obstacle avoidance
  • 03.Ultrasonic follow
  • 04.Bluetooth remote control
  • 05.Load balance
06.Robot car advanced course
  • 01.4-channel tracking
  • 02.4-channel tracking avoid
  • 03.2.4G handle control
  • 04.CCD tracking
  • 05.CCD tracking avoid
  • 06.Electromagnetic tracking
  • 07.K210-QR code recognition
  • 08.K210-Color line tracking
  • 09.K210-Color follow
  • 10.K210-Self learning
  • 11.K210-Number recognition
  • 12.Lidar avoid
  • 13.Lidar guard
  • 14.Lidar follow
  • 15.Lidar patrol
  • 16.Lidar wall tracking-straight line
  • 17.Lidar wall tracking-multiple walls
  • 18. DIY Automatic driving car
07.Robot car LQR control
  • Robot car LQR control
08.Circuit design
  • 01.Overall circuit design
  • 02.STM32 minimum system
  • 03.Serial port circuit design
  • 04.Power circuit design
  • 05.MPU6050 Circuit Design
  • 06.Motor drive circuit design
09.Mathematical model
  • Mathematical model
10.Expand course
  • Autonomous Driving
Download
  • APP(Android)
  • Codes
  • Hardware-Info
  • SCH
  • Software Tools
  • STM32_Chip_DataSheet
  • 3D_Model_File
  • Video_PPT
Download ZIP

Welcome to Self-balancing Robot Car repository

04.Download the program

Download the program

Download the programFlyMCUHardware connectionMDK-ARMGenerate .hex fileSTM32CubeIDEGenerate .hex fileDownload the programProgram Running

The tutorial introduces the steps and options for generating and using .hex files in the software!

xxxxxxxxxx
The project files demonstrated in the tutorial do not provide source code, and the operation methods of using the projects in other chapters are the same

FlyMCU

Using the FlyMCU software, you can download the compiled program code (.hex file) to the target MCU chip through the serial port.

Hardware connection

Use the Type-C data cable to connect the computer and the Type-C burning interface of the development board:

image-20240829105232034

MDK-ARM

Generate .hex file

Using MDK-ARM, .hex files will not be generated by default. You need to check the option to generate .hex files to generate them.

xxxxxxxxxx
When MDK-ARM selects Generate .hex file, it will only be effective for the current project;
If you create or add a new project, you need to reselect Generate .hex file. You only need to select it once for each project for the first time!
  • Project target options

Check Create HEX File in the Output option:

image-20240722170209086

  • Compile

The .hex file will be generated only after the project is compiled successfully.

xxxxxxxxxx
.hex file location: in the OBJ folder of the project file

STM32CubeIDE

Generate .hex file

By default, the .hex file will not be generated when using STM32CubeIDE. You need to check the Generate .hex file option to generate it.

xxxxxxxxxx
The STM32CubeIDE option of generating a .hex file will only be valid for the current project;
If you create or add a new project, you need to re-check the option of generating a .hex file. You only need to check it once for the first time for each project!
  • Properties

image-20240821182025565

  • Check the corresponding option

image-20240821182126838

  • Compile

image-20240821182259354

xxxxxxxxxx
.hex file location: in the Debug folder of the project file

Download the program

You can use a data cable to burn the program through the Type-C interface of the development board;

After connecting the computer with a Type-C data cable, you can view the serial port number of the corresponding device in the device manager: port.

  • Device Manager

image-20240613104231304

  • Flymcu

BootLoader Option: DTR low level reset, RTS high level reset into BootLoader

xxxxxxxxxx
Except that the serial port number and program file location may be inconsistent, other options are checked according to the picture

image-20240830122924636

Program Running

After successfully downloading the program, press the RESET button of the development board to observe whether the phenomenon of the development board is normal.

The demonstration project does not drive the development board, so there will be no phenomenon. Other cases in the tutorial will have corresponding phenomena
Common driver installation
MDK-ARM project usage

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文