ESPHome is a project that is evolving rapidly. At this time (2019) it is my favorite way to prototype rapidly and to use for workshops.
Coding skills are no longer required to build your own IoT solutions. Simply write a couple of statements in a configuration file, launch the tool, and the magic will happen. This makes it easier to organize workshops that focus on the essence of IoT instead of debugging coding errors…
The information in the configuration file is required to be able to connect to the WiFi network and to the MQTT broker.
Other parameters define the type of sensor and/or actuator that is connected to the controller.
Once you’ve got the information entered you start the tool which will download libraries and compile the firmware for you.