EasyLoader (beta)

Current Product Don't Have Test Firmware

Note: pls, use PC chrome/edge browser, if can't connect, refresh the webpage.

1. Click connect button

2. After connected successfully, pick a firmware

3. Click the burn button

4. After burning successfully, Unplug the device and restart.

0%

BALA2

SKU:K014-C

Tutorial

BALA2 has been calibrated , and it can automatically maintain its balance after turning it on. For manual calibration, please refer to this tutorial

Description

BALA2 is short for 'Balance', as its name suggests, it is the second generation of M5Stacks balancing robot series. BALA2 is a Self Balancing Robot consisting of am M5Stack Gray and two wheels(DC motors).The base uses STM32F030C8T6 as the main control and has a two-way encoding motor driver and built-in 1200mAh battery.

This robotics product comes with preloaded software. A self-balancing robot application which balances the robot vertically using a closed-loop algorithm. You can program it to automatically move around through programming, or you can combine Wi-Fi to develop remote control functions.

This Robot is controllable by a Smartphone device or a Transmitter. The BALA2 base contains a wealth of interfaces. In addition to the conventional PortB and PortC, it also supports 8-channel servos, of which 4 channels can be directly connected, and the remaining 4 channels need to be connected from the inside of the base. Even if you have never attempted such a balancing robot program, you can quickly get the hang of it and control it through UIFlow. The self balancing robot uses data from the Accelerometer and Gyroscope to correct its orientation and position.The 2 DC driver module communicates with M5Stack Gray through I2C(0x3A).

Product Features

  • 9-DOF IMU
  • Two-wheel drive, PID control balance
  • Grove extension ports
  • 8-channel servo drive, 4-channel external connection, 4-channel built-in
  • Support Wi-Fi programmable
  • Built-in speaker
  • TF Card Support
  • LEGO™ Compatible
  • Programming Support
    • Python
    • UIFlow (Blockly)
    • Arduino

Include

  • 1x M5Stack Gray + BALA2
  • 4x Wheel conncetor
  • 2x HY2.0-4P Cables(20cm)
  • 2x Bricks
  • 1x HEX KEY
  • Type-C USB Cable(120cm)

Applications

  • Balancing car

Specification

Resources Parameter
ESP32 240MHz Dual Core,600 DMIPS,520KB SRAM,Wi-Fi
Flash/RAM 16MB Flash
LCD 2.0 inch, 320x240 Color TFT LCD, ILI9342C
Speaker 1W-0928
MEMS BMM150+MPU6886
Motor Driver HR8833
Base Controller STM32F030C8T6
Ports GROVE I2C*1/UART*1/GPIO*1/SERVO*4(+4 Extendable Channel)
Battery Capacity 1200mAh
Net Weight 157g
Gross Weight 337g
Product Size 54*54*65*mm
Package dimensions 100*100*100mm
Case Material Plastic

EasyLoader

EasyLoader is a concise and fast program writer, which has a built-in case program related to the product. It can be burned to the main control by simple steps to perform a series of function verification.

Download Windows Version Easyloader Download MacOS Version Easyloader

Description:
Start and run, press button B + left power button to enter calibration mode, a / C adjustment, B key to save

Schematic

PinMap

GROVE Port A & B & C

ESP32 Chip GPIO22 GPIO21 GPIO26 GPIO36 GPIO16 GPIO17
PORT A SCL SDA
PORT B DAC ADC
PORT C RX TX

Example

Arduino IDE

To get complete code, please click, click

FAQ

Q1: How do I remove the speaker floor noise when the M5Core is on or running?

Execute the following statement in Setup() of the Arduino program

Q2: How does M5Core2 stack modules?

When M5Core2 is stacked with other M5 modules, you need to remove the battery base of Core2, which does not support module stacking.

Q3: A timeout error is displayed when uploading the program to the device

Reason and solution: The power supply current of the port is insufficient, which can cause the device to not enter the download mode normally. You can try to connect a capacitor (>0.1uF) between the RST pin and the GND pin, or when uploading the program, set the G0 Short-circuit to GND, so that G0 can be set to a low level state normally

Q4: How to solve the phenomenon of automatic signal triggering of M5Core button A

Add the header file #include <driver/adc.h> and the function adc_power_acquire(); in the Arduino program

Q5: M5 device battery life

The battery life of the controller is affected by various factors such as battery capacity, operating status, and load, so there is no fixed value. Reducing the load and adopting a sleep strategy can effectively increase the battery life.

Q6: Can multiple modules with batteries be stacked at the same time?

Support multiple stacks, the total capacity of the batteries in parallel increases, and the voltage remains unchanged. However, since the discharge of each battery is not balanced during use, there is a voltage difference between the batteries, which may cause the battery to charge backwards. .(will lose part of the battery capacity)

Q7: M5 master supports WiFi connection to 5G frequency band

ESP32 module currently does not support WiFi in 5G band, only 2.4G.

Q8: The RS485 device cannot communicate normally/data is garbled. Packet loss, etc.

Confirm whether the TX/RX pin on the TTL side of the pin is correct, try to add two 120Ω terminal resistors at the beginning and end of the device line to reduce signal reflection interference

Q9: The difference between different masters and camera products

Click the link below to view the product comparison table

Q10: M5 camera image blur, how to adjust the focal length

Rotate the lens to adjust the focal length within a certain range

Q1: How to read the programmed firmware?

Use esptool to read the flash content of esp32 and export the bin file. Refer to the detailed operation

Q2: Several solutions for esp32 board download failure in Arduino IDE board management

Restart the Arduino IDE, the computer uses the mobile AP mobile network to download.

Method 3: Download the resource package provided by M5Stack for direct installation, and extract the contents to the board management path of Arduino, such as (C:\Users\Sean\AppData\Local\Arduino15\packages), https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/packages/m5stack_v2.0.0.zip
Q3: Arduino SPIFFS file upload operation

Refer to the Github link below, use arduino-esp32fs-plugin for file upload

Q4: When M5Burner burns firmware, an error pop-up window or exception occurs

Check if the COM of the corresponding device is selected and if the M5Burner is the latest version

Q5: Does the M5 master device support multi-language display (Chinese, English, Japanese, Russian, etc.)?

UIFlow users can switch the Label font to Unicode, Arduino users can use the Chinese font library provided in the M5GFX driver library

Q6: The program cannot load the SD card normally

Confirm whether the SD card format is FAT32, and no partitions exist.

Q7: How to use Bluetooth, HTTP, SD, WebServer, FreeRTOS and other features in Arduino IDE

You can refer to the following link for other ESP32 users to share the case program

Q8: How to download programs for STAMP C3U

STAMP C3U enters program download mode operation: 1. Long press the center button (G9) of STAMP C3U when the power is off. 2. Connect to the computer, after the port is successfully identified, program burning.

Q9: How STAMP C3U defines UART0 output mode

By default, USB CDC is not enabled, the serial port output started by C3U will be output through the default pins (G20, G21) of UART0. If you want to output through USB, please use the IDE to output Its USB CDC option is enabled. (Arduino users can enable it through Tools->USB CDC on Boot-Enabled. For IDF users, please refer to the ESP IDF official documentation.)

Q10: Unable to connect to UIFlow Desktop IDE

Refer to the UIFlow documentation of the corresponding device to check whether the device has entered the USB programming mode.

COMMON

Q1: Consultation for after-sales problems of products

Describe the problems encountered in detail. Screenshots of the programs involved or files can be added as attachments and sent to M5Stack's official after-sales email

Q2: Code Resources, Cases, User Communication