platformio.ini (187, 2020-04-22)
src/ (0, 2020-04-22)
src/display.h (11607, 2020-04-22)
src/main.cpp (9444, 2020-04-22)
# Coffee Grinder Timer
The project was started when I bought a used Mazzer Super Jolly and wanted to mod it and control it based on time. I removed the doser from the grinder, added a funnel, had the grinder repainted, and started working on this project.
The project is built in Visual Studio Code.
*(click to play video)*
## Parts list
- Arduino Nano
- ST7735 1.8" TFT (https://www.ebay.co.uk/itm/191786659555)
- Rotary encoder w. click (Something like https://www.elextra.dk/details/H35684/rotary-encoder-18-trin-m-trykknap-funktion)
- Relay(s) (*I don't really know much about relays and am still experimenting with this. When I originally started this project I did [this drawing for my Mazzer Super Jolly](http://coffee.larsenpedersen.com/mazzersuperjolly/wiringdiagram-relay.png), so perhaps two relays are needed.*)
- Possibly some sort of power supply
## Pins
**Connection between ST7735 and Arduino Nano**
-
VCC 5V
-
GND GND
-
CS D10
-
RESET D8
-
A0 / DC D9
-
SDA D11
-
SCK D13
-
LED 3V3
**Connection between rotary encoder and Arduino Nano**
-
Rotary envoder pin 1 A0
-
Rotary envoder pin 2 GND
-
Rotary envoder pin 3 A1
-
Button pin 1 A2
-
Button pin 2 GND
**Connection between relay and Arduino Nano**
*These specifications are speculations as I currently don't have a relay hooked up - but it should be [fairly simpel](https://lastminuteengineers.com/one-channel-relay-module-arduino-tutorial/):*
-
GND GND
-
VCC 5V
-
IN D2
## Interface
Everything is controls by either turning (
Turn), clicking (
Click) or holding (Hold (∞)) / holding+releasing (Hold (2s)+R) the rotary encoder:
**General**
-
Turn to pick one of the following grinding options:
- **Manual grinding**
-
Hold (∞) to grind
- **Single grinding**
-
Click to start grinding
-
Click to cancel grinding
-
Hold (2s)+R to enter settings:
-
Turn to change time
-
Click to save settings
-
Hold (2s)+R to exit settings without saving
- **Double grinding**
-
Click to start grinding
-
Click to cancel grinding
-
Hold (2s)+R to enter settings:
-
Turn to change time
-
Click to save settings
-
Hold (2s)+R to exit settings without saving