Skip to content

Estimate flow calibration multiplier without the puck simulator!

Notifications You must be signed in to change notification settings

hsyhsw/de1-flow-calibration-estimation

Repository files navigation

de1-flow-calibration-estimation

Estimate (quite accurate) flow calibration multiplier for your DE1 espresso machine without the puck simulator. All you need is a shot history with the weight data from a Bluetooth scale! Why pay extra just for the calibration number?


Available at Binder

Method 1: upload your shot or provide a URL at visualizer.coffee

  1. Wait until it is fully loaded. (it may take a minute or so.)
    • Currently, there's a bug that autorun does not render all the components. After it loads, click on the rerun button at the top and confirm then you're ready!

      autorun_bug

  2. Scroll down to the bottom, you'll see the program running.
  3. Upload .shot file or take a URL from the visualizer.

Method 2: direct import then autorun from visualizer.coffee

  • Visit following URL with required params configured
    • Replace {shot_id} with a shot id at visualizer.coffee (do not omit opening/closing qoutes)
    • Replace {calib_number} with your current calibration multiplier (float number)
    • Use verbose=True to view verbose graph, verbose=False otherwise
    • URL_ENCODE(...) is to be programatically processed after putting all params
https://mybinder.org/v2/gh/hsyhsw/de1-flow-calibration-estimation/HEAD?urlpath=URL_ENCODE(notebooks/flowcorrection_nb.ipynb?autorun=true&verbose={True/False}&shot_id='{shot_id}'&current_calibration={calib_number})

Complete example:

shot_id: b02cc21c-eacc-4e9e-835a-af4d650aa3f4
verbose: True
current_calibration: 0.9

> URL_ENCODE("notebooks/flowcorrection_nb.ipynb?autorun=true&verbose=True&shot_id='b02cc21c-eacc-4e9e-835a-af4d650aa3f4'&current_calibration=0.9")
> notebooks%2Fflowcorrection_nb.ipynb%3Fautorun%3Dtrue%26verbose%3DTrue%26shot_id%3D%27b02cc21c-eacc-4e9e-835a-af4d650aa3f4%27%26current_calibration%3D0.9
https://mybinder.org/v2/gh/hsyhsw/de1-flow-calibration-estimation/HEAD?urlpath=notebooks%2Fflowcorrection_nb.ipynb%3Fautorun%3Dtrue%26verbose%3DTrue%26shot_id%3D%27b02cc21c-eacc-4e9e-835a-af4d650aa3f4%27%26current_calibration%3D0.9

Simple (or maybe too verbose) Guide

Pick a shot that meets following requirements:

  • It has the weight data measured from a BT scale
  • It came from an actual coffee extraction (not from like a calibration basket),
  • And it was stable without a massive channeling or so
  • It has a pressure declining stage towards the end
    • "Londinium style" profile is usually a good choice (as shown in the screenshot below)
  • Or, at least, can be considered a simple and neat "fully saturate, then squeeze" style shot
    • no pause in the middle
    • reasonably good pressure during the extraction

flowcorrection

  1. Move optimization window slider (horizontal one) to desired position

    • Typical GOOD region to include: where you think the extraction is stable
      • 3 bars < pressure < 9 bars
      • 1 ml/s < flow < 4 ml/s
    • Typical BAD region to include:
      • coffee just began dropping
      • flow or weight value is spiking
      • pressure is too low (like under 2 bars)
      • flow is too low (like under 1 ml/s)
  2. Suggested correction value(horizontal pink line) also changes as you adjust the optimization window

  3. Then adjust correction slider (vertical one) to see if corrected flow well-fits measured weight within the window

    • Correction line also moves as you adjust the correction value
    • So, first, try to move correction line closer to the suggestion line

    move_correction_line

  4. Use the correction value just found as a starting point finding flow calibration value in the DE1 app.


Use python 3.8+ with following packages:

  • matplotlib
  • scipy
  • numpy
  • requests
(venv) de1-flow-calibration-estimation> python -m flowcorrection [-h] [--verbose] [--visualizer [VISUALIZER_URL] | --file [FILE]] [--current-calibration CURRENT_CALIBRATION]
  • --verbose, -v: show verbose graph with a lot of messy stuffs! (if you're nerdy enough)
  • --visualizer [VISUALIZER_URL]: specify shot URL on the visualizer site (or will be asked)
  • --file [FILE]: specify a shot file (or will be asked)
  • --current-calibration CURRENT_CALIBRATION, -c CURRENT_CALIBRATION: current calibration value from Settings>Machine>Calibrate>Flow (Visualizer mode only)
  • or without any option: you'll be asked to pick a shot file

Sample shots are available in the example directory.

About

Estimate flow calibration multiplier without the puck simulator!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published