I finally built a control box to be used with GrainFather. Using a water-proof project box and membrane keypad makes me feel more comfortable to use it in the environment of a lot of water. The ports for lines under the box does void water-proof, but at least I don’t need to worry about water and wort drop.

Only a small hole is ported for the membrane keypad  to ensure maximum water-proof. The clear cover of the project box in fact makes reading a little more difficult. However, it doesn’t bother me too much.

I should’ve cut a wood sheet and printed something on it to beautify the front cover, which is in fact more difficult to me, compared to writing the program.


Inside, it is a mess. Including the membrane keypad and LCD, the other components are:

  • buzzer
  • NodeMcu board
  • small PCB for “power bus” and temperature sensor pull-up resistor.
  • PCF8574 board
  • 5V Power supply (The black object. I attach tab on it to avoid contact to the LCD.)
  • SSR and Really board.


The brew went well. There is not a glitch during the whole brew. Although there are things to be improved, I like it more than the original Arduino and ESP8266 version.

Somehow, it reminds me the brain bio chip in Battle Angel.

Comments (17)

  1. Nice, but you really need the ssr heatsink to be outside or a hole to vent it with a fan, otherwise the box will heat up and may melt the plastic.

  2. The PID setting values have bothered me for a while. I haven’t find a good set of values.
    I’ve tried several different setting, and none of them work very well.
    I am using the values suggested from this discussion:
    It is:
    P=100; I=20; D=5

    However, it is for 2000W heating element. I am not sure if it is good for 1500W US version. Per my experience, the variation is too high during mash, like 2 degree Celius.
    I have thought about PID auto-tunning, but it is said that it takes 4 hours to get the values, which is meaningless for brewing.

    One advice I would like to provide: don’t turn the heating element to “Normal” during mashing, or it is very likely to scorch.

  3. From what I have seen from other PID controllers with a auto tune feature, you run it once, it takes it’s time, and then automatically configures it’s PID settings.

    You don’t need to use it again unless you change something in your hardware setup.

  4. Wemos have released a new D1 mini pro… with 16M memory size, u.fl connector for external antenna and much more interesting stuff… should help with alot of future things… (Check link at bottom of this post).
    It would be awesome making a completely new Ardbir shield, but for Wemos D1 mini pro, and with outputs like the Ardbir nano.. Best with an onboard 12->5v PSU to make it possible use both.. 12v is good to have to drive relays, pumps and such with.

  5. That seems a good solution with large memory size and external antenna socket.

    Yes, D1 Mini shield is a good idea. The excess 3V/GND pairs of NodeMcu are meaningless when working with a dedicated shield.
    My current setup is simple by connecting the PIN directly to SSR and relay board. It barely works, but according to the specification, using transistor method should be better. The driving power of ESP8266 is said to be 20mA maximum, which is too small for SSR.
    I am looking for someone to help building a shield which can be used in this project as a brew controller(or wort production controller) and my other project as a fermentation controller. The output should be good for both SSR and relay boards.
    I don’t like higher voltage, like 12V or 24V because the regulator is huge. I think 5V will work just fine since even 3.3V works.
    MRE168, my original brew controller from my friend, uses 24V. My friend wanted to drive the pump directly. However, my Grainfather uses AC pump, and I would rather like to have SSR instead.

  6. Hi,

    Can i download the code somewhere? i’d like to test it on my homebuild BIAB to replace the STC1000+



  7. Hello please do you have any instructions on how to load brewmaniac to Nodemcu? I can pass verify if I have Uno set as board but if i set nodemcu at board i get error:

    sketch\ui.h:17:26: fatal error: avr/pgmspace.h: No such file or directory

  8. Hi Radek,

    There is no instructions to load brew maniac to Nodemcu. BrewManiac is for Arduino, and BrewManiacEx is for ESP8266, or Nodemcu.
    Don’t waste your time doing what I’ve done. Be patient. I will release the code after my new brew – if no new idea pops up.

  9. I would definitely be in for trying a d1minipro/PCF8574 version on a system if the instructions were set for someone with technical circuit and programming knowledge, but not modern 8266/arduino experience..

  10. 1. I tried my best to draw a digram of my initial platform. check

    2. Software environment installation is not difficult. you can
    2a. by PlatformIO, recommended, enables you to change options

    Download and install VSCode:

    Follow the instruction:

    Open the directory that contains platformio.ini.

    2b. Using flashing tool if you are using windows.
    There is a tool that you can use to flash the binary:

    Good luck.

Leave a Reply

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