Scale Integration

Scale Integration

Beanstats integrates with Bluetooth Low Energy (BLE) coffee scales for real-time weight and timer readings during brewing.

Supported Scales

Acaia

ModelWeightTimerBatteryTare
Lunar
Pearl
Pyxis

Note: other scales might work, but haven’t been tested

Bookoo

ModelWeightTimerBatteryTareFlow Rate
Bookoo Mini
Bookoo Ultra

Bookoo scales are unique in transmitting hardware-calculated flow rate directly, providing more responsive flow rate readings compared to client-side calculation.

Timemore

ModelWeightTimerBatteryTare
Black Mirror
Black Mirror DUO
Black Mirror Dot

Decent

ModelWeightTimerBatteryTare
Decent Scale
Half Decent
Support for additional scales may be added in the future. However, adding new scale integrations typically requires physical access to the hardware for testing and debugging the Bluetooth connection. If you’d like to see support for a specific scale, feel free to reach out.

Pairing Your Scale

You can pair multiple scales with Beanstats, though only one scale can be connected at a time.

  1. Navigate to Settings > Scales
  2. Ensure your scale is powered on and in range
  3. Tap Scan for Scales
  4. When your scale appears, tap Pair
  5. The scale is now saved and will auto-connect when detected

Auto-Connect

By default, paired scales will automatically connect when Beanstats detects them. You can toggle auto-connect per scale in the settings. If multiple paired scales are in range, Beanstats will connect to the first one detected.

Beanstats only searches for scales when starting a brew or viewing the settings. This is to save battery life when you’re not brewing, but just exploring your extensive coffee history.

Connection Status

The scale connection status is shown throughout the app:

StatusMeaning
Green indicatorConnected and ready
Blue indicatorConnecting
Gray indicatorDisconnected

Features

Live Weight Display

When connected, the current weight is displayed:

  • In the brew form header
  • In the timer overlay during brewing
  • In the scale settings for testing

Weight readings include a stability indicator - a filled circle when the reading is stable. Not all scales report stability, in which case the indicator is always green.

Timer Sync

For scales with timer support:

  • The app uses the scale’s timer for accurate readings
  • Timer controls (start/stop/reset) send commands to the scale
  • Timer display updates in real-time

Note: not all scales report timer commands from the scale to the app, this is why we recommend to always control the scale through the app to ensure both devices are in sync.

Tare

Tap the Tare button to zero the scale. This works in:

  • The brew form
  • The brew timer overlay
  • The scale settings debug view

Note: not all scales report tare command from the scale to the app, this is why we recommend to always control the scale through the app to ensure both devices are in sync.

Flow Rate Display

During brewing, you’ll see real-time flow rate:

SpeedColorRate
IdleGray< 0.5 g/s
SlowBlue0.5 - 1.5 g/s
NormalGreen1.5 - 4 g/s
FastOrange4 - 6 g/s
Very FastRed> 6 g/s

The peak flow rate is tracked and displayed as a badge.

Weight-Over-Time Chart

During brewing, a live chart shows:

  • Weight progression (area and line)
  • Flow rate overlay
  • Steady flow marker for espresso
  • Reference line from previous brew (when using Repeat Brew)

This chart is saved with your brew for later review.

Reference Line (Repeat Mode)

When repeating a brew that has scale data, the timer overlay displays the previous brew’s weight curve as a dotted gray reference line. This helps you:

  • Match the timing of your previous pour
  • Maintain consistent pour rate
  • Compare your current extraction to a successful one

See Repeat Brew for more information.

Auto Features

Auto-Start Timer

When enabled, the timer automatically starts when flow is detected (weight increasing at > 0.5 g/s).

Configure in Settings > Scales > Auto Functions:

  • Auto-Start for Espresso: Enable for espresso brews (enabled by default)
  • Auto-Start for Filter: Enable for pour-over brews (disabled by default to avoid triggering during bloom)

Both toggles are independent, so you can run auto-start for one brewing style without the other.

Auto-Capture Weight (Espresso)

For espresso brews, the app can automatically capture the final weight when flow stops:

  1. Enable Auto-Capture Weight in settings
  2. Choose your capture delay:
    • Fast: 0.5 seconds
    • Normal: 0.8 seconds
    • Slow: 1.5 seconds
  3. Optionally set a Minimum Brew Time (None, 5s, 10s, or 15s) so a short pause early in the shot cannot trigger a capture

When flow rate drops below 0.2 g/s for the configured duration, the weight is captured and the timer stops.

Auto-capture is only enabled for espresso brews. Pour-over brews require manual stop to avoid false triggers from pulse pouring or bloom pauses.

Swirl Mode

When brewing with pour-over methods, swirling or agitating the brewer can cause weight spikes that corrupt flow rate readings. Swirl mode temporarily freezes weight readings while maintaining continuous data recording.

ActionEffect
Long press (0.3s) on weight displayActivates swirl mode
ReleaseDeactivates swirl mode

When active:

  • Background turns blue and weight display shows “Swirling…”
  • Haptic feedback on enter and exit
  • Weight samples continue recording using the frozen value (no gaps in exported data)

Steady flow Detection

During espresso extraction, the app automatically detects when the start of a steady flow:

  1. Monitors flow rate during the first 15 seconds
  2. When flow exceeds 1.5 g/s, marks pre-infusion end
  3. Shows the detected time in the brew details
  4. Displays as an orange marker on the brew chart

Configure this under Settings > Scales > Espresso Detection:

SettingDescriptionDefault
Detect Steady FlowDetect and mark the start of steady flow on the brew chartOn
Steady Flow ThresholdFlow rate that counts as steady flow, 0.5 to 3.0 g/s. Only shown when detection is on1.5 g/s
Detect Pre-infusion TimeRecord the time from timer start to the first drops in the cupOn

Both toggles sync across your devices via iCloud.

Pre-infusion Detection

For espresso, Beanstats can measure how long it takes before the first drops reach the cup. Detection starts once 0.3g has landed on the scale, and the measured time is stored with the brew and used to anchor the steady flow window.

Pre-infusion detection only runs when Auto-Start for Espresso is off. With auto-start on, the timer starts from the first flow, so there is no pre-infusion phase left to measure.

Troubleshooting

Scale Not Found

  • Ensure Bluetooth is enabled on your device
  • Make sure the scale is powered on
  • Check that the scale isn’t connected to another device
  • Try power cycling the scale

Connection Drops

  • Keep the scale within Bluetooth range
  • Ensure the scale battery is charged
  • Some scales require periodic connection (heartbeat) - the app handles this automatically

Weight Not Updating

  • Verify the scale shows weight on its display
  • Try taring the scale
  • Disconnect and reconnect the scale
  • If the above doesn’t work, restart the app. Make sure to keep the scale on

Timer Not Syncing

  • Not all scales support timer via Bluetooth
  • Ensure you’re using a supported scale model

Data Storage

Weight samples are recorded at 10Hz during brewing. You can configure the sample rate saved to the database:

RateStorageQuality
10 HzFullBest detail
5 Hz~50%Good balance
2 Hz~20%Compact

Configure in Settings > Data & Storage > Sample Rate.