Skip to content

Commit bc7bba9

Browse files
authored
Add custom PCB information (#46)
* Add EP2220 config template * Add custom PCB information to documentation
1 parent d9bb61a commit bc7bba9

File tree

7 files changed

+139
-3
lines changed

7 files changed

+139
-3
lines changed

README.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ Currently supported Coffee Machine models include:
99
|Series 2200| `EP2220`, `EP2235` |
1010
|Series 3200| `EP3243`, `EP3246` |
1111

12+
My modified `EP2220`:
13+
![Modified Coffee Machine](images/machine_inside.jpg)
14+
More information about the PCB used in this image is available [here](#custom-pcb).
15+
1216
This component provides a `Power Switch`, a `Status sensor` and various `Buttons` which simulate user input as well as a `Number` component to customize beverage settings such as size and strength.
1317
The `Power Switch` can be used to turn on the coffee machine with and without a cleaning cycle during startup.
1418

15-
![Provided entities in HomeAssistant](ha_entities.png)
19+
![Provided entities in HomeAssistant](images/ha_entities.png)
1620

1721
You might break/brick your coffee machine by modifying it in any way, shape or form. If you want to use this component, do so at your own risk.
1822

@@ -104,8 +108,8 @@ The RX/TX lines are piped through the ESP such that messages can be read, interc
104108
105109
When injecting a 'turn coffee machine on' command, the coffee machine does turn on, but the display unit does not. To circumvent this behavior we can re-boot the display unit by temporarily removing it's power. Thus the display will power on and operate normally. To perform this operation a transistor or MOSFET can be used.
106110
107-
The following wiring guideline can be used to add a Wemos D1 Mini to the coffee machine. **The unlabeled wires should be connected without changes.**
108-
![Wiring guide](wiring.png)
111+
The following wiring guideline can be used to add a Wemos D1 Mini to the coffee machine. **The unlabeled wires should be connected without changes.** More schematics are available [here](#custom-pcb).
112+
![Wiring guide](images/wiring.png)
109113
110114
The ribbon cable wires have the following functionalities.
111115
@@ -124,6 +128,17 @@ The ribbon cable wires have the following functionalities.
124128
125129
The Wemos D1 Mini has a built in Voltage regulator, thus connecting it to the 5V provided by the mainboard is no problem. If you use a different ESP Module/Board please make sure it is 5V tolerant or use a Voltage regulator. Otherwise you might release magic smoke.
126130
131+
# Custom PCB
132+
133+
This project has convinced me to design my first PCB (printed circuit board). This rather simple ESP8266-12F-based design was inspired by the Wemos D1 Mini, which I was using previously.
134+
When using this PCB the ribbon cable connecting the mainboard to the display must not be cut in half and no soldering is required.
135+
136+
![PCB Front side](images/pcb.jpg)
137+
138+
The Schematics, PCB Layout and BOM are available [here on oshwlab.com](https://oshwlab.com/tillf/philips-smart-coffee-pcb) and an accompanying 3D-printable case for the small PCB is available [here on printables.com](https://www.printables.com/model/826691-smart-coffee-pcb-case). The SMD components were chosen such that they can still be hand-soldered without a hot-air station or reflow oven, given a little experience. Since this is my first design there may be mistakes and things that could be optimized. Everything is provided as is, without warranty or liability of any kind.
139+
140+
There are also other PCB designs like [this one](https://oshwlab.com/tradstaat/coffeepcb) which relies on using a Wemos D1 Mini and does not require soldering SMD components.
141+
127142
# Communication protocol
128143
129144
More information on the communication protocol used by this component can be found [here](protocol.md).

ha_entities.png

-16.7 KB
Binary file not shown.

images/ha_entities.png

26.6 KB
Loading

images/machine_inside.jpg

431 KB
Loading

images/pcb.jpg

451 KB
Loading
File renamed without changes.

templates/Philips_EP2220.yaml

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
substitutions:
2+
name: "philips-coffee-machine"
3+
friendly_name: "Coffee Machine"
4+
5+
esphome:
6+
name: "${name}"
7+
friendly_name: "${friendly_name}"
8+
name_add_mac_suffix: true
9+
10+
project:
11+
name: TillFleisch.ESPHome-Philips-Smart-Coffee
12+
version: "1.0"
13+
14+
esp8266:
15+
board: esp12e
16+
17+
dashboard_import:
18+
package_import_url: github://TillFleisch/ESPHome-Philips-Smart-Coffee/templates/Philips_EP2220.yaml@main
19+
20+
logger:
21+
baud_rate: 0
22+
23+
api:
24+
25+
ota:
26+
27+
wifi:
28+
ap:
29+
30+
captive_portal:
31+
32+
external_components:
33+
- source: github://TillFleisch/ESPHome-Philips-Smart-Coffee@main
34+
35+
uart:
36+
# UART connected to the mainboard
37+
- tx_pin: GPIO1
38+
rx_pin: GPIO3
39+
baud_rate: 115200
40+
id: uart_mainboard
41+
42+
# UART connected to the display
43+
- tx_pin: GPIO15
44+
rx_pin: GPIO13
45+
baud_rate: 115200
46+
id: uart_display
47+
48+
philips_coffee_machine:
49+
display_uart: uart_display
50+
mainboard_uart: uart_mainboard
51+
power_pin: GPIO12
52+
id: coffee_machine
53+
language: en-US
54+
55+
text_sensor:
56+
- platform: philips_coffee_machine
57+
controller_id: coffee_machine
58+
id: status
59+
name: "Status"
60+
61+
switch:
62+
- platform: philips_coffee_machine
63+
controller_id: coffee_machine
64+
name: "Power"
65+
icon: mdi:coffee-maker
66+
67+
button:
68+
- platform: philips_coffee_machine
69+
controller_id: coffee_machine
70+
action: SELECT_COFFEE
71+
name: "Select Coffee"
72+
icon: mdi:coffee
73+
74+
- platform: philips_coffee_machine
75+
controller_id: coffee_machine
76+
action: SELECT_ESPRESSO
77+
name: "Select Espresso"
78+
icon: mdi:coffee
79+
80+
- platform: philips_coffee_machine
81+
controller_id: coffee_machine
82+
action: SELECT_HOT_WATER
83+
name: "Select Hot Water"
84+
icon: mdi:tea
85+
86+
- platform: philips_coffee_machine
87+
controller_id: coffee_machine
88+
action: SELECT_STEAM
89+
name: "Select Steam"
90+
icon: mdi:heat-wave
91+
92+
- platform: philips_coffee_machine
93+
controller_id: coffee_machine
94+
action: MAKE_COFFEE
95+
name: "Make Coffee"
96+
icon: mdi:coffee
97+
98+
- platform: philips_coffee_machine
99+
controller_id: coffee_machine
100+
action: MAKE_ESPRESSO
101+
name: "Make Espresso"
102+
icon: mdi:coffee
103+
104+
- platform: philips_coffee_machine
105+
controller_id: coffee_machine
106+
action: PLAY_PAUSE
107+
name: "Select play/pause"
108+
icon: mdi:play-pause
109+
110+
number:
111+
- platform: philips_coffee_machine
112+
type: bean
113+
controller_id: coffee_machine
114+
status_sensor_id: status
115+
name: "Beverage Strength"
116+
117+
- platform: philips_coffee_machine
118+
type: size
119+
controller_id: coffee_machine
120+
status_sensor_id: status
121+
name: "Beverage Size"

0 commit comments

Comments
 (0)