├── Config
├── ESPClicker_Initial_Firmware
│ ├── ESPClicker_Initial_Config.txt
│ └── ESPClicker_Initial_Firmware.bin
└── espclicker.yaml
├── LICENSE
├── PCB
├── ESPClicker_Bom.csv
├── ESPClicker_Gerber.zip
└── ibom.html
├── README.md
└── img
├── 3D_Render.jpg
├── ESPClicker.jpg
├── Interactiv_HTML_Boom.jpg
├── Schematic.jpg
├── adopt.jpg
└── dot.jpg
/Config/ESPClicker_Initial_Firmware/ESPClicker_Initial_Config.txt:
--------------------------------------------------------------------------------
1 | substitutions:
2 | name: "espclicker"
3 | friendly_name: "ESPClicker"
4 |
5 |
6 | esphome:
7 | name: "${name}"
8 | name_add_mac_suffix: true
9 | project:
10 | name: pricelesstoolkit.espclicker
11 | version: "1.0"
12 |
13 | esp8266:
14 | board: d1_mini
15 | early_pin_init: false
16 |
17 | wifi:
18 | ssid: !secret wifi_ssid
19 | password: !secret wifi_password
20 | fast_connect: true
21 | ap:
22 | ssid: "${name} Fallback Hotspot"
23 | password: "password"
24 | ap_timeout: 10s
25 |
26 | captive_portal:
27 |
28 | logger:
29 |
30 | api:
31 |
32 | ota:
33 |
34 | # This should point to the public location of this yaml file.
35 | dashboard_import:
36 | package_import_url: github://PricelessToolkit/ESPClicker/Config/espclicker.yaml@main
37 | import_full_config: true # or true
38 |
39 | sensor:
40 |
41 | - platform: adc
42 | pin: A0
43 | name: "${friendly_name} ADC"
44 | update_interval: 5s
45 |
46 | - platform: uptime
47 | name: "${friendly_name} Uptime"
48 | id: uptime_seconds
49 |
50 | - platform: wifi_signal
51 | name: "${friendly_name} WiFi Signal"
52 |
53 | binary_sensor:
54 |
55 | - platform: status
56 | name: "${friendly_name} Status"
57 |
58 | - platform: gpio
59 | pin:
60 | number: 13
61 | inverted: true
62 | mode:
63 | input: true
64 | filters:
65 | - delayed_off: 400ms
66 | name: "${friendly_name} AC_Sens"
67 |
68 | switch:
69 | - platform: restart
70 | name: "${friendly_name} restart"
71 |
72 |
73 | ##########################################
74 | - platform: gpio
75 | pin: 4
76 | id: Relay1
77 | name: "${friendly_name} Relay1"
78 | icon: "mdi:switch"
79 | restore_mode: ALWAYS_OFF
80 | ##########################################
81 | - platform: gpio
82 | pin: 5
83 | id: Relay2
84 | name: "${friendly_name} Relay2"
85 | icon: "mdi:switch"
86 | restore_mode: ALWAYS_OFF
87 | ########################################
88 | - platform: gpio
89 | pin: 12
90 | id: Relay3
91 | name: "${friendly_name} Relay3"
92 | icon: "mdi:switch"
93 | restore_mode: ALWAYS_OFF
94 | ########################################
95 | - platform: gpio
96 | id: LS1
97 | name: "${friendly_name} LS1"
98 | icon: "mdi:switch"
99 | restore_mode: ALWAYS_OFF
100 | pin: 15
101 | ########################################
102 | - platform: gpio
103 | id: LS2
104 | name: "${friendly_name} LS2"
105 | icon: "mdi:switch"
106 | restore_mode: ALWAYS_OFF
107 | pin: 14
--------------------------------------------------------------------------------
/Config/ESPClicker_Initial_Firmware/ESPClicker_Initial_Firmware.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PricelessToolkit/ESPClicker/1d6e0cd224170c43efb963174e90dd12b5625bd4/Config/ESPClicker_Initial_Firmware/ESPClicker_Initial_Firmware.bin
--------------------------------------------------------------------------------
/Config/espclicker.yaml:
--------------------------------------------------------------------------------
1 | #################################################################################################################################################
2 | #!!!!!!!!!!!!!!!!! AFTER CLICKING "ADOPT" CLICK ON "TREE DOTS" AND CLICK "RENAME HOSTNAME" AND PUT "espclicker-XXXXXX" SUFFIX !!!!!!!!!!!!!!!!!#
3 | #!!!!!!!!!!!! WITHOUT THIS IT WILL BE IMPOSSIBLE TO DO OTA UPDATE,BECAUSE ESPhome WILL TRY TO RESOLVE ADDRESS ON "espclicker.local" !!!!!!!!!!!#
4 | #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! OR YOU CAN UPLOAD THE FIRMWARE VIA USB OR VIA CAPTIV PORTAL !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#
5 | #
6 | ### UPLOAD VIA WIFI Captive Portal ##
7 | # The captive portal component in ESPHome is a fallback mechanism for when connecting to the configured WiFi fails.
8 | # After 1 minute of unsuccessful WiFi connection attempts, the ESP will start a WiFi hotspot with the credentials
9 | #
10 | # SSID "ESPClicker-XXXXXX Fallback Hotspot"
11 | # Password "password"
12 | #
13 | # When you connect to the fallback network, the web interface should open automatically (see also login to network notifications).
14 | # If that does not work, you can also navigate to http://192.168.4.1/ manually in your browser. In this web interface,
15 | # you can manually override the WiFi settings of the device. Additionally, you can upload a new firmware file to your node without having to use a USB cable for uploads.
16 | #
17 | ### UPLOAD VIA USB ###
18 | # 1. Open your ESPHome dashboard.
19 | # 2. Create new ESPhome device and paste your config then save it
20 | # 3. Find your device card click on menu (TREE DOTS)
21 | # 4. Click on Install
22 | # 5. Click on Manual Download
23 | # 6. Click on Modern Format
24 | # 7. After Completion, the firmware will be automatically downloaded
25 | # 8. Open https://web.esphome.io/, Push and hold "ESPClicker" BOOT button then plug in usb cable and click CONNECT.
26 | # 9. Click on button "Choose File" select downloaded firmware and Click INSTALL
27 | #################################################################################################################################################
28 |
29 |
30 | substitutions:
31 | name: "espclicker"
32 | friendly_name: "ESPClicker"
33 |
34 |
35 | esphome:
36 | name: "${name}"
37 | name_add_mac_suffix: true
38 | project:
39 | name: pricelesstoolkit.espclicker
40 | version: "1.0"
41 |
42 | esp8266:
43 | board: d1_mini
44 | early_pin_init: false
45 |
46 | wifi:
47 | ssid: !secret wifi_ssid
48 | password: !secret wifi_password
49 | fast_connect: true
50 | ap:
51 | ssid: "${friendly_name} Fallback Hotspot"
52 | password: "password"
53 | ap_timeout: 10s
54 |
55 | captive_portal:
56 |
57 | logger:
58 |
59 | api:
60 |
61 | ota:
62 |
63 | sensor:
64 |
65 | - platform: adc
66 | pin: A0
67 | name: "${friendly_name} ADC"
68 | update_interval: 5s
69 |
70 | - platform: uptime
71 | name: "${friendly_name} Uptime"
72 | id: uptime_seconds
73 |
74 | - platform: wifi_signal
75 | name: "${friendly_name} WiFi Signal"
76 |
77 | binary_sensor:
78 |
79 | - platform: status
80 | name: "${friendly_name} Status"
81 |
82 | - platform: gpio
83 | pin:
84 | number: 13
85 | inverted: true
86 | mode:
87 | input: true
88 | filters:
89 | - delayed_off: 400ms
90 | name: "${friendly_name} AC_Sens"
91 |
92 | switch:
93 | - platform: restart
94 | name: "${friendly_name} restart"
95 |
96 |
97 | ##########################################
98 | - platform: gpio
99 | pin: 4
100 | id: Relay1
101 | name: "${friendly_name} Relay1"
102 | icon: "mdi:switch"
103 | restore_mode: ALWAYS_OFF
104 | ##########################################
105 | - platform: gpio
106 | pin: 5
107 | id: Relay2
108 | name: "${friendly_name} Relay2"
109 | icon: "mdi:switch"
110 | restore_mode: ALWAYS_OFF
111 | ########################################
112 | - platform: gpio
113 | pin: 12
114 | id: Relay3
115 | name: "${friendly_name} Relay3"
116 | icon: "mdi:switch"
117 | restore_mode: ALWAYS_OFF
118 | ########################################
119 | - platform: gpio
120 | id: LS1
121 | name: "${friendly_name} LS1"
122 | icon: "mdi:switch"
123 | restore_mode: ALWAYS_OFF
124 | pin: 15
125 | ########################################
126 | - platform: gpio
127 | id: LS2
128 | name: "${friendly_name} LS2"
129 | icon: "mdi:switch"
130 | restore_mode: ALWAYS_OFF
131 | pin: 14
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2023, PricelessToolkit
4 |
5 | Redistribution and use in source and binary forms, with or without
6 | modification, are permitted provided that the following conditions are met:
7 |
8 | 1. Redistributions of source code must retain the above copyright notice, this
9 | list of conditions and the following disclaimer.
10 |
11 | 2. Redistributions in binary form must reproduce the above copyright notice,
12 | this list of conditions and the following disclaimer in the documentation
13 | and/or other materials provided with the distribution.
14 |
15 | 3. Neither the name of the copyright holder nor the names of its
16 | contributors may be used to endorse or promote products derived from
17 | this software without specific prior written permission.
18 |
19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/PCB/ESPClicker_Bom.csv:
--------------------------------------------------------------------------------
1 | Id;Designator;Footprint;Quantity;Designation;Supplier and ref
2 | 1;K2,K3,K1;Relay_DPDT_Omron_G6K-2P-Y;3;G6K-2P-Y_DC3;LCSC C119084
3 | 2;R7,R4,R2,R3,R5,R10,R8,R6,R1;R_0603_1608Metric;9;10K;LCSC C99198
4 | 3;Q2,Q3;SOT-23-3;2;MMBT3904-TP;LCSC C77991
5 | 4;C5,C1,C3;C_1206_3216Metric;3;22uf;LCSC C12891
6 | 5;U1;ESP-12E;1;ESP-12F;LCSC C82891
7 | 6;U2;SOT-23-5;1;SPX3819M5-L-3-3;LCSC C5370980
8 | 7;C4,C2,C6;C_0603_1608Metric;3;0.1uf;LCSC C14663
9 | 8;J1;JST_GH_SM12B-GHS-TB_1x12-1MP_P1.25mm_Horizontal;1;Conn_01x14_Male;LCSC C265421
10 | 9;BOOT;TS342A2P-WZ;1;SW_Push;LCSC C557591
11 | 10;R9;R_0603_1608Metric;1;1M;LCSC C304688
12 | 11;Q1;SOIC-16_W3.90mm;1;ULN2003ADR;LCSC C7512
13 | 12;D1;D_SOD-323;1;1N4148WS;LCSC C917117
14 | 13;R11;R_0603_1608Metric;1;5,1K;LCSC C2907044
15 |
--------------------------------------------------------------------------------
/PCB/ESPClicker_Gerber.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PricelessToolkit/ESPClicker/1d6e0cd224170c43efb963174e90dd12b5625bd4/PCB/ESPClicker_Gerber.zip
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ESPClicker
2 |
3 |
4 | 🤗 Please consider subscribing to my [YouTube channel](https://www.youtube.com/@PricelessToolkit/videos)
5 | Your subscription goes a long way in backing my work.
6 |
7 |
8 | [](https://ko-fi.com/U6U2QLAF8)
9 |
10 |
11 | # ESPClicker
12 |
13 | ESPClicker is a very simple, ESP8266 based IoT project that will allow you to integrate your normal devices such as a coffee machine, fan, etc, into your Smart home "make them all IoT enabled". Works with Home Assistant And ESPhome.
14 |
15 | YouTube Video: https://youtu.be/Gc4yCd9yvuE
16 | Online Shop: https://www.pricelesstoolkit.com/en/projects/32-espclicker.html
17 |
18 |
19 |
20 |
21 |
22 | ## Technical Specifications
23 | * 4 Layer PCB
24 | * WiFi Module ESP8266 ESP-12F
25 | * 3x Built-in signal relays ( Controll PINS: R1-GPIO4, R2-GPIO5, R3-GPIO12 ) "R1 can be configured as normally open or normally closed" MAX LOAD 500mA 24V
26 | * 2x Low-Side Switch "ULM2003" ( Controll PINS: LS1-GPIO14, LS2-GPIO15 ) MAX LOAD 150mA "1-2 Sec"
27 | * 1x ADC Pin "1V Max"
28 | * 1x ACS Pin "AC Power Detector" (Input Pin GPIO13)
29 | * Requires 5V 500mA power supply
30 |
31 | ## ! WARNING !
32 | THE COLOR CODE OF THE CABLE DIDN'T MATCH, REAL PIN LABELS ARE ON THE PCB
33 |
34 |
35 | # Programming
36 |
37 | ### ESPHome Dashboard Import "NEW"
38 | CONNECT TO THE ESPClicker FALLBACK NETWORK "ESPClicker-XXXXXX Fallback Hotspot" VIA WIFI AND CHANGE WIFI USERNAME AND PASSWORD, GO TO THE ESPhome AND CLICK "ADOPT" THEN CLICK ON "TREE DOTS" AND CLICK "RENAME HOSTNAME"
39 |
40 |
41 |
42 | AND PUT "espclicker-XXXXXX" SUFFIX
43 |
44 |
45 |
46 | WITHOUT THIS IT WILL BE IMPOSSIBLE TO DO OTA UPDATE, BECAUSE ESPhome WILL TRY TO RESOLVE ADDRESS ON "espclicker.local".
47 |
48 |
49 | ### UPLOAD VIA WIFI Captive Portal
50 | The captive portal component in ESPHome is a fallback mechanism for when connecting to the configured WiFi fails.
51 | After 1 minute of unsuccessful WiFi connection attempts, the ESP will start a WiFi hotspot with the credentials
52 |
53 | ```
54 | SSID "ESPClicker-XXXXXX Fallback Hotspot"
55 | Password "password"
56 | ```
57 | When you connect to the fallback network, the web interface should open automatically (see also login to network notifications).
58 | If that does not work, you can also navigate to http://192.168.4.1/ manually in your browser. In this web interface,
59 | you can manually override the WiFi settings of the device. Additionally, you can upload a new firmware file to your node without having to use a USB cable for uploads.
60 |
61 |
62 | ### UPLOAD VIA USB ###
63 |
64 | 1. Open your ESPHome dashboard.
65 | 2. Create new ESPhome device and paste your config then save it
66 | 3. Find your device card click on menu (TREE DOTS)
67 | 4. Click on Install
68 | 5. Click on Manual Download
69 | 6. Click on Modern Format
70 | 7. After Completion, the firmware will be automatically downloaded
71 | 8. Open https://web.esphome.io/, Push and hold "ESPClicker" BOOT button then plug in usb cable and click CONNECT.
72 | 9. Click on button "Choose File" select your firmware and Click INSTALL
73 |
74 | # Schematic
75 |
76 |
77 | # Assembly
78 | ### Easy assembly with interactive iBom file
79 |
80 |
81 |
82 |
83 | ## Additional parts list
84 | * Cable for ESPClicker 12P https://s.click.aliexpress.com/e/_DEXNTZF
85 | * Power Supply 5V 500mA https://s.click.aliexpress.com/e/_DFcN9hb
86 |
87 | Programmer and Test Clip Fixture
88 | * ESP8266 Programmer https://s.click.aliexpress.com/e/_DF4HDaH
89 | * PCB Test Clip Fixture "6P Pogo Pin Minimum" https://s.click.aliexpress.com/e/_Dm3ox9R
90 | * Pogo Pins only https://s.click.aliexpress.com/e/_De0po3L
91 |
92 |
93 | ## Useful links
94 | Home Assistant https://www.home-assistant.io/
95 | ESPhome https://esphome.io/
96 |
97 |
--------------------------------------------------------------------------------
/img/3D_Render.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PricelessToolkit/ESPClicker/1d6e0cd224170c43efb963174e90dd12b5625bd4/img/3D_Render.jpg
--------------------------------------------------------------------------------
/img/ESPClicker.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PricelessToolkit/ESPClicker/1d6e0cd224170c43efb963174e90dd12b5625bd4/img/ESPClicker.jpg
--------------------------------------------------------------------------------
/img/Interactiv_HTML_Boom.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PricelessToolkit/ESPClicker/1d6e0cd224170c43efb963174e90dd12b5625bd4/img/Interactiv_HTML_Boom.jpg
--------------------------------------------------------------------------------
/img/Schematic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PricelessToolkit/ESPClicker/1d6e0cd224170c43efb963174e90dd12b5625bd4/img/Schematic.jpg
--------------------------------------------------------------------------------
/img/adopt.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PricelessToolkit/ESPClicker/1d6e0cd224170c43efb963174e90dd12b5625bd4/img/adopt.jpg
--------------------------------------------------------------------------------
/img/dot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PricelessToolkit/ESPClicker/1d6e0cd224170c43efb963174e90dd12b5625bd4/img/dot.jpg
--------------------------------------------------------------------------------