Hello!
I'm very interested in home automation, and I'd like to add WIFI to my coffee machine
In order to minimize my chances to destroy it in the process, I'd need your help.
The machine
The idea
I would like to be able to press the buttons from my computer, and determine if there's an error that requires my attention on the machine.
I think the easier way (and not too invasive) would be to plug a small circuit on the ribbon going to/from the keypad/screen combo that you see on the front, that way I don't need to alter anything on the PCBs.
This little circuit would basically act as another keypad, running side to side with the original one.
I'm planning on using an esp8266 WIFI module to do the handling.
Of course, the machine needs to work in the same way as before, so the keypad needs to be still fully functional.
Where I'm at
I started testing what is going on the lines of the ribbon, here is what I found (ribbon have 16 lines):
- Three of the buttons are simply pulling the line from 5V to GND when pressed
- Two buttons share a line, which is 5V at rest, 3.5V when button1 is pressed and 2.5V when button2 is pressed.
- The last two buttons use the same principle as the ones above (tristate on the line)
- Two lines are the serial communication with the screen (not planning on using these)
- Two lines are for the screen LEDs, one to switch the red LED, one for the green. (one line/LED, 5V when ON, 0V otherwise)
- Power (5V + GND)
About the LEDs:
The screen backlight allows you to know the status of the machine easily, if it's green everything is OK, yellow (both LEDs ON) is warning and red is an error that requires user input (no water in the tank for example). By determining which LEDs are ON, my program can know the machine status.
Where I need help
So, there are three modules that needs implementation:
- Regular button (line to GND)
These should be the easy part, I was thinking about simply having a transistor (2n2222?) that would short the line to GND when activated by my MCU's GPIO.
- Multiplexed buttons (tristate on the line)
This one I have no idea, and it's the one scaring me most (I'm afraid of sending current in the wrong way, towards the keypad instead of the mainboard). I need to put the line from 5V to 3.5 or 2.5, depending on which button I want to activate.
- LED detection
Would it be enough to connect the line directly to a GPIO and read the value in software? do I need components in between to protect my MCU?
Thanks!
Benoit
I'm very interested in home automation, and I'd like to add WIFI to my coffee machine

The machine
The idea
I would like to be able to press the buttons from my computer, and determine if there's an error that requires my attention on the machine.
I think the easier way (and not too invasive) would be to plug a small circuit on the ribbon going to/from the keypad/screen combo that you see on the front, that way I don't need to alter anything on the PCBs.
This little circuit would basically act as another keypad, running side to side with the original one.
I'm planning on using an esp8266 WIFI module to do the handling.
Of course, the machine needs to work in the same way as before, so the keypad needs to be still fully functional.
Where I'm at
I started testing what is going on the lines of the ribbon, here is what I found (ribbon have 16 lines):
- Three of the buttons are simply pulling the line from 5V to GND when pressed
- Two buttons share a line, which is 5V at rest, 3.5V when button1 is pressed and 2.5V when button2 is pressed.
- The last two buttons use the same principle as the ones above (tristate on the line)
- Two lines are the serial communication with the screen (not planning on using these)
- Two lines are for the screen LEDs, one to switch the red LED, one for the green. (one line/LED, 5V when ON, 0V otherwise)
- Power (5V + GND)
About the LEDs:
The screen backlight allows you to know the status of the machine easily, if it's green everything is OK, yellow (both LEDs ON) is warning and red is an error that requires user input (no water in the tank for example). By determining which LEDs are ON, my program can know the machine status.
Where I need help
So, there are three modules that needs implementation:
- Regular button (line to GND)
These should be the easy part, I was thinking about simply having a transistor (2n2222?) that would short the line to GND when activated by my MCU's GPIO.
- Multiplexed buttons (tristate on the line)
This one I have no idea, and it's the one scaring me most (I'm afraid of sending current in the wrong way, towards the keypad instead of the mainboard). I need to put the line from 5V to 3.5 or 2.5, depending on which button I want to activate.
- LED detection
Would it be enough to connect the line directly to a GPIO and read the value in software? do I need components in between to protect my MCU?
Thanks!
Benoit