yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
MicroROS Self-balancing Robot Car📖
01.Introduction
  • 0.Unboxing and Reviewing
  • 1. Must read before use - learning route
  • 2. Introduction to LiDAR
  • 3. Balance car interface description
  • 4. Analysis of common problems
  • 5. Robot charging and battery precautions
02.Assembly tutorial
  • Robot assembly steps
03.Preparation
  • 0.Quick Start (Must Read)
  • 1.Write firmware
  • 2.How to install and use VM
  • 3.ESP32 communication board configuration parameters
  • 4.Connect to microROS agent
04.ROS-WiFi module configuration
  • 0.Serial port configuration WiFi instructions
  • 1.Use ROS-WiFi cam module(must read)
  • 2.Connect to ROS-WiFi cam module agent
  • 3.Camera image correction (optional)
05.Quick start control
  • 1.Keyboard remote control
  • 2.Handle remote control
06.ROS+OpenCV course
  • 1.OpenCV Getting started
  • 2.Geometric transformation
  • 3.Image processing and drawing text line segments
  • 4.Image beautification
07.Mediapipe course
  • 1. Hand detection
  • 2. Posture detection
  • 3. Overall inspection
  • 4. Face detection
  • 5. Face recognition
  • 6. Facial effects
  • 7. 3D object recognition
  • 8. Brush
  • 9. Finger control
  • 10. Gesture recognition
08.Robot basic course
  • 1.Robot information release
  • 2.Robot keyboard control
  • 3.Robot handle control
  • 4.Robot state estimation
  • 5.Line speed calibration
  • 6.Angular velocity calibration
  • 7.Robot URDF model
09.Lidar course
  • 1.Lidar avoid
  • 2.Lidar following
  • 3.Lidar guard
  • 5.Gmapping mapping
  • 6.Cartographer mapping
  • 7.Navigation2 navigation avoid
  • 8.Navigation2 fast relocation navigation
  • 9.ROS Robot APP mapping
  • 10.ROS Robot APP navigation
10.Robot visual interaction
  • 1.Color tracking
  • 2.Object recognition and tracking
  • 3.Face recognition tracking
  • 4.Autonomous driving line patrol
  • 5.QR code motion control
  • 6.Gesture control car movement
  • 7.Palm control car movement
  • 8.Gesture control car action group
  • 9.Palm recognition and tracking
  • 10.Human body posture recognition and tracking
11.Multi-machine course
  • 1.Multi-machine handle control
  • 2.Multi-machine keyboard control
  • 3.Multi-machine navigation
  • 4.Multi-machine rapid relocation navigation
12.STM32 balancing case
01.Environment construction and development
  • 13.Window Watchdog (WWDG)
  • 01.MDK-ARM installation
  • 02.STM32CubeIDE installation
  • 03.Common driver installation
  • 04.Download the program
  • 05.MDK-ARM project usage
  • 06.Program simulation
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)
  • 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)
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.Radar obstacle avoidance
  • 07.Radar guard
  • 08.Radar follow
  • 09.Radar patrol
  • 10.Radar wall following go in a straight line
  • 11.Radar tracking wall multiple walls
06.Robot car LQR control
  • Balance car LQR high-level control
07.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
08.Mathematical model
  • Balance car mathematical model
13.Linux basic course
  • 1.Introduction to Linux system
  • 2.Ubuntu file system
  • 3.Ubuntu common commands
  • 4.Ubuntu common editors
  • 5.Ubuntu software operation commands
  • 6.Virtual machine installation
  • 7.SSH remote control
  • 8.VNC remote control
  • 9.Transfer files remotely
  • 10.Driver library and communication
  • 11.Static IP and hotspot mode
  • 12.Bind device ID
  • 13.Capacity expansion and resource allocation
  • 14.Update system software sources
  • 15.Set root user password
  • 16.sudo free password
  • 17.Connect to WiFi network
  • 18.View system version
  • 19.Customized service management
  • 20.Back up system image
14.Docker course
  • 1. Overview and installation
  • 2. Common commands
  • 3. Docker images deeply understand and publish images
  • 4. Docker hardware interaction and data processing
  • 5. Enter the bot's docker container
15.ROS2 basic course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
Download
  • RemoteCtrl_APP(Android)
  • Mapping_APP(iOS_Android)
  • Code
  • Hardware Information
  • software tools
  • 3D model file
  • Instruction manual
  • VM image file
  • ROS2_Basic_VM
Download ZIP

Welcome to MicroROS Self-balancing Robot Car repository

0.Serial port configuration WiFi instructions

Computer serial port configuration module instructions (ROS version)

Computer serial port configuration module instructions (ROS version)The module needs to be connected to the usbttl moduleSerial port configuration1. Configure the wifi command in STA mode (mode for connecting to LAN)2. Configure the wifi command in AP mode (module self-heating point mode)3. Configure wifi mode4. Other commands5. Command to configure ROS ip

The module needs to be connected to the usbttl module

usbttlwifi camera
RXTX
TXRX
GNDGND
VCCVCC
image-2024022300002 

Serial port configuration

Baud rate 115200, no parity, no hardware flow control, 1 stop bit If you use the serial port assistant configuration, when sending commands, you need to remove the automatic sending of new lines (additional bits) As shown in the figure: image-2024022300001

1. Configure the wifi command in STA mode (mode for connecting to LAN)

CommandDescriptionExampleRemarks
sta_ssid:Name of the wifi to connect tosta_ssid:yahboomyahboom: is the wifi to connect to
sta_pd:Password of the wifi to connect tosta_pd:1234567812345678: is the password of the wifi to connect to

Notes

  1. Whether it is sta_ssid or sta_pd, it must be followed by an English character such as comma (,), colon (:), period (.), etc.

  2. When the wifi to be connected does not have a password, just send sta_pd: once.

  3. The above command will return OK if it is successful. If it does not return any information, check the serial port connection.

  4. When sending the sta_ssid: command, it will return fail,ssid is null!, indicating that the connected wifi name cannot be empty.

  5. The command can be sent in all uppercase or lowercase.

  6. The wifi name and password cannot exceed 30 characters in length, otherwise the configuration will fail.

  7. The wifi name and password cannot contain Chinese characters.

  8. The wifi password will be automatically reset every time it is changed. If you only change the wifi name, you need to manually power off and reset it

2. Configure the wifi command in AP mode (module self-heating point mode)

CommandDescriptionExampleRemarks
ap_ssid:The wifi name to be setap_ssid:my_wifimy_wifi: is the wifi to be set
ap_pd:The wifi password to be setsta_pd:1234567812345678: is the wifi password to be set

Notes

  1. Whether it is ap_ssid or ap_pd, it must be followed by an English character such as comma (,), colon (:), period (.), etc.

  2. When the wifi to be set has no password, just send ap_pd: once.

  3. The above command will return OK if it is successful. If it does not return any information, check the serial port connection.

  4. When sending the ap_ssid: command, it will return fail,AP_Name is null!, indicating that the wifi name cannot be empty.

  5. The command can be sent in all uppercase or lowercase.

  6. The wifi name and password cannot exceed 30 characters in length, otherwise the configuration will fail.

  7. The wifi name and password cannot contain Chinese characters.

  8. The wifi password will be automatically reset every time it is changed. If you only change the wifi name, you need to manually power off and reset

3. Configure wifi mode

CommandDescriptionExampleNote
wifi_mode:Configure wifi modewifi_mode:20: AP mode 1: STA mode 2: AP+STA mode

Notes

  1. wifi_mode It must be followed by a dot symbol such as comma (,), colon (:), period (.), etc

  2. wifi_mode can only set 3 modes in total. If a negative number is passed in, the default is AP mode. If the number is greater than 2, the default is AP+STA mode

4. Other commands

CommandDescriptionExampleReturn value
sta_ipQuery the ip address of sta modesta_ipReturn the ip address connected to the LAN
(such as sta_ip:192.168.2.199)
ap_ipQuery the ip address of ap modeap_ipReturn the ip address of the wifi mode itself
(such as ap_ip:192.168.4.1)
wifi_resetRestore wifi configuration to factory settingswifi_resetReset_OK
wifi_verCheck the version of wifi firmwarewifi_verYAHBOOM VerSion:1.8.3

Notes

  1. The command can be sent in all uppercase or all lowercase

  2. If the above command is successful, there will be corresponding information of the return value. If there is no information returned, check the serial port connection

  3. wifi_reset is to configure the wifi mode to AP+STA mode. The wifi name of the ap is Yahboom_ESP32_WIFI, no password, and it will reset automatically without manual reset

5. Command to configure ROS ip

CommandDescriptionExampleNotes
ros2_ip:Host agent to connect toros2_ip:192.168.2.105192.168.2.105: is the IP address of the proxy host

Notes

  1. The proxy host is a system with ROS2 (humble) environment unbutu

  2. The command can be sent in all uppercase or all lowercase

  3. ros2_ip must be followed by an English character such as comma (,), colon (:), period (.), etc.

  4. The connected host IP must be in the same network segment as the wifi connected to esp32

  5. ROS2 can only be started in STA mode/or dual mode coexistence mode, not only AP hotspot mode, otherwise the ROS system will not be implemented

  6. The proxy port is 9999, the command to start in the host terminal is as follows:

xxxxxxxxxx
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:humble udp4 --port 9999 -v4
  1. domainid:20 The default domainid of ROS2 is 0. To use ros2 system communication, the host needs to change the domainid to 20

Connect to microROS agent
Use ROS-WiFi cam module(must read)

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/中文