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 responses for Homebrewing PCBs Part 2: ESP8266

  1. Sean Christopher Thomson says:

    Do you have a suggestion for an appropriate contactor for a mini fridge fermentation chamber, or advice on how to select one?

    • Justin says:

      Hey Sean. A mini fridges would have a compressor at most 0.125 hp. Any contactor rated for this hp or higher would work. You’ll want to pay attention to the coil voltage to get something that works well for you. By coil voltage I mean the input voltage that is required to control the state of the contactor relay. HP-rated contactors with 12vdc coil voltages are pretty common (e.g. https://amzn.to/2LyLMY6), but would require you dealing with another power source in your control panel (either having two power supplies or a dual voltage power supply that outputs both 5vdc and 12vdc e.g. https://amzn.to/2vMqxY5).

      The easiest thing is likely to get a contactor relay with a suitable hp rating and a coil voltage that is consistent with your heating device and your mini fridge – 120v I’m guessing. Searching by hp rating on sites like amazon is basically impossible – you often have to find the spec sheets elsewhere. I checked this one (https://amzn.to/2PXN6SY), and it seems like it has a hp rating of 1/3 or 1/2 as one example – no mention of that on amazon though.

      If you let me know where you are sourcing stuff from specifically I maybe be able to be a bit more specific/useful.

  2. david koplan says:

    Is there a way to use pt 100 sensor with your project?

    • Justin says:

      This board does not support that, and neither brewpiless or thorrak’s brewpi-esp8266 fork have such functionality to support hardware to do that. Not to say it’s impossible though. Often the max31865 chip is used to interface PT100/PT1000 sensors, and this has been successfully used with ESP8266 boards (see https://www.esp8266.com/viewtopic.php?t=17166). Adafruit has a convenient breakout board with this chip. If you’re savvy, both projects are opensource and I don’t expect it would be terribly hard to implement on the code or hardware side (famous last words 😅).

  3. Chris says:


    Any chance you have the BOM as it’s not on PCBWay. Would really appreciate the help.

  4. Leave a Reply

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