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

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

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
-------------------
- `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>`__)
- `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/post/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>`__

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`

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

- `esphome-configs.io <https://esphome-configs.io/>`__ 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>`__
- `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`
