Build your own ESP8266 based IoT Controller

A show and tell on how I designed and build my own IoT controller, based on the popular NodeMCU, with ESPHome and Home Assistant

Public Chat
Similar projects worth following

The Internet of Things (IoT), as well as Home Automation, are steadily gaining popularity all the time. You can already buy quite a lot of commercial products or do your own D.I.Y implementation. Many different companies offer various devices and modules to help you do your project easily. But many of us will know that these modules always come with a lot of wires and connections, which can be very unreliable, and also unsightly to look at.

I have decided to change that, and build my own.

Part 1 of the project is available on my website, at the following link:

Part 2 is available here:

Part 3 here:

Update: 31/08/2021
The initial assembly of the first prototype PCB is finally completed.
This was quite a challenge due to many issues with components not arriving on time, having to repurpose components from other devices to get the project working.
I also discovered 3 small errors on the prototype PCB, my fault entirely.

This has now been corrected, and the fixed Gerberfiles updated at PCBWay.
You can read all about it on ( will open on a new page ).

This post also shows a quick integration of the final device with Home Assistant.
I have integrated the completed device with a DHT11 for room Temperature and Humidity ( not the most accurate)  as well as an LM73 to monitor the temperature inside the enclosure.

The next steps from here on will be designing an add-on shield. I desperately need more access to the I2C bus, as well as more power rail access (+5v and +3v + ground)
I also want to add support for some sort of display, either i2c or SPI

On the communication side, I am playing with the idea of adding NRF24L01+ support.
Depending on if I can get that to work with ESPHome. The idea behind that is that this single controller can do much more than a few relays. A remotely placed device, powered by another NRF24L01 and something like an Atmega328P or similar, can then control other outputs wirelessly.

I also want to add an option to power the controller directly from 220v Mains power. This will require another add-on board.

Ultimately, If all these work well, I plan an entire redesign of the PCB, to get it as compact as possible, maybe in 0603 sized components where possible.

Update: 24/08/2021
The PCB's have arrived, but still waiting for all of the components. Don't want to start assembly until I can do it all in one go ...

Some pictures of the PCB's will be up for show though .. as the 3D render does not really do it justice ( IMO at least ) :)

Please excuse the bad lighting on the PCB. My workshop is set up to be bright for work, but it makes taking photos a pain... Lots of glare...


BOM File. Please note: You do not have to use the exact part numbers in the BOM. As long as your values are the same, and components are of the same footprint, feel free to use locally sources components. With exception of the ESP-12E of course :)

ms-excel - 17.00 kB - 09/18/2021 at 09:51


Zip Archive - 234.58 kB - 09/18/2021 at 09:50


  • Add-on Card for MCU-8266-12E IoT Controller Now completed

    MakerIoT202001/23/2022 at 05:35 0 comments

    Jan 23 2022

    An add-card for this device is now available. We are in the process of releasing the files for public download on the PCBWay website.

    If you want to know more about this project, check it out here :

  • Certification and Permission to use ESPHome Logo

    MakerIoT202009/08/2021 at 06:49 0 comments

    Hello everyone, and thank you for being interested in my project.
    The PCB design has now been sorted out, and the prototypes are fixed from all bugs.

    I am pleased to announce that the Gerber files for the design will be made available to the public soon.

    I was also able to secure permission from ESPHome and Nabu Casa (the owners of the Home Assistant and ESPHome brands) to use the "Made for ESPHome" logo on the PCB for this project. A big thank you to Jesse and all the other people at Nabu Casa and ESPHome for making this possible. You can read about it all here:

    I would also like to invite you to contact me if you have any questions on the code or any other matter regarding the project...

  • First assembly completed

    MakerIoT202008/28/2021 at 05:10 0 comments

    The first assembly has been completed. I found some small errors on the PCB, but as I still consider this a prototype, it was easy to update the schematics and Gerber files. I made some wire connections on the PCB to fix the errors. I also had to use some old components, as logistics are very broken in Thailand at the moment, and as such, many components are still floating around on tables and in the back of delivery vans somewhere :) 

    I also had problems with wrongly delivered parts, most importantly, the 12Mhz crystal for the CH340G. I received an 8Mhz variant instead... This is however not a problem, as I will program with an external adapter for now, and all other updates t firmware will be OTA anyway ...

    Tested the board, and all went extremely well... It works as intended, which is the most important anyway ....

    Behind the scenes  pictures of the assembly can be seen here:

    Thank you

View all 3 project logs

Enjoy this project?



MakerIoT2020 wrote 09/17/2021 at 16:08 point

Update: 17/09/2021
The Gerber files for this project is now available for free public download.

Thank you

  Are you sure? yes | no

MakerIoT2020 wrote 08/24/2021 at 09:46 point

Thank you for the kind comment. I tried to look at the URL that you listed, but it seems offline? Please send me a working link, I would love to see how you do things :)
Yes, I agree, the ESP8266-12E is a very versatile chip for its cost. It does not have all the power of the ESP32, but we don't need all of that all the time... I find the NodeMCU good for prototyping, but as I absolutely despise the mess associated with bread-boarding, I would rather go through the effort of designing a PCB :)

  Are you sure? yes | no

nodemcu12ecanada wrote 08/23/2021 at 15:50 point

I just use a NodeMCU spanning across two 10X17 protoboards for many money saving  applications. I've found them very reliable. Two independent 5x17 areas support other devices like real time clocks etc. Very inexpensive.

Your board does look better though.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates