Files

4.5 KiB

BALA Quick Start {docsify-ignore-all}

?>To program M5Bala, you will need M5Stack Fire or M5GO as main controller.

Prepare

Development Environment

  1. UIFlow
  2. Arduino IDE

UIFlow

  1. Download UIFlow firmware - How to dowmload Firmware
  2. WiFi Configuration - How to Connect wifi on M5Core
  3. Align to the POGO Pin, stack M5Core onto the M5Bala wheel.
  1. Press the Red button on side of M5Core (double click for shutdown).
  1. Press the button on side of M5Bala bottom to power on (double click for shutdown).
  1. Open UIFlow website, and switch programming language from Blockly to Python.
  1. Copy the following code to UIFlow and then click Download.
from m5stack import *
from m5ui import *
from m5bala import M5Bala
import i2c_bus
clear_bg(0x111111)

m5bala = M5Bala(i2c_bus.get(i2c_bus.M_BUS))
btnA = M5Button(name="ButtonA", text="ButtonA", visibility=False)
btnB = M5Button(name="ButtonB", text="ButtonB", visibility=False)
btnC = M5Button(name="ButtonC", text="ButtonC", visibility=False)
title0 = M5Title(title="Title", fgcolor=0xFFFFFF, bgcolor=0x0000FF)

title0.setTitle('calirate start')
wait(2)
sampleCount = 2000
gyroXSum = 0
gyroYSum = 0
gyroZSum = 0

for _ in range(sampleCount):
    gyroXYZ = m5bala.imu.gyro
    gyroXSum += gyroXYZ[0] # X
    gyroYSum += gyroXYZ[1] # Y
    gyroZSum += gyroXYZ[2] # Z

gyroXMean = gyroXSum / sampleCount
gyroYMean = gyroYSum / sampleCount
gyroZMean = gyroZSum / sampleCount

m5bala.imu.setGyroOffsets(gyroXMean, gyroYMean, gyroZMean)

title0.setTitle('balance start')
while True:
    m5bala.balance()
    wait(0.001)

Arduino IDE

  1. Setting Arduino development environment - Establish Serail Connection - Get Started with Ardino IDE
  1. Install m5stack library in Library Manager.
  1. Install NeoPixelBus library in Library Manager.
  1. Install MPU6050_tockn library in Library Manager.
  1. Make sure that M5Core has connected to PC, then click Tools -> Port for selecting the corresponding serial port on Arduino IDE.

  2. click Tools -> Board: to select M5Stack-Core-ESP32 or M5Stack-Fire.

  1. Clone M5Bala by shell command. If you dont't have Git installed yet, click here and install it.
git clone --recursive https://github.com/m5stack/M5Bala.git
  1. Click Sketch -> Include Library -> Add .ZIP Library... . select M5Bala you just cloned from github.
  1. Open a bala example: Click File -> Examples -> M5Bala -> Basic.
  1. Compile and upload.