OhMyShot: Automate your espresso machine!

OhMyShot! is an iOS app that supercharges your classic espresso machine.
It provides

  • gravimetric control
  • a shot timer
  • advanced pressure profiles
  • data analysis

and more! See the following video for a short introduction.

It requires a coffee machine with the meCoffee (BLE version) installed, and a bluetooth scale. As such it has the potential of supporting the Rancilio Silvia, Gaggia classic, and Vibiemme Domobar coffe machines.

See the following video for a quick introduction, and this post at CoffeeForums.co.uk

Installation

The app is still under development and has not been tested thoroughly. Before using the repo, read its disclaimer below.

The repo uses cocoa-pods for its dependencies. Upon downloading, run

pods install

to install the project’s dependency, AAChartKit-Swift. You can then proceed to compile and upload to your device.

Before using the app, make sure you have disabled the pre-infusion of meCoffee using the me/uBarista app.

Troubleshooting

The app currently assumes a meCoffee controller and a Felicita scale with certain names, services, and characteristics.
You might have to modify them to match your own hardware. You can find the details of your BLE devices via e.g. the LightBlue iOS app.

Future work includes supporting the Acaia, Decent and Skale bluetooth scales, which should be straighforward (just have to implement this interface similarly to the one for Felicita).

Disclaimer

Note that the software is pre-release and under development.
It has only been partially tested on the following hardware setup:

  • Rancilio Silvia V6;
  • meCoffee BLE controller (bought at 2021);
  • Felicita scale.

No test has been performed on any other hardware. No responsibility or warranty is provided, as described in the license file of this repo.

Before using it, on the same or different setups, you have to make sure that you have a thorough understanding of how your espresso machine works
and the risks of tampering with electrical, pressurized, and high-temperature systems.

License and Acknowledgments

The icons of the app are from the designer “AomAom”. They are free under a “Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)” license.

The code is distributed under a GPLv2 license. Although the intention was to use a more permissive license, this work was partly based on the source code of the meBarista app that comes under GPLv2 license.

The C code, that relates to smoothing functionality via splines, was copied from the GR Repo, that is licensed under an MIT license.

Finally, the btscale repo was very useful for the development of the bluetooth connectivity to the Felicita scale.

GitHub

View Github