Homebrewing PCBs Part 2: ESP8266

Carrying on from my recent post on some PCBs for Raspberry Pi I designed…

I also designed some PCBs to use with ESP8266 devices, which I now use as the brains of my fermentation controller. These devices can be used with brewpiless (design to operate as a standalone device), or brewpi-esp8266 which can be managed by Fermentrack, which can run on pretty much any Linux machine, including virtual options such as Docker containers, Virtual Boxes, and Vagrant Boxes, in addition to Raspberry Pi.

ESP8266s are cheap WiFi enabledInternet of Things devices ($5-10), commonly found in “smart plugs” and other things. They can also be bought on their own with breakout boards for DIY projects such as the the one detailed here.


These PCBs for ESP8266 were based pretty closely on designs by @thorrak, the developer behind Fermentrack and maintainer of the ESP8266 fork of BrewPi project. His PCBs can be found here.


The purpose of the PCBs is to:

  1. Interface DS18B20 1wire temperature sensors, including providing the necessary pull up resistor to support multiple sensors on a single ESP8266 data pin
  2. Provide bi-directional logic level converters such that 5V I2C 20×4 LCDs can be interfaced with the ESP8266, which only has 3.3v IO
  3. Amplified heating/cooling outputs (3.3V to 5V) to be used to control relay modules and SSRs with increased reliability. Note that SOME relay modules and SSRs will work fine without this. There is also concern that certain configurations may draw more current than the ESP8266 can provide through its GPIO.
  4. Decoupling capacitors on 3.3v and 5v to improve power quality, big ground plane to reduce EMI.
  5. Screw terminals for outputs and sensor connections (@thorrak’s PCBs use some RJ connections, which are not my preference)

Top view: Transistors used to amplify heating and cooling outputs, MOSFETs for the bidirectional logic level converter, a few resistors and capacitors…

If I make another version of this there are a couple changes I would make. For one, I would use larger screw terminals – both in size and number of channels. Just to help keep things a bit neater.

I may also do away with LCD circuitry – I reference the LCD on my controller less often that I figured I would (though it has been handy for troubleshooting when I was having some issues with network connectivity).

I would considering doing a version with opto-isolated relays right on the PCB. In some cases these could be used directly (e.g. with resistive loads, like those commonly involved in heating), in others they may have to be used in conjunction with a contactor that is HP-rated for the compressor of the fridge, freezer, glycol chiller – whatever is being used for cooling.

Lastly, I would consider having my boards built for me. PCBway assembly costs seem quite reasonable. I like designing the boards, and using the boards, but not so much soldering them. I have some credit to use from people ordering my boards (they give a 10% commission to those that share boards on there), so why not?

The design files and BOM for these can be found on github, and downloaded or ordered from PCBway as well.

I will do another post in the near future regarding the build of my actual fermentation chamber controllers.

Want to support this blog?

Here’s some affiliate links related to this post. I receive a small commission on purchases made through these, helping to fund my future brewery projects 🙂.



  6 comments for “Homebrewing PCBs Part 2: ESP8266

        Leave a Reply

        Your email address will not be published. Required fields are marked *