diff --git a/README.md b/README.md index 400aa75..796f1d8 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,11 @@ You will need the following hardware to wire up the range hood: - 1x ESP device such as ESP32-C3 Super Mini - 5x optocouplers such as 4N35\* -- 5x resistors 1 $k\Omega$ +- 5x resistors 1 k$\Omega$ - 1x PNP transistor such as 2N3906 -- 1x 2cmx8cm perforated prototype board +- 1x 2cm $\times$ 8cm perforated prototype board -\* I used 4N35 optocouplers in my build because that is what I had on hand, but +\*I used 4N35 optocouplers in my build because that is what I had on hand, but they are overkill for this application since they are only used to "press" the front panel buttons, which uses very slow switching speeds of >250 ms. If I were patient, I would have waited for the much cheaper PC817 which should be more @@ -27,8 +27,8 @@ breadboard before making a more permanent installation. For safety, unplug the range hood from the AC power source before taking it apart. Remove the drip tray and the washable baffle filters. Use a screwdriver to remove the 8 screws from the fan cover assembly and remove the cover. You -can then remove the 2 screws from the light assembly to detach the lights --- -be careful to support the light assembly as you remove the screws as each bulb +can then remove the 2 screws from the light assembly to detach the lights. +Be careful to support the light assembly as you remove the screws as each bulb is attached to a cable. Detach the cables to remove the light assembly and put it aside. This should expose two more screws on the bottom by the front panel. Remove the screws and unclip the 3-wire harness connecting it to the main @@ -44,14 +44,14 @@ left to right, these are GND, TX, and 5V. To power the ESP32-C3 (or the variant of ESP board you are using) from the panel, connect GND on the panel to GND on the ESP32-C3 and 5V on the panel to 5V on the ESP32-C3. To read the state of the fans and lights, connect the transistor's emitter (on the -2N390 this is the leftmost leg with the flat side facing you) to RX on GPIO 6 +2N3906 this is the leftmost leg with the flat side facing you) to RX on GPIO 6 of the ESP32-C3. The transistor's base (middle leg) connects to the TX point on the front panel board, and the collector (rightmost leg) attaches to GND either at the front panel board or on the ESP32-C3. Each buttton is a capacitive spring with a single connection point to the front panel control board at the spring's base. Shorting this point to ground -discharges the spring and acts as a press --- or more accurately a touch --- of +discharges the spring and acts as a press -- or more accurately a touch -- of the button. In theory, a transistor can do the job here too, but the leakage from the transistor will influence the capacitive spring and will not register presses reliably. Instead, wire the output side of the optocoupler by @@ -86,4 +86,6 @@ such as Wi-FI and API settings to match your preferences. If you are using different pins or a different model of ESP board, make sure to change those blocks in the YAML file. Flash the ESP32-C3 using ESPHome. The `command` API can be used to control the device, or you can interface the device with -something like Home Assistant for a graphical user interface.. +something like Home Assistant for a graphical user interface. Each button on +the board can be pressed by using `command X`, where `X` is one of `timer`, +`up`, `down`, `light`, or `power`.