Skip to content

Repository files navigation

AcaiaArduinoBLE

Acaia / Bookoo / Felicita Scale Gateway using the ArduinoBLE library for esp32-based devices. This is an Arduino Library which can be found in the Arduino IDE Library Manager.

Scale Compatibility

MfrModelSubmodelFirmwareConnection PerformanceAuto-TareAuto-Start/Stop TimerAuto-Reset Timer
AcaiaLunarUSB-Micro
(Pre-2021)
v2.6.019GreatYesYesUntested
AcaiaLunarUSB-C
(2021 version)
v1.0.016Hit or MissYesYesYes
AcaiaPearl SUSB-Microv1.0.056OkYesYesYes
AcaiaPearl SUSB-C----OkYesYesYes
AcaiaPyxis----v1.0.022GoodNot Recommended (too sensitive)YesYes
BookooThemis Mini----v1.0.5GreatYesYesYes
BookooThemis Ultra--------GreatYesYesYes
FelicitaArc------------YesYesYes

Requirements

This library is intended to be used with any arduino device which is compatible with the ArduinoBLE library.

Printed Circuit Board

shotStopperV3 screenshot

The included "shotStopper" example code uses the ShotStopper PCB to make it simple to control your espresso machine using the scale.

A kit can also be ordered by visiting tatemazer.com

If you choose to build your own from scratch, v2.0 is recommended as it requires only through-hole components

Join the discord for updates and support: https://discord.gg/NMXb5VYtre

Video showing developmnent of the shotStopper

Espresso Machine Compatibility

ModelPowered by Machine (5V)Brew State Detection MethodOfficially Documented
GS3No, requires included power supplySolenoid Valve (Reed Switch)Yes
Linea MicraYesBrew SwitchYes
Linea Mini*Older, non-IoT machines may require a power supplyBrew SwitchYes
Linea Mini RYesBrew SwitchYes
Silvia Pro (X)YesBrew ButtonYes
Stone EspressoYesSolenoid Valve (Reed Switch)Yes
Ascaso Steel Duo PIDUntestedBrew ButtonNo
Profitec MoveYesBrew ButtonNo

*Ace Dotshot is compatible with the shotStopper. Also note, shot duration is automated at the scale with the shotStopper, making the dotShot redundant.

ShotStopper Example Code Configuration

The following variables at the top of the shotStopper.ino file can be configured by the user:

MOMENTARY

  • true for momentary switches such as GS3 AV, Rancilio Silvia Pro, etc.
  • false for latching switches such as Linea Mini/Micra, stone, etc.

REEDSWITCH

  • true if a reed switch on the brew solenoid is being used to determine the brew state. This is typically not necessary so set to FALSE by default. This feature is only available for non-momentary-switches.

AUTOTARE

  • true by default. The scale will automatically tare when the shot is started, and, if MOMENTARY is false, will perform another tare at 3 seconds to notify the user that the switch is latched and should be returned to the home position.
  • if set to false, the shotStopper will never send a tare command. It is the user's responsibility to tare before each shot. This may be helpful if the scale is not stable when the shot begins, and thus the scale is unable to tare reliably.

TIMER_ONLY

  • false by default. disables brew-by-weight functionality and enables only automatic timer and tare

Demo

You can find a demo on Youtube:

Video showing an shotStopper pulling a shot on a silvia pro

Scale Compatibility:

☑ Acaia Pyxis

☑ Acaia Lunar (usb-micro)

☑ Acaia Lunar 2021 (usb-c)

☑ Pearl S

☑ Felicita Arc

☑ Bookoo

Bugs/Missing

  1. Tare command is less reliable than pressing the tare button for pyxis
  2. Only supports grams.

Acknowledgement

This is largely a basic port of the LunarGateway library written for the ESP32.

In addition to some minor notes from pyacaia library written for raspberryPI.

Felicita Arc support contributions from baettigp and A-TWJ

Bookoo contributions from philgood and same31

lunar 2019 contributions from jniebuhr

About

Bluetooth Scale Gateway using the ArduinoBLE library for devices such as the esp32 and other Bluetooth-enabled Arduino compatible hardware.

Topics

Resources

Stars

127 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages