A Few New Nodes I've Been Working On - Garage Door Access Controller & a Desktop Clock/Widget/Sensor Array

I am at a point where I am feeling comfortable with my progress and about to install the new nodes in their home for further development and testing. This post is mainly meant to inspire others and share my workflow, and how to circumnavigate challenges in going from breadboard-to-production. You could always develop a PCB and send it to be manufactured, but what’s the fun in that if you are not doing the manufacturing yourself?!? :clown_face: In creating several nodes in the past, my goal is to keep decreasing the footprint and adding complexity (aka expansion). I’ve found creating a replicable spreadsheet in Excel (or LibreOffice) is best for planning the process. These were both designed and created over the course of several weeks 1-2 hours at a time, breaking it down by connections and modules. I always revisit projects between each step to try and visualize if there is a more efficient way.

My steps for planning include:

  1. ESP’s are always replaceable and on headers.
  2. General ESP placement relative to PCB size & I/O
  3. Node requirements, pins needed, and onboard sensors/accessories placement
  4. General I/O placement (termination blocks, headers, etc.)
  5. PCB size and visual placement trials (dry - no soldering)
  6. Keep wire crosses as close to 90* as possible
  7. Document progress / layout and map pins in Excel / LibreOffice with photo overlay
  8. Generally keep power and ground busses on bottom, wires and components on top

Alas, here are my two most recent creations:

Desktop Sensor / Clock / Weather / General Info Device:



Manual Tilt-Up Garage Door Status / Lock / Unlock


  • This is a new node that (hopefully) allows me to automate the locking and unlocking, as well as status monitor of the manual garage door status.
  • Power is fed from 12v source through a step-down to 5v. Switch allows power through ESP USB at 5v while isolating step-down but still powering peripherals.
  • By using the input only pins, I’ve discovered I need to add external resistors. I am rearranging things to accommodate an external 10k pullup resistor and running the reed sensors off GPIO-GND.
  • Process:

If anyone is interested in the real-world implementation and code development of these nodes, I’ll document the progress either in a new thread or here. General code and pin mapping is created in conjunction with my requirements and pin mapping stages. Definitions of pins and when they are ready to be tested is usually uploaded to the raw ESP and edited as the workflow progresses, taking advantage of comments and commenting out portions of code. I’ll double and triple check any pin definitions against the spreadsheet which serves as my live documentation.

For now, I hope this provides an inspiration for anyone thinking, “Where do I start?”

And for those wishing to see the board bottoms, let me make the aforementioned rerouting to accomodate the Input only pull_up resistors!