Balance Car
A self-balancing robot car controlled via Bluetooth with STM32 and Android support.
- Wheeled
- Open source
- 3D printable
Suggested by Robotheca, created by @shuai132 (opens in a new tab), from github.com/shuai132/BalanceCar (opens in a new tab). Pinned to commit b75e464 (opens in a new tab).
- Hardware license
- GPL-3.0-only (opens in a new tab)
- Software license
- GPL-3.0-only (opens in a new tab)
- Commercial use
- Allowed
Some folders have their own license: Android/ (Apache-2.0), STM32/ (Apache-2.0).
This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.
Which files (1 file marked executable, 1 script, 6 programs or installers)
- Android/app-debug.apk (opens in a new tab)
- Android/app/libs/juma-sdk.jar (opens in a new tab)
- Android/gradle/wrapper/gradle-wrapper.jar (opens in a new tab)
- Android/gradlew (opens in a new tab)
- Android/gradlew.bat (opens in a new tab)
- STM32/tools/JumaBleHelper.apk (opens in a new tab)
- STM32/tools/STSensor.apk (opens in a new tab)
- STM32/tools/TH-Control.apk (opens in a new tab)
Photo and 3D model

3D preview converted from github.com/shuai132/BalanceCar at b75e464, under GPL-3.0-only. View the original files from GitHub (221 KB) (opens in a new tab)
What it can do
Written by Robotheca from the project's documents.
- Balances on two wheels
- Moves forward and backward
- Turns left and right
- Communicates via Bluetooth 4.0
- Controlled from an Android app
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The guide appears here as you scroll.
Guide by @shuai132 (README.md), under GPL-3.0-only. The English translation is by Robotheca, shared under the same license.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- STM32F401 microcontroller (ARM Cortex-M4, 32-bit, FPU, 105 DMIPS)
- LSM6DS3 inertial measurement unit (IMU)
- BlueNRG Bluetooth Low Energy 4.0 module
- Motor driver board
- Core board
- Battery power supply
Connections
- STM32F401 connected to BlueNRG via UART or SPI
- Motor driver board connected to STM32F401 via GPIO and PWM
- Power supply connected to motor driver board and STM32F401