Skip to content
 
 

Repository files navigation

BatteryFlow

See the power flow and battery levels of all your devices — right from your Mac's menu bar.

Download

Download the latest DMG — open it and drag BatteryFlow to Applications.

On first launch, macOS may show a security warning. Right-click the app and select Open to bypass it.

Features

  • Live power flow diagram: a Sankey-style view of watts flowing from the wall into your battery, your Mac, and its silicon — real measured power (Apple Silicon telemetry + IOReport), not adapter ratings
  • Steady, glanceable design: flow splits snap to fixed ratios, values refresh every 3 seconds
  • Automatically detects AirPods, Magic Mouse, Magic Keyboard, Magic Trackpad, iPhone, iPad, Apple Watch, Apple Pencil, and third-party Bluetooth HID devices
  • Lives entirely in the menu bar — no Dock icon, no clutter
  • Lock screen / desktop widgets for at-a-glance monitoring
  • Nearcast: share battery info between your Macs over the local network
  • Built-in Check for Updates (Settings → General) wired to this repo's GitHub Releases
  • Supports macOS 11.0 and later

Usage

  1. Launch BatteryFlow — it appears in your menu bar
  2. Click the menu bar icon to see the power flow diagram and all device battery levels
  3. Add widgets to your desktop or lock screen for at-a-glance monitoring

FAQ

Why isn't my iPhone / iPad / Apple Watch showing up?

Make sure the iPhone/iPad has trusted this Mac and was connected via USB cable at least once while BatteryFlow was running. After pairing, it just needs to be on the same Wi-Fi network.

Does my Apple Watch need to be connected separately?

No. When BatteryFlow detects a paired iPhone via Wi-Fi or USB, it automatically reads the Apple Watch battery paired with it. (Bluetooth-only iPhone discovery doesn't support Watch battery reading.)

What does the warning symbol next to a device name mean?

It means the device hasn't updated its battery info in over 10 minutes — it may be offline or turned off.

Can I get iPhone battery without Wi-Fi?

Yes — enable iPhone / iPad (Cellular) over BT in preferences and keep Bluetooth on. Only works with iPhones and cellular iPads.

Why does BatteryFlow need Bluetooth permission?

It captures Bluetooth advertisement packets from nearby devices to read their battery levels.

Build from Source

git clone https://github.com/hzeng412/BatteryFlow.git
cd BatteryFlow
./build.sh              # Build + create DMG
./build.sh --install    # Build + install to /Applications
./build.sh --launch     # Build + install + launch

Requires Xcode and macOS 11.0+.

Credits

BatteryFlow is based on the excellent AirBattery by @lihaoyun6 — all the device-detection magic originates there. This fork redesigns the UI around a live power-flow diagram and strips the app down to a lightweight, menu-bar-only experience.

Modified by Haochen Zeng, 2026.

Libraries used

  • libimobiledevice — iPhone/iPad USB detection (bundled binary based on 73b6fd1)
  • comptest by @nikias — companion test utility
  • MultipeerKit by @insidegui — LAN peer-to-peer communication for Nearcast

About

Get the battery usage of all your devices on your Mac and put them on the Dock / Menu Bar / Widget! && 在Mac上获取你所有设备的电量信息并显示在Dock / 状态栏 / 小组件上!

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages