Automate your espresso machine

Overview

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.

You might also like...
MLKit is a simple machine learning framework written in Swift.
MLKit is a simple machine learning framework written in Swift.

MLKit (a.k.a Machine Learning Kit) ๐Ÿค– MLKit is a simple machine learning framework written in Swift. Currently MLKit features machine learning algorit

A machine learning based emoji image classifier
A machine learning based emoji image classifier

BQBClassifier ๐Ÿ•ถ๏ธ Download From App Store Given that my photo albums are mixed with various emojis that often spoil my good mood, I wrote such an app

A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework.
A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework.

macOS Virtual Machine A ARM macOS Virtual Machine, using macOS 12's new Virtualization framework. I copied KhaosT's code from here, all I did is chang

This APP is capsule toy machine of IRASUTOYA.
This APP is capsule toy machine of IRASUTOYA.

IRASUTOYA-Gacha Do you know "IRASUTOYA" ? It is most popular free irastration of Japan. This APP is capsule toy machine of IRASUTOYA. Description This

macOS app for Hype Machine
macOS app for Hype Machine

Plug Discover and listen to music from Hype Machine Download Requires macOS 10.15 or later. Screenshot FAQ Can I contribute localizations? We do not h

Artificial intelligence/machine learning data structures and Swift algorithms for future iOS development. bayes theorem, neural networks, and more AI.

Swift Brain The first neural network / machine learning library written in Swift. This is a project for AI algorithms in Swift for iOS and OS X develo

Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style.
Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style.

StyleArt Style Art is a library that process images using COREML with a set of pre trained machine learning models and convert them to Art style. Prev

ZX Spectrum emulator for macOs. Retro Virtual Machine

Retro Virtual Machine 1.1.x This is the code for version 1.1.x of my emulator for the ZX Spectrum, Retro Virtual Machine. The current version (v2.0.7)

Good News iOS Application Using Machine Learning
Good News iOS Application Using Machine Learning

Good News iOS Application Using Machine Learning The project entails creating an iOS application that uses an API to identify only positive articles.

๐Ÿค– RxSwift + State Machine, inspired by Redux and Elm.
๐Ÿค– RxSwift + State Machine, inspired by Redux and Elm.

RxAutomaton RxSwift port of ReactiveAutomaton (State Machine). Terminology Whenever the word "signal" or "(signal) producer" appears (derived from Rea

Demo of iOS app that recognizes finger heart by machine learning
Demo of iOS app that recognizes finger heart by machine learning

HandPoseClassificationAR Demo of iOS app that recognizes finger heart by machine learning How to build 1, Download or Clone this project and open in x

Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine
Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine

Bluepill is a tool to run iOS tests in parallel using multiple simulators. Motivation LinkedIn created Bluepill to run its large iOS test suite in a r

Example project which uses Machine Learning frameworks to detect things

ML_IOS Example project which uses Machine Learning frameworks to detect things. Features Object Detection Text Detection Face Detection Audio Detectio

Generate sniglets with machine learning
Generate sniglets with machine learning

Give Me A Sniglet! Give Me a Sniglet is a random word-like generator with an on-device machine learning model that validates whether the word is likel

Cardshark is an iOS card counting App that uses state of the art machine learning (YOLO) to classify and count the cards at real time.

Cardshark The game of Blackjack is one of the most popular casino games in the world. It is also the most winnable using a skill called Card Counting.

BudouX: the machine learning powered line break organizer tool
BudouX: the machine learning powered line break organizer tool

BudouX.swift BudouX Swift implementation. BudouX is the machine learning powered

Elegant state machine for Swift.
Elegant state machine for Swift.

SwiftState Elegant state machine for Swift. Example enum MyState: StateType { case state0, state1, state2 } // setup state machine let machine = S

British Machine Vision Conference (BMVC)

Introduction This repository contains the model files, solver definitions, and learned weights for the networks described in the following publication

๐Ÿค— Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
๐Ÿค— Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

English | ็ฎ€ไฝ“ไธญๆ–‡ | ็น้ซ”ไธญๆ–‡ | ํ•œ๊ตญ์–ด State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow ๐Ÿค— Transformers provides thousands of pretrained models

Owner
Nikitas Rontsis
๐ŸŽ“ PhD from Oxford University in Optimization and Machine Learning ๐Ÿ”ฌ Engineer at Optimal Labs
Nikitas Rontsis
Build your own 'AirTags' ๐Ÿท today! Framework for tracking personal Bluetooth devices via Apple's massive Find My network.

OpenHaystack is a framework for tracking personal Bluetooth devices via Apple's massive Find My network.

Secure Mobile Networking Lab 5.8k Jan 9, 2023
Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code.

LGBluetooth Simple, block-based, lightweight library over CoreBluetooth. Steps to start using Drag and Drop it into your project Import "LGBluetooth.h

null 170 Sep 19, 2022
Small utility command line tool you can run locally from your mac

push-service Small utility command line tool you can run locally from your mac, for testing sending push notifications to actual devices. The push ser

Blub Blub 3 Aug 2, 2022
Fastlane - ๐Ÿš€ The easiest way to automate building and releasing your iOS and Android apps

fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and relea

fastlane 36.2k Jan 8, 2023
Automate box any value! Print log without any format control symbol! Change debug habit thoroughly!

LxDBAnything Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! Installation You only need drag LxD

DeveloperLx 433 Sep 7, 2022
Puma - A set of build utilities to automate mobile application development and deployment

Puma โ†’ https://github.com/onmyway133/Swiftlane Puma is a set of build utilities

Puma Swift 5 Oct 8, 2022
Slot-machine - SwiftUI - iOS App Slot Machine game

Slot Machine SwiftUI Masterclass project iPhone, iPad and Mac (with Catalyst framework) Complex interface Extensions and custom View Modifiers Input t

Arthur Neves 1 Sep 12, 2022
Squares - a toy drum machine which you can control by multi touch capabilities of your track pad

Squares Squares is a toy drum machine which you can control by multi touch capab

Umur Gedik 7 Oct 3, 2022
Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine.

GuillotineMenu.swift Inspired by this project on Dribbble Also, read how it was done in our blog Requirements iOS 8.0+ Xcode 10 Swift 5.0 (v 4.1+) Swi

Yalantis 2.9k Dec 13, 2022
The Swift machine learning library.

Swift AI is a high-performance deep learning library written entirely in Swift. We currently offer support for all Apple platforms, with Linux support

Swift AI 5.9k Jan 2, 2023