Credits for this are going out to romanseidl for starting all of this. If he ever merges my current PRs I would be glade to merge everything into his project. Otherwise this forkes stays alive.
If you speak german you can find a forum with some discussion here: https://www.kaffee-netz.de/threads/millcontrol-arduino-muehlensteuerung-mit-timer-gewichtsautomatik-und-brew-timer.95553/
12.12.2021
- If you wnat to help you can always check the Kaffe-Netz Forum and see if something is missing in the descriptions here. I am still not done with reviewing all the comments.
- You can also have a look at the open issues, e.g. if you found a typo somewhere, if you would like to add a tip, you would like to say thank you ;) or everything else
- Feel free to open new issues, PRs etc.
This was designed to build a time controlled coffee grinder out of any regular machine. It was developed to be used with a Graef CM 70 but it should work fine with any brand or models (as you can see below). During the development process a weight option was introduced as well.
Here are some examples on how it can look at the end:
Source: Kaffee-Netz comment 116 | Source: Kaffee-Netz comment 172 | Source: Kaffee-Netz comment 187 | Source: Kaffee-Netz comment 199 |
Graef CM70 | Graef CM70 | Ascaso | Eureka |
Source: Kaffee-Netz comment 200 | Source: Kaffee-Netz comment 200 | ||
Bezzera BB005 | Bezzera BB005 |
For beginners here are some tipps to get started.
The hardware requirements and some pictures, which show you what the hardware looks like, can be found here.
- Encoder (v1.4) - http://www.pjrc.com/teensy/td_libs_Encoder.html
- TimerOne (v1.1) - https://github.com/PaulStoffregen/TimerOne
- U8Glib - https://github.com/olikraus/u8glib
I prefer an old school schmatic style over those fanzy fritzing pictures.
After you are familiar with the hardware, experimented a little with the LED, installed the OLED display and have done some other arduino experiments, you are ready for the next step. And this is, getting the stuff on to the arduino. To do so, you will have multiple options:
- Recommended: with Arduino IDE (classic way, has no compilation time restriction)
- with the help of the arduino WebEditor
The purpose of the demo setup is to make sure, that all components are working even without connecting it directly on the mill. Through that you can test a little and see if all components are working and how the UI works. You can finde a step by step demo setup here.
After your demo setup works well you should go on and set it up to the mill. Work in progress:
- Here is an example how I did it for the CM70
In this section I will insert a navigation overview for all user interaction.
You can select from up to 20 time modes with settings for time or weight. There are two different time modes: multi selection and single selection (FLAT_MODE in UI.h).
For every mode there are timeings for a single click, double click (or mill switch 2, if available) and long click. For a click mode you can set a time / weight or "start/stop" (start mill with click start and stopping it at the next) or hold (longer click, only if more buttons are available). If there is no mill button then you can only choose from single and double click. Long click is then bound to the edit menu.
Every time / weight has its own side. With one click this site will be startet. In the direct mode ("start") will start the mill until another click stopps the mill, hold (the hold function also does something. But not clear what.).