1"use strict";(self.webpackChunkmakerhub_docs=self.webpackChunkmakerhub_docs||[]).push([[9864],{1452:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"brewskitech/quick-temp-controller","title":"Quick Temperature Controller","description":"Documentation for the BrewskiTech Quick Temperature Controller project","source":"@site/docs/brewskitech/quick-temp-controller.md","sourceDirName":"brewskitech","slug":"/brewskitech/quick-temp-controller","permalink":"/docs/brewskitech/quick-temp-controller","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Quick Temperature Controller","description":"Documentation for the BrewskiTech Quick Temperature Controller project","pagination_next":null,"pagination_prev":null,"sidebar_position":1},"sidebar":"brewskiSidebar"}');var i=r(4848),o=r(8453);const a={title:"Quick Temperature Controller",description:"Documentation for the BrewskiTech Quick Temperature Controller project",pagination_next:null,pagination_prev:null,sidebar_position:1},s="Quick Temperature Controller",l={},c=[{value:"Video Tutorial",id:"video-tutorial",level:3},{value:"Building the electronics",id:"building-the-electronics",level:2},{value:"Electronics Plans",id:"electronics-plans",level:3},{value:"Electronics Materials",id:"electronics-materials",level:3},{value:"Installation",id:"installation",level:2},{value:"Mounting the components",id:"mounting-the-components",level:3},{value:"Installing on the freezer / refrigerator",id:"installing-on-the-freezer--refrigerator",level:3},{value:"Home Assistant setup",id:"home-assistant-setup",level:2},{value:"YAML configuration",id:"yaml-configuration",level:3},{value:"Automation",id:"automation",level:2}];function h(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"quick-temperature-controller",children:"Quick Temperature Controller"})}),"\n",(0,i.jsx)("img",{src:"https://github.com/Brewski-Tech/QuickTempController/blob/main/QuickTempController.JPG?raw=true",alt:"QuickTempController.jpg",height:"315"}),"\n",(0,i.jsx)("iframe",{width:"560",height:"315",src:"https://www.youtube.com/embed/JcBaPzFKumQ?si=hpzIKzl6XrNxxjvZ",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerpolicy:"strict-origin-when-cross-origin",allowfullscreen:!0}),"\n",(0,i.jsx)(t.p,{children:"This BrewskiTech project will show you how to create a quick and easy temperature controlled freezer or refrigerator that can be used as a fermentation chamber or a kegerator. The project uses basic electronic components, assembled on a breadboard, to quickly make a fermenter/kegerator that can be controlled and automated via Home Assistant."}),"\n",(0,i.jsx)(t.p,{children:"Features:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Cool fermenting beer or finished beer for serving"}),"\n",(0,i.jsx)(t.li,{children:"Built on a breadboard to avoid time-consuming soldering and circuit layout"}),"\n",(0,i.jsx)(t.li,{children:"Avoids working with dangerous mains power by using an off-the-shelf device to control AC power to the fridge/freezer"}),"\n",(0,i.jsx)(t.li,{children:"View and control temperature though browser or phone based Home Assistant interface"}),"\n",(0,i.jsx)(t.li,{children:"Automate temperature ramping and notifications via Home Assistant"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["All source files are available in ",(0,i.jsx)(t.a,{href:"https://github.com/Brewski-Tech/QuickTempController",children:"the github repo"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"video-tutorial",children:"Video Tutorial"}),"\n",(0,i.jsxs)(t.p,{children:["A video tutorial is available on the ",(0,i.jsx)(t.a,{href:"https://www.youtube.com/@BrewskiTech",children:"BrewskiTech YouTube channel"}),", which can be found ",(0,i.jsx)(t.a,{href:"https://www.youtube.com/watch?v=JcBaPzFKumQ",children:"here"}),"."]}),"\n",(0,i.jsx)(t.h2,{id:"building-the-electronics",children:"Building the electronics"}),"\n",(0,i.jsxs)(t.p,{children:["The section of the video tutorial on assembling the electronics ",(0,i.jsx)(t.a,{href:"https://youtu.be/JcBaPzFKumQ?t=119",children:"starts here"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"electronics-plans",children:"Electronics Plans"}),"\n",(0,i.jsxs)(t.p,{children:["A ",(0,i.jsx)(t.a,{href:"https://github.com/Brewski-Tech/QuickTempController/blob/3b1a190f6b1853d767dd4c3422e9b3a6b47bc51d/QuickTempController.fzz",children:"fritzing file"})," is available for download in the github repo."]}),"\n",(0,i.jsxs)(t.p,{children:["Breadboard Plan\n",(0,i.jsx)(t.img,{src:"https://github.com/Brewski-Tech/QuickTempController/blob/3b1a190f6b1853d767dd4c3422e9b3a6b47bc51d/QuickTempController_bb.jpg?raw=true",alt:"breadboard"})]}),"\n",(0,i.jsx)(t.h3,{id:"electronics-materials",children:"Electronics Materials"}),"\n",(0,i.jsx)(t.p,{children:"Materials needed:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Wemos D1 mini"}),"\n",(0,i.jsx)(t.li,{children:"waterproof 1-wire temperature sensor"}),"\n",(0,i.jsx)(t.li,{children:"4.7 k-ohm resistor"}),"\n",(0,i.jsx)(t.li,{children:"three position screw terminal block"}),"\n",(0,i.jsx)(t.li,{children:"5V USB power supply (an old cellphone charger will work)"}),"\n",(0,i.jsx)(t.li,{children:"Digital Loggers IoT Relay"}),"\n",(0,i.jsx)(t.li,{children:"Half-size breadboard"}),"\n",(0,i.jsx)(t.li,{children:"Breadboard jumper wire kit"}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"installation",children:"Installation"}),"\n",(0,i.jsxs)(t.p,{children:["The section of the video tutorial on mounting and installing the electronics ",(0,i.jsx)(t.a,{href:"https://youtu.be/JcBaPzFKumQ?t=1324",children:"starts here"}),"."]}
1),"\n",(0,i.jsx)(t.h3,{id:"mounting-the-components",children:"Mounting the components"}),"\n",(0,i.jsx)(t.p,{children:"The electronic components should be mounted to a secure surface to provide strain relief; basically, we don't want any of the sensitive wires to get pulled out of the breadboard. We used a piece of scrap plywood to act as a base. Then we used screws to secure the breadboard and IoT relay to the board, and a wire hanger to secure the temperature probe cable. Hot glue could also be used to secure the temperature probe cable."}),"\n",(0,i.jsx)(t.h3,{id:"installing-on-the-freezer--refrigerator",children:"Installing on the freezer / refrigerator"}),"\n",(0,i.jsx)(t.p,{children:"Rare earth magnets were hot-glued to the back of the base board. The base board will then stick to the metal sides of the chest freezer or refrigerator. We found that the sides of the freezer were slick enough that the base board would slide down, so some double-sided carpet tape was used to create some additional friction between the magnets and the freezer side."}),"\n",(0,i.jsx)(t.h2,{id:"home-assistant-setup",children:"Home Assistant setup"}),"\n",(0,i.jsxs)(t.p,{children:["The section of the video tutorial on configuring the device in Home Assistant ",(0,i.jsx)(t.a,{href:"https://youtu.be/JcBaPzFKumQ?t=1577",children:"starts here"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"yaml-configuration",children:"YAML configuration"}),"\n",(0,i.jsxs)(t.p,{children:["The latest YAML file can be found ",(0,i.jsx)(t.a,{href:"https://github.com/Brewski-Tech/QuickTempController/blob/main/QuickTempController.yaml",children:"here"}),"."]}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-yaml",children:'esphome:\n name: "fermenter2"\n platform: ESP8266\n board: d1_mini\n\n# Enable logging\nlogger:\n\n# Enable Home Assistant API\napi:\n\nota:\n - platform: esphome\n !secret esphome_ota_password\n\nwifi:\n ssid: !secret wifi_ssid\n password: !secret wifi_password\n\n # Enable fallback hotspot (captive portal) in case wifi connection fails\n ap:\n ssid: "Fermenter2 Fallback Hotspot"\n password: !secret wifi_backup_password\n\ncaptive_portal:\n\nswitch:\n - platform: gpio\n name: "Fermenter 2 LED"\n inverted: true\n pin: D4\n - platform: gpio\n id: freezer_power\n name: "Fermenter 2 Freezer Power"\n pin: D5\n\none_wire:\n - platform: gpio\n pin: D3\n\nsensor:\n - platform: dallas_temp\n name: "Fermenter 2 temperature"\n id: fermenter_temp\n update_interval: 5s\n\n# Fermenter thermostat\nclimate:\n - name: "Fermenter 2 thermostat"\n id: fermenter_thermostat\n default_preset: home\n platform: thermostat\n visual:\n min_temperature: -1\n max_temperature: 40\n temperature_step: 1\n sensor: fermenter_temp \n preset:\n # Standard presets\n - name: home\n default_target_temperature_high: 10\n startup_delay: True\n cool_deadband: 0.5\n cool_overrun: 0.5\n min_cooling_off_time: 300s\n min_cooling_run_time: 300s\n min_idle_time: 30s\n cool_action:\n - switch.turn_on: freezer_power\n idle_action:\n - switch.turn_off: freezer_power\n'})}),"\n",(0,i.jsx)(t.h2,{id:"automation",children:"Automation"}),"\n",(0,i.jsxs)(t.p,{children:["Since this project is similar in purpose to the ",(0,i.jsx)(t.a,{href:"https://makerhub.site/docs/brewskitech/fermenter",children:"Fermenter project"}),", the temperature ramp automation from that project can be used for this device. Please see the section on the ",(0,i.jsx)(t.a,{href:"https://makerhub.site/docs/brewskitech/fermenter#automatic-temperature-ramp",children:"temperature ramp automation"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>a,x:()=>s});var n=r(6540);const i={},o=n.createContext(i);function a(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.