Thanks to visit codestin.com
Credit goes to github.com

Skip to content

inkenbrandt/gaggiuino

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GAGGIUINO

Gaggiuino started as an idea to improve an already cappable coffee machine while keeping the machine looks and buttons 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.

First and foremost please do not underestimate the danger of electricity or overestimate your ability to work around it, only start working on your machine while it's completely disconnected from the mains power socket, also by agreeing to follow the bellow guide i cannot be deemed responsible for any of the damage you induce to your house appliances, yourself, your cat, friend or gold fish and it will be entirely your fault!

I will assume you have the necessary components and installed the related software, for the sake of not getting stuck at some point just double check again the list bellow.

Features / Completeness

  • Housing - credits @LikeableBump
  • Temp control
  • Realtime temp values update
  • Saving set values
  • Descale program
  • Steaming alert
  • Brew start sense
  • Pre-infusion - COMING SOON
  • Auto pressure profiling - COMING SOON
  • Manual pressure control - COMING SOON
<< Ideas are welcome in the Issues tab >>

PROJECT REQUIREMENTS

Software requirements:

  1. Arduino IDE

    Needed to upload the code ".ino" to the arduino ROM

    Libraries to add:

      Library manager:
       - Easy Nextion Library
       - MAX6675 by Adafruit
    
      External libraries:
       - ACS712 > https://github.com/rkoptev/ACS712-arduino
       - RBDDimmer > https://github.com/RobotDynOfficial/RBDDimmer
    
  2. Nextion Editor

    Only necessary if planning on editing the ".HMI" file to ammend the LCD functionality

  3. CH340 USB Driver

    USB driver so your system recognizes the Arduino clone board, let's say i have found this the hard way as apparetly the majority of cloned arduinos use a cheaper USB controller comparing to "genuino"

Hardware requirements:

The code has been designed to be plugable, meaning there is a minimal hardware configuration one can start with if certain features are not something of interest, next to the hardware component there will be anotated whether its a [BASE] or [EXT] functionality companent type
  1. Arduino Nano [BASE]

    *Be sure to buy the AT328 version, also if you're buying the mini usb version buy the cable from them, you'll save yourself a lot of problems.

  2. Nextion touch screen [BASE]
  3. MAX7765 thermocouple [BASE]
  4. C-M4 screw K-Type thermocouple sensor [BASE]
  5. 40DA SSR Relay [BASE]
  6. NEW Functionality RobotDYN dimmer module - Dimmer 4A-400V [EXT]
  7. NEW Functionality Hall Current Sensor Module ACS712 - 20A [EXT]
  8. Thermo-resistant cables AWG 15 ( 1m black/red ) and AWG 30 ( 1m black/red/yellow ) [BASE]
  9. Spade connectors M/F 6.3mm
  10. 5v Power Adaptor [BASE]

    I used an old mobile charger i had lying around which conveniently had a USB port for plugging the cable that came with the board, exactly like in the link above.

Optional:

The housing for all of the above hardware has been designed and provided kindly by @LikeableBump and can be found on thingiverse by following the link bellow:

Gaggia Classic Arduino & Touchscreen Housing

Assembling

First we need to understand what goes where, the schematics aren't really rocket science but for someone who's never disasembled or has no experience working with electrical circuits it might get confusing real fast so i will try to describe it as simple as possible yet limited by my vocabulary. First let's check the setup works as expected while outside the machine so you don't have it all installed and realise just afterwards it's not reading any temperature because of a faulty component or the relay doesn't switch between the ON/OFF modes.

Note 1 - no perament connections are needed during testing so no soldering needed for now.

Note 2 - the 5v/GND Arduino board pins will be shared between all the connected devices.

BASE FUNCTIONALITY

  1. The first step will be connecting the MAX6675 module to the arduino board using the pins defined in the code, you can find them defined at the top of the .ino file.

    MAX6675 Arduino
    VCC 5v
    GND GND
    SCK CLK
    SO DO
    CS CS
  2. Connect the relay, for now only connect the circuit controlling ports to check whether the relay LED indicates the power states.

    Relay Arduino
    3 GND
    4 D8

    Relay ports [1] and [2] are the high voltage circuit breaker

  3. Plug the arduino board using the mini usb cable that came with it and upload the code to the arduino board.

    Note: uploading won't work with the LCD connected

  4. Nextion LCD wiring

    Nextion Arduino
    TX RX
    RX TX
    VCC 5v
    GND GND
  5. Uploading the LCD ROM code

    Method 1

     Just copy the *.tft file on a FAT32 formatted microSD card and upload onthe LCD panel using the onboard card reader
    

    Method2

     Open the .HMI file using Nextion Editor and using the File menu upload it on a microSD card
    

    Note: card needs to be FAT32 formatted

  6. After upload finished get the card out and power cycle the LCD.

  7. You should see temp readings on your screen if everything went according to the plan.

    Don't forget to test the thermocouple/relay combo operation, apply some heat to the thermocouple end and see whether the relay led operates in HIGH/LOW modes

At this point if all the above works as expected you're ready to install it all inside the machine, for this we'll need to prepare some splitters that we'll use to connect to the Gaggia internals without introducing any permanent modifications so in the event of a desire to revert to stock it's a few disconnects away!

EXTENDED FUNCTIONALITY

  1. Adding the ACS712 hall current sensor is quite straight forward

    ACS712 Arduino
    VCC 5v
    GND GND
    OUT A0

    The high voltage circuit control ports will act as a passthrough for the front panel brew button positive wire

  2. Adding the dimmer

    Dimmer Arduino
    VCC 5v
    GND GND
    Z-C D2
    PSM D9

    Dimmer high voltage circuit control ports will act as a passthrough for the pump positive circuit wire

Now i won't be explaining every single detail, as always with such projects common sense should be applied at all times, it's expected people doing such sort of modifications will have some basic understanding.

AGAIN!!! Tripple check your machine is disconnected from any power sources, even better just pull the power cable out of it !

So here goes:

  1. Take off the top cover by unscrewing the 2 top screws, you should be able to see smth similar to the bellow image minus the SSR relay:

  1. Prepare 2 splitters like in the bellow image using the AWG15 cable, be sure one splitter to be black(negative) and one red(positive)

  1. Be sure to mark your top left power connector so you don't mix them up ( even though it's not that hard to understand which one is which)

  1. Disconnect all 3 of them as you'll use the midlle and bottom ones for power sharing.

  1. The hardest part will be now in my opinnion as you'll have to unscrew the bottom boiler stock thermostat and screw back in the new thermocoule, be sure to apply some thermal paste on the thermocouple threads ( just a teeny tiny bit ).

  1. Prepare 2 cables you'll use to connect the cables disconnected form the thermostat to the port 1 adn 2 of the SSR relay, use the red cable for that they shouldn't be too long, about 10cm will suffice, one end should be crimpled wiht a male spade connector and the loose end screwed to the relay and attach the relay to the machine case itself, ihave no clue what screw size i used as i have just matched one by trial and error lol, but be sure to apply some thermal paste to the SSR backplate that will make contact with the metal case of the machine.

So you end up having them connected like this:

  1. Prepare 2 more 10cm cables( also colour coded accordingly) which should be crimpled with M/F spade connectors at each end, the female end will go in Gaggia's front panel and the male end will go to the female end of the previously prepared(2) splitters, as in the bellow:

  1. Connect the front panel cables to any of the free male ends of the splitters as well, black one for the negative cable and red for the positive one( on my machine the positive is having 2 cables crimpled together).

  2. To power the arduino system i have used an old 5v mobile charger which i'm sure all of us have laying around, just solder 2 cables to the 2 ends of the charger and for the other ends use 2 F spade connectors, after which plug them to the remaining 2 splitter(2) ends.

  1. Now you're ready to connect everything to the arduino like you did it when testing everything, one advice would be to solder all the arduino connected cables a during the machine operation there is quite a bit of vibration and that can introduce all sorts of noise/frequent disconnects to certain pins which will lead to unexplained behaviours.

About

A Gaggia Classic temperatue control project using arduino hw.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%