Home - samirkouider/gaggiuino GitHub Wiki

Gaggiuino

Compile Sketch Join Discord I'm on Reddit License

INTRO

Welcome to the comprehensive Gaggiuino wiki! Please refer to the index structure.

Gaggiuino started as an idea to improve an already capable coffee machine while keeping the machine appearance and button functionality as close as possible to the original. An important part is that no internal cables/connectors were modified; all the connections were made by creating splitters using the purchased spade connectors.


For project related help or learning more on future plans make sure to join the discord server here or clicking the "chat" badge under the logo.

Features / Completeness

  • Housing - credits I'm on Reddit
  • UI/UX - credits I'm on Reddit
  • Temp control
  • Steam control and alerting
  • Preinfusion
  • Realtime pressure feedback
  • Pressure profiling (realtime feedback loop)
  • Manual pressure control
  • Graphing shot stats
  • Realtime values update
  • Saving selected values
  • Descale program
  • Brew start sense
  • Auto shot timer
  • Tray integrated load cells - WIP ~55%
  • Saving/Loading profiles

Notes:

  • Pressure:
    • It is expected your OPV has been tuned to 9bar by default.
  • Regional power:
    • Defaults to 230V/50Hz and should be changed to the regional values for the correct work of the ACS712 sensor.

<< Ideas are welcome in the Issues tab >>


Mod in operation:

Video

USAGE:

  • BOILER - sets the desired temperature at the boiler level

  • OFFSET - sets the offset value used to calculate the real water temperature

  • HPWR - sets the relay start pulse length

  • M.C.DIV - sets the main cycle divider(aka non brew heating beahaviour), used in conjunction with HPWR

  • B.C.DIV - sets the brew cycle divider

  • Brew(Auto) - all pressure settings are following the bellow:

    • PREINFUSION - enables preinfusion
      • Time - sets the length of the PI phase
      • Bar - sets the max reacheable pressure for the PI phase
      • Soak - sets the length of the soaking(blooming) phase
    • P-PROFILING - enables AUTO pressure profiling mode
      • Start - sets the desired starting point of the PP phase, can be High->Low or Low->High.
      • Finish - sets the desired finish point of the PP pahse, same as above can be from High->Low or Low->High.
      • Hold - sets the length of the PP hold period, if it's desired to maintain the "Start" pressure for a period of time before the pressure drop/raise is applied this is where it's done.
      • Length - sets the length(aka speed) of the PP drop/raise behaviour, so one can change the pressure slow or fast if desired.
  • Brew(Manual) - allows for manual pressure control at brew time.

  • DESCALE - enables the descaling program, at this point there's only one default behaviour:

      flush - 10s x5 at 2bar
      flush - 20s x5 at 1 bar
      idle  - 5min at 0 bar
    

PROJECT REQUIREMENTS

Initially, it is expected your OPV has been tuned to 9bar. This can be done either by purchasing the 9bar spring or cutting down the original until you get 9bar reading from a pressure gauge.

Find out your regional settings. The code can handle either 230v/50Hz (EU/UK) or 120V/60Hz (US). THIS MUST BE CHANGED/CHECKED ON INITIAL BOOT UP FOR THE ACS SENSOR TO WORK.

Total estimated install time will be based on understanding and experience.

Below is a pic of the mod with all the components excluding the pressure transducer and load cells (the ACS sensor is shown but we don't need that anymore).

Initial

  • Purchase the parts listed, from Ali and expect a wait of 21 days. Any parts purchased anywhere else are done so at your own risk (they've not been tested).
  • Connect test components described in the doc to Arduino - using the expansion board twist the ends of cables and connect to the screw terminals. At this point using DuPont connections is fine but please note later we will solder to the boards or pins.
  • Flash Arduino and LCD with code.
  • Plug in and test - check for a temp reading (it will contain the default offset of 7 degrees which means the initial temp will be room temp -7).

Base

  • Plan out where the components will sit inside the machine to determine cable length
  • Create piggyback cables. Determine what switch points to piggyback from.
  • Wire in power delivery method - isolate the board using an enclosure or tape it up after wiring.
  • If you have the eco timer, disable it.
  • Swap out thermocouple - ease out the boiler (don't fully remove it) in order to gain more access.
  • Install the max temp board - isolate the board using an enclosure or tape it up after wiring.
  • Place and wire relay - attach the brew thermostat wires to the SSR relay and sit/attach the back plate or relay on the body of the machine, add some thermal paste
  • Re-Wire the steam switch for steam handling - you need to swap the brew thermostat wires (above step) for the steam thermostat wires and bridge the brew thermostat wires together then take some wires from the steam switch to the Arduino.
  • Wire brew switch for continuity
  • Test.

Extended

  • Install dimmer - isolate the board using an enclosure or tape it up after wiring.
  • Install the pressure sensor.
  • Install the load cells.

Finish

  • Make sure all connections are proper i.e, no metal is exposed and well isolated, all soldering is perfect and wrapped in heat-shrink.
  • Flash the Arduino and LCD with the latest version from GitHub (there could have been changes since).
  • Record your first start. Post this to #first-start on discord.
  • Find out your regional settings and set them in the settings of the Arduino.
  • Check all other settings save correctly.
  • Record your first shot. Post this to #first-shot on discord.
⚠️ **GitHub.com Fallback** ⚠️