pdf-icon

Arduino Quick Start

2. Devices & Examples

6. Applications

StickS3 Battery

StickS3 battery status related APIs and example program.

Example

Compilation Requirements

  • M5Stack Board Manager version >= 3.2.5
  • Development board option = M5StickS3
  • M5Unified library version >= 0.2.12
  • M5GFX library version >= 0.2.18
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#include "M5Unified.h"

void setup()
{
    M5.begin();
    Serial.begin(115200);
    M5.Lcd.setTextDatum(middle_center);
    M5.Lcd.setTextFont(&fonts::FreeMonoBold9pt7b);
    M5.Lcd.setTextSize(1);
    M5.Lcd.setRotation(1);
}

void loop()
{
    M5.Lcd.clear();
    
    bool isCharging = M5.Power.isCharging();
    int vol_per = M5.Power.getBatteryLevel();
    int vol = M5.Power.getBatteryVoltage();

    M5.Lcd.setCursor(0, 30);
    M5.Lcd.printf("Charging: %s \n\n", isCharging ? "Yes" : "No");
    M5.Lcd.setCursor(0, 60);
    M5.Lcd.printf("Bat_level: %d%%", vol_per);
    M5.Lcd.setCursor(0, 90);
    M5.Lcd.printf("Bat_voltage: %d%mV", vol);
    delay(2000);
}                           

This program will display whether the battery is charging, the battery percentage, and the battery voltage on the screen, refreshing every 2 seconds.

API

The battery part of StickS3 uses the Power_Class from the M5Unified library. For more related APIs, you can refer to the following documentation:

On This Page