

Brewomatic
Single vessel brewing system
- Size
- 95.3 × 70.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 39
- Nets
- 53
- Pads
- 139
- Tracks, vias
- 379, 9
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 4
- Created
- 20 Feb 2018
- Updated
- 15 Sep 2018
Overview
Brewomatic is an open-source printed circuit board by clementleger, from the clementleger/brewomatic repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 95.3 × 70.1 mm with 39 parts on 53 nets, routed with 379 tracks and 9 vias.
It is built around the BT139-600E, MOC3021M and IRF540N. Its parts include 14 connectors, 8 resistors, 7 diodes, 3 ICs and 2 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Main components
3BT139-600E
TO-220C-40℃~+125℃ 1 TRIAC 1.5V 10mA 140A@20ms 16A 1V 25mA 500mW 600V TO-220C Thyristors (SCR)/Modules ROHSKTPThyristors (SCR)/ModulesMOC3021M
DIP-6-40℃~+85℃ 0.1mA 1 1.15V 100mA 330mW 4.17kV 400V 6 60mA No TRIAC DIP-6 Triac, SCR Output Optoisolators ROHSonsemiTriac, SCR Output OptoisolatorsIRF540N
TO-2201 N-channel 1.35nF 100V 130W 280pF 33A 35mΩ@10V 4V 52nC@10V 85pF N-Channel TO-220 MOSFETs ROHSOSENMOSFETs
README
README.mdDisclaimer
I am not experienced with brewing so, be indulgent with what you could found in the following explanations.
Why ?
While trying to make my own brewing system, I did not find any easy to use and well explained system for small brewing setup. OpenArdBir code is not well architectured and does not support a full featured screen or an SD card. I wanted a configurable system to match user needs.
Brew-O-Matic
Brew-O-Matic aims to be an easy to use brewing system for really (really (really)) small all-in-one brewing setup. It contains the following features:
- Temperature probes:
- PT100 via MAX31865
- DS18B20
- Input
- Rotary Encoder
- LCD support
- LCD2004 (Discount Controller)
- ILI9341 (via uCglig, incomplete support)
- Pump control via MOSFET
- Heating element support
- 50/60Hz main automatic detection
- PID controlled heating
- Beeper
- Internationalization
Some feature can be opt out such as beeper and sd card. Others can be choosen according to your hardware
Design
BrewOMatic is designed to easily add a temperature sensor, input, display, etc.
Adding a language
Languages support can easily be added. You simply have to add a Lang.h file to the lang directory. To do that, simply recopy the LangEnglish.h file and translate the existing strings. Be careful not to reorder entries ! (tech hint: gcc-avr does not support designated initializer)
Building
Configuration
In order to configure BrewOMatic to suit your configuration, you can modify Config.h All options are clearly documented. The default configuration suit the custom brewing controller.
Needed libraries
Depending on your configuration, you will need the following libraries:
- SD
- PIDv1
- LiquidCrystal
- TimerOne
- uCGlib
- Rotary Encoder
- TempDS18B20
Command
Using and arduino ide, load the BrewOMatic.ino file into the IDE. Compile it and upload it to the arduino.
Usage
It is advised to use a SD card to store recipe easily
Modes
### Manual mode
When in manual, mode, user can control pump, temperature
### Recipe execution
In order to execute a recipe, go Browse SD card.
Recipe format
Recipes are stored in .br (Brew Recipe) files on SD card. The format is basically a csv files with specific values:
Lines format is the following: step;duration;temperature;pump_enable;pump_duty_cycle
Step is mainly an indicator to display the correct step name on LCD. Step can be one of the following value:
- H: Heating step
- M: Mashing step
- B: Boiling step
- C: Cooling
Duration is then the step duration described in minutes. Temperature is the target temperature for this phase in Celsius. And finally pump_enable is a boolean describing if pump should be enabled for the step. pump_duty_cycle is the duty cycle (0% - 100%) for the pump (done using PWM).
For instance, the following line tell the system that we are in a heating step for 10 minutes and that the expected temperature is 70 degrees celsius:
H;10;70;1
Additionnaly to these main steps, some actions can be added using the following syntax: A;action_type;time
Action type can be on of the following value:
- I: Insert malt
- R: Remove malt
- C: Setup Cooler
- H: Insert Hop
- V: Verify everything !
If time is is equal -1, then, the action will be executed before the step. The action must also be put before the step line in the recipe.
Check the recipe folder for some samples recipes !
Hardware
A kicad pcb is available which contains support for 20A load control, pump and LCD 2004 support (such as for 3D printer). The main components needed to control the brewing system are the following
- Arduino
- TRIAC for heater
- MOSFET for pump
The PCB is provided as an example configuration and I am not responsible of any damages you could have.
Parts
39| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | D | Diodes_THT:D_T-1_P10.16mm_Horizontal | D1, D2, D3, D4, D5 |
| 2 | 45K | Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2 |
| 2 | 4N25 | Housings_DIP:DIP-6_W7.62mm_Socket | U2, U3 |
| 2 | LED | LEDs:LED_D5.0mm | D6, D7 |
| 1 | 100 | Resistors_SMD:R_0805_HandSoldering | R7 |
| 1 | 10K | Resistors_SMD:R_0805_HandSoldering | R8 |
| 1 | 12V_ALIM_CONN | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J8 |
| 1 | 12V_IN | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J4 |
| 1 | 1K | Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4 |
| 1 | 220 | Resistors_SMD:R_0805_HandSoldering | R3 |
| 1 | 230V_CONN | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J5 |
| 1 | 330 | Resistors_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5 |
| 1 | 470 | Resistors_SMD:R_0805_HandSoldering | R6 |
| 1 | Arduino_Nano_v3.x | Modules:Arduino_Nano | A1 |
| 1 | BT139-600 | HV_TO220:TO-220_Vertical_HV | Q1 |
| 1 | CON_MAX31865 | Pin_Headers:Pin_Header_Straight_1x08_Pitch2.54mm | J1 |
| 1 | EXP1 | Pin_Headers:Pin_Header_Straight_2x05_Pitch2.54mm | J2 |
| 1 | EXP2 | Pin_Headers:Pin_Header_Straight_2x05_Pitch2.54mm | J3 |
| 1 | FAN | Pin_Headers:Pin_Header_Straight_1x03_Pitch2.54mm | J11 |
| 1 | HEATING_CONN | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J6 |
| 1 | IRF540N | TO_SOT_Packages_THT:TO-220_Vertical | Q2 |
| 1 | MOC3021M | Housings_DIP:DIP-6_W7.62mm_Socket | U1 |
| 1 | PUMP_CONN | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J7 |
| 1 | TEST_ZERO | Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm | J9 |
| 1 | TP_MOC | Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm | J10 |
| 1 | TP_PUMP_CTRL | Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm | J13 |
| 1 | TP_TRIAC | Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm | J12 |
| 1 | TP_ZERO_CROSS | Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm | J14 |
The 35 most common of 39 parts.
Questions
How big is the Brewomatic PCB?
It measures 95.3 × 70.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Brewomatic use?
39 parts, built around the BT139-600E, MOC3021M and IRF540N. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Brewomatic KiCad files?
From the clementleger/brewomatic repository on GitHub, at the commit this page was made from: the board is hw/brewomatic.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Brewomatic design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers

- 2 layers59 × 99 mm

XJ H01
adnksharp/aks-arduino-module-sensors-shield
Shield para modulos de sensores de Arduino a Cajas de contacto
22 partsGPL-3.0 - 4 layers100 × 100 mm

- 2 layers160 × 101.6 mm

- 2 layers99.5 × 99.5 mm

Power tracking heaterP
kwiecinski/BMS-and-offgrid-photovoltaic-management-system
Project contains BMS for lead-acid batteries and ESP-based board used to pull information from EASUN offgrid inverter, energy meters and sensors.
79 parts3MIT - 2 layers95 × 78 mm

AMP8611
dmsd-lab/AMP8611
AMP8611 - open hardware integrated stereo power amplifier with a 2-channel input selector, PGA2311 digital volume control and LM3886 power stages
56 partsCERN-OHL-S-2.0 - 2 layers161 × 177 mm

- 2 layers39 × 83 mm
