DIY Examples
============

.. seo::
    :description: Community curated list of DIY creations and custom code for ESPHome.
    :image: earth.svg

This is a curated list of awesome creations with ESPHome containing various
custom components, blog posts, videos and sample configurations. It should serve as a means of
finding inspiration for new projects and finding other ESPHome-enthusiasts on the web.

This page purposefully has little moderation. Found something great or have something to share?
Great, create a pull request on GitHub adding the link to this file (:ghedit:`Edit`)!
The usual rules of don't be an asshole apply - don't put your link at the top of the list
unless it's truly exceptional, etc.

.. warning::

    These configurations and custom components are *not officially maintained* by the
    ESPHome team. If an API changes or there's a breaking change, it's up to the author to update
    the post.

Blog Posts & Videos
-------------------
- `Build a cheap air quality sensor <https://www.pieterbrinkman.com/2021/02/03/build-a-cheap-air-quality-meter-using-esphome-home-assistant-and-a-particulate-matter-sensor/>`__ by `Pieter <http://www.pieterbrinkman.com>`__
- `Track your water usage using a proximity sensor <https://www.pieterbrinkman.com/2022/02/02/build-a-cheap-water-usage-sensor-using-esphome-home-assistant-and-a-proximity-sensor/>`__ by `Pieter <http://www.pieterbrinkman.com>`__
- `Collecting Temperature Data from ELA Bluetooth Puck with ESPHome <https://blog.weinreich.org/posts/2020/2020-12-14-esphome-ble-ela/>`__ by `lairsdragon <https://www.weinreich.org/>`__
- `Make your fireplace smart (blog series) <http://www.pieterbrinkman.com/category/home-automation/make-your-bellfire-fireplace-smart/>`__ by `Pieter <http://www.pieterbrinkman.com>`__
- `Ultrasonic Salt Level Sensor <https://adonno.com/salt-level-sensor/>`__ by `Adonno <https://adonno.com>`__
- `Smart $2 doorbell <https://frenck.dev/diy-smart-doorbell-for-just-2-dollar/>`__ by `Frenck <https://frenck.dev>`__
- `Cheap Car Presence Detection <https://adonno.com/car-presence-position-detection/>`__ by `Adonno <https://adonno.com>`__
- `Calibrating Power Sensors <https://frenck.dev/calibrating-an-esphome-flashed-power-plug/>`__ by `Frenck <https://frenck.dev>`__
- `Count Water Bottles <https://vigonotion.com/blog/monitor-remainding-water-bottles/>`__ by `vigonotion <https://vigonotion.com>`__
- `ESPHome Weather Station with Nextion display <https://github.com/bruxy70/Home-Assistant-ESPHome-Weather-Station>`__ by :ghuser:`bruxy70`
- `ESPHome Wall Mount with Nextion Display <https://github.com/Andoramb/Nextion-wall-mount>`__ by :ghuser:`Andoramb` (`video <https://www.youtube.com/watch?v=TL8wZNnS4jI>`__)
- `ESPHome 12v Fan Controller with PID Climate <https://github.com/patrickcollins12/esphome-fan-controller>`__ by :ghuser:`patrickcollins12`
- `Sonoff 4CH Irrigation Controller with Nextion Display <https://github.com/bruxy70/Irrigation-with-display>`__ by :ghuser:`bruxy70`
- `Automated Bathroom Ventilation <https://www.youtube.com/watch?v=weBDnmrQYOs>`__ by `Intermittent Technology <https://intermit.tech>`__
- `ESPHome MP3 Sound Machine <https://selfhostedhome.com/esp8266-mp3-sound-machine/>`__ by `Self Hosted Home <https://selfhostedhome.com>`__
- `ESP32 Camera+ESP8266 PIR <https://www.dopebuild.com/i-am-sorry-dave-i-am-unable-to-do-that/>`__ by `Dave Richer <https://dopebuild.com/>`__
- `Detecting Sound with ESP8266 <https://thibmaek.com/posts/detecting-sound-level-using-esp8266-and-esphome>`__ by `Thibault Maekelbergh <https://thibmaek.com>`__
- `SW420 Vibration Sensor with Remote Notifications <https://github.com/rmooreID/Home-Assistant-Appliance-Monitor/>`__ by :ghuser:`rmooreID`
- `DIY Irrigation Controller (with Internal Scheduler + Lovelace UI) <https://brianhanifin.com/posts/diy-irrigation-controller-esphome-home-assistant/>`__ by :ghuser:`BrianHanifin`
- `Smart Intercom <https://frog32.ch/smart-intercom.html>`__ by `Marc Egli <https://frog32.ch/>`__
- `Esp32 six shutters controller <https://github.com/Gio-dot/Six-shutters-ESP32-controller>`__ by `Gio-dot <https://github.com/Gio-dot>`__
- `Washing machine phases detector (Sonoff Pow R2) <https://github.com/Gio-dot/Washing-Machine-Sonoff-Pow-R2-Esphome>`__ by `Gio-dot <https://github.com/Gio-dot>`__
- `Sonoff L1 LED Strip <https://emorydunn.com/blog/2020/08/10/sonoff-l1-&-home-assistant/>`__ by :ghuser:`emorydunn`
- `ESPHome for SP501E LED Controller <https://margau.net/posts/2020-11-21-2h-led-hack/>`__ by `margau <https://margau.net>`__
- `4$ Xiaomi mijia thermometer LYWSD03MMC + ESP32 + ESPHome <https://omarghader.github.io/how-to-monitor-your-home-temperature-with-esp32-and-xiaomi-mijia-using-esphome/>`__ by `Omar GHADER <https://omarghader.github.io/post>`__
- `Baseboard (Line Voltage) Thermostat from Smart Switch <https://github.com/rjmurph2241/baseboard-heating-thermostat>`__ by :ghuser:`rjmurph2241`
- `Office Doorbell <https://github.com/shish/esphome-projects/blob/master/office-doorbell.md>`__ by :ghuser:`shish`
- `Display TM1637 with ESPHome and MQTT showing Youtube subscribers count and other info <https://youtu.be/27JZEky0h1Q>`__ by :ghuser:`electrofun-smart`
- `Automate your garage door with ESP8266 lysignal Yunshan 7v-30v <https://www.haade.fr/en/blog/home-automation-smarthome-jeedom-homeassistant/tutos-haade-lab/domotiser-sa-porte-de-garage-pour-5e/>`__ by :ghuser:`haade-administrator`
- `Embedded controller for Audioengine A5+ <https://github.com/chatziko/audioengine-a5-controller/>`__ by :ghuser:`chatziko`
- `Cheap 10$ Air quality monitor WP6003: ESP32, Bluetooth & Home assistant <https://omarghader.github.io/esp32-airquality-box-wp6003-homeassistant/>`__ by `Omar GHADER <https://omarghader.github.io/post>`__
- `ESP32 AM312 motion sensor : light automation <https://omarghader.github.io/esp32-am312-pir-motion-sensor/>`__ by `Omar GHADER <https://omarghader.github.io/post>`__
- `Little thermostat based on AZ-Touch hardware and esphome <https://github.com/ingbenna/AZ-Touch_esphome_thermostat/>`_ by ingbenna
- `Converting a Carro Home DC Fan to ESPHome <https://1projectaweek.com/blog/2022/2/8/converting-a-carro-home-dc-fan-to-esp-home>`__ by `Bill Church <https://1projectaweek.com>`__
- `Automated Coffee Bean Roaster <https://hackaday.io/project/186852-automated-coffee-bean-roaster>`__ by `brooksben11 <https://hackaday.io/brooksben11>`__
- `Droplet Smart Irrigation System <https://github.com/PricelessToolkit/Droplet>`__ by `PricelessToolkit <https://github.com/PricelessToolkit>`__

Custom Components & Code
------------------------

- `Custom RGBW Light Output emulating color temperature support <https://gist.github.com/madjam002/31cc88640efa370630fed6914fa4eb7f>`__ by :ghuser:`madjam002`
- `Custom ESPHome native API to influxdb python script <https://gist.github.com/fpletz/d071c72e45d17ba274fd61ca7a465033#file-esphome-sensor-influxdb-py>`__ by :ghuser:`fpletz`
- `Custom Electra HVAC climate component <https://gist.github.com/liads/c702fd4b8529991af9cd52d03b694814>`__ by :ghuser:`liads`
- `Custom D6T Thermal Sensor <https://gist.github.com/mKeRix/4fc553574af0a2d8682734695160b859>`__ by :ghuser:`mKeRix`
- `Custom 斐讯DC1 Mains Socket Component (chinese) <https://github.com/Samuel-0-0/phicomm_dc1-esphome>`__ by :ghuser:`Samuel-0-0`
- `Custom Component for Tuya PIR sensors <https://github.com/brandond/esphome-tuya_pir>`__ by :ghuser:`brandond`
- `DIY Whole Home Power Monitoring with ATM90E32AS chip <https://www.youtube.com/watch?v=BOgy6QbfeZk>`__ by `digiblurDIY <https://www.youtube.com/channel/UC5ZdPKE2ckcBhljTc2R_qNA>`__
- `SK6812 Addressable Light as Display Matrix <https://github.com/rnauber/ESPHomeMatrixLED>`__ by :ghuser:`rnauber`
- `Custom MAX7219 Matrix Display Component <https://github.com/ASMfreaK/esphome_max7219>`__ by :ghuser:`ASMfreaK`
- `Custom ESPHome Roomba Component <https://github.com/mannkind/ESPHomeRoombaComponent>`__ by :ghuser:`mannkind`
- `Custom Real-Time LED strip music visualization <https://github.com/zhujisheng/audio-reactive-led-strip>`__ by :ghuser:`zhujisheng`
- `Custom ITHO Fan control <https://github.com/CoMPaTech/esphome_c1101>`__ by :ghuser:`CoMPaTech`
- `Custom LCTech 4-channel relay output <https://github.com/nekromant/esphome-lctech-4chanel-modules>`__ by :ghuser:`nekromant`
- `LIFX Protocol for ESPHome <https://github.com/giantorth/ESPHomeLifx>`__ by :ghuser:`giantorth`
- `Custom ESPHome Keypad sensor <https://github.com/Syralist/esphomekeypad>`__ by :ghuser:`Syralist`
- `LINP-Doorbell-g03 Custom Component <https://github.com/pauln/esphome-linp-doorbell-g03>`__ by :ghuser:`pauln`
- `ESPHome <-> Homebridge <https://www.npmjs.com/package/homebridge-esphome>`__ by `basdelfos <https://www.npmjs.com/~basdelfos>`__
- `Custom ESPHome for Wofea V10 Alarm <https://github.com/nbergont/wofea_v10_hack>`__ by :ghuser:`nbergont`
- `Custom Smart meter P1 port reader <https://github.com/nldroid/CustomP1UartComponent>`__ by :ghuser:`nldroid`
- `Custom Mitsubishi HVAC HeatPump control using UART <https://github.com/geoffdavis/esphome-mitsubishiheatpump>`__ by :ghuser:`geoffdavis`
- `Jura Impressa J6 coffee machine custom component <https://github.com/ryanalden/esphome-jura-component>`__ by :ghuser:`ryanalden`
- `Paradox alarm system sensors custom component <https://github.com/Margriko/Paradox-ESPHome>`__ by :ghuser:`Margriko`
- `DSC POWER832 (PC5010) alarm system custom component <https://github.com/Dilbert66/esphome-dsckeybus>`__ by :ghuser:`Dilbert66`
- `Custom UART component for WS3 weather station and air particulate matter sensor <https://github.com/kquinsland/ws3-to-esphome-bridge>`__ by :ghuser:`kquinsland`
- `ADEMCO/VISTA/Honeywell alarm system custom component <https://github.com/Dilbert66/esphome-vistaECP>`__ by :ghuser:`Dilbert66`
- `Winsen ZE08-CH2O (Formaldehyde sensor) custom component <https://gist.github.com/cretep/f96606dc6a4eae0d85993d6085959220>`__ by :ghuser:`cretep`
- `ZclMqttBridge custom component <https://github.com/HyperReap/zcl_mqtt_bridge>`__ by :ghuser:`HyperReap`
- `Custom esp32 media player and notifier <https://www.printables.com/model/327708-esphome-nodemcu-esp32-media-player>`__ by :ghuser:`rananna`
- `Blauberg recuperator S22 controller replacement <https://github.com/Benas09/Blauberg_S22>`__ by :ghuser:`Benas09`

Sample Configurations
---------------------

- `esphome-devices.com <https://www.esphome-devices.com/>`__ by :ghuser:`jonathanadams`
- `Ultrasonic Sensor for detecting if car in Garage <https://gist.github.com/Snipercaine/f3908a051fd79e6d7d7b765152666c2a>`__ by `DrZzs <http://drzzs.com/>`__
- `Sonoff POW R2 Washing Machine Sensor <https://gist.github.com/frenck/1b4f0ea98f1f6d86d597c2d9636636db>`__ by `Frenck <https://frenck.dev>`__
- `Sonoff iFan02 Custom Output Example <https://gist.github.com/quazzie/09ee3ef2c419ecbcf979a7410062481b>`__ by :ghuser:`quazzie`
- `TTGO Esp32 Camera with display <https://gist.github.com/Snipercaine/d8345571563536e9661422c3509d1119>`__ by `DrZzs <http://drzzs.com/>`__
- `ESPHome configs using substitutions and !include <https://github.com/AlexMekkering/esphome-config>`__ by :ghuser:`AlexMekkering`
- `ESPHome configs <https://github.com/glmnet/esphome_devices>`__ by :ghuser:`glmnet`
- `DS102 3 Gang <https://gist.github.com/tribut/ddde2ef1e2fa3919c50c4ab9c03e7056>`__ by :ghuser:`tribut`
- `ESP32 Higrow Plant Moisture Sensor <https://gist.github.com/WoLpH/bc284ba9aeb5d1263f72d6294e239c1a>`__ by :ghuser:`WoLpH`
- `Send push notification to phone when dryer cycle has finished <https://gist.github.com/jeffehobbs/93ab682705ec3bbba19887903e7ccdb9>`__ by :ghuser:`jeffehobbs`
- `ESP8266 Smart Sprinkler Project <https://github.com/selfhostedhome/smart-sprinkler>`__ by `Self Hosted Home <https://selfhostedhome.com>`__
- `ESP8266 lysignal Yunshan 7v-30v <https://gist.github.com/haade-administrator/ba9b6667ece8269cd37f64e34e908977/>`__ by :ghuser:`haade-administrator`
- `LOHAS RGBW/CWWW Smart bulbs <https://www.youtube.com/watch?v=fTb6n6flJIw>`__ by `digiblurDIY <https://www.youtube.com/channel/UC5ZdPKE2ckcBhljTc2R_qNA>`__
- `ESPHome with MakerLife Weather Station Kit <https://github.com/mkuoppa/esphomeweatherstation>`__ by :ghuser:`mkuoppa`
- `ESPHome DIY Multisensor Cat Feeder <https://github.com/335iguy/diy-multisensor-cat-feeder>`__ by :ghuser:`335iguy`
- `ESPHome config for Universal IR Remote ZJ-A1 (russian) <https://kvvhost.ru/2019/10/30/review-firmware-zj-a1-ir-remote/>`__ by `kvvhost <https://kvvhost.ru/>`__
- `ESPHome Home Assistant Cheap Cat Feeder <https://github.com/rubengargar/diy-cheap-cat-feeder>`__ by :ghuser:`rubengargar`
- `ESPHome configs <https://github.com/nuttytree/ESPHome-Devices>`__ by :ghuser:`nuttytree`
- `ESPHome Home Assistant stepper motor blinds/curtain <https://github.com/icarome/esphome/blob/master/cortina.yaml>`__ by :ghuser:`icarome`
- `Control LG UD79-B monitor via UART <https://github.com/kquinsland/lg-m43mu79-esp-home-bridge>`__ by :ghuser:`kquinsland`
- `ESPHome AXA Remote 2 control <https://github.com/galagaking/espaxa/>`__ by :ghuser:`galagaking`
- `ESPHome WF-DS01 TuyaMCU based dimmable bedside touch lamp <https://github.com/davet2001/miscellaneous/blob/master/tuyamcu_ws-df01_touchlamp.yaml>`__ by :ghuser:`davet2001`
- `Universal menu system for devices with rotary encoder with push and SSD1306 I2C display <https://github.com/mikosoft83/pithy_screen_menu_system>`__ by :ghuser:`mikosoft83`
- `Show heart rate sensor values sent over Bluetooth Low Energy on a display <https://github.com/koenvervloesem/ESPHome-Heart-Rate-Display>`__ by :ghuser:`koenvervloesem`
- `ESPHome floor heating controller (proportional valves) <https://github.com/nliaudat/floor-heating-controller>`__ by :ghuser:`nliaudat`
- `ESPHome Curtain/Cover/Shutter Switch from a noname Tuya switch <https://github.com/ludrao/esphome-shutterswitch>`__ by :ghuser:`ludrao`
- `ESPHome Free your Thomson Guardian gate controller <https://github.com/ludrao/esphome-guardian>`__ by :ghuser:`ludrao`
- `Ambient Light Sensor tcs34725 example <https://gist.github.com/RubenKelevra/0d70d6b4c8e4bc9aedc8682865731d65>`__ by :ghuser:`RubenKelevra`
- `9 Valve Sprinkler Controller configuration <https://github.com/hwstar/9-Valve-Sprinkler-Controller>`__ by :ghuser:`hwstar`
