{"id":17289543,"url":"https://github.com/amolenaar/brewberry-pi","last_synced_at":"2025-04-14T11:21:18.617Z","repository":{"id":66950701,"uuid":"76965998","full_name":"amolenaar/brewberry-pi","owner":"amolenaar","description":"Home brewery automation the smart way","archived":false,"fork":false,"pushed_at":"2018-03-04T19:13:05.000Z","size":607,"stargazers_count":17,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T00:41:19.258Z","etag":null,"topics":["brewing-beer","elixir","embedded","firmware","nerves","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amolenaar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-20T15:02:28.000Z","updated_at":"2023-09-01T10:54:53.000Z","dependencies_parsed_at":"2023-03-24T04:34:13.742Z","dependency_job_id":null,"html_url":"https://github.com/amolenaar/brewberry-pi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amolenaar%2Fbrewberry-pi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amolenaar%2Fbrewberry-pi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amolenaar%2Fbrewberry-pi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amolenaar%2Fbrewberry-pi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amolenaar","download_url":"https://codeload.github.com/amolenaar/brewberry-pi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248868767,"owners_count":21174758,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brewing-beer","elixir","embedded","firmware","nerves","raspberry-pi"],"created_at":"2024-10-15T10:35:07.220Z","updated_at":"2025-04-14T11:21:18.604Z","avatar_url":"https://github.com/amolenaar.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Brewberry \u0026pi; [![Build Status](https://travis-ci.org/amolenaar/brewberry-pi.svg?branch=master)](https://travis-ci.org/amolenaar/brewberry-pi)\n\n\n\u003e Given a DS18B20 temperature sensor,\n\u003e a solid state relays and a wifi connector,\n\u003e automate the mash process.\n\nAt least, that's the plan.\n\nThis repo contains the code of my brewberry-\u0026pi; home brew software,\nbuilt with [Elixir](http://elixir-lang.org) and [Nerves](http://nerves-project.org).\n\nBrewberry \u0026pi; can:\n\n * control temperature within a 0.1 \u0026deg;C margin\n * read, set and control the mash process with your phone (web ui)\n * brewing software can be upgraded over the network\n * it's firmware, so you can pull out the plug at any time\n\nWhy Elixir/Nerves? Well...\n\n * Elixir is build on Erlang technology, making it fault tolerant by design.\n * Nerves provides a basis for *real* firmware. You can just pull out the power plug without bad things happening (you do not want to try that with Rasbian).\n * The system is up and running in less than 6 seconds(!) (not including wifi authentication). This is a lot faster than the 60 seconds it takes for Rasbian to boot.\n * The Erlang/Elixir actor model is a natural fit for message driven applications.\n\nAn older version of the Brewberry-\u0026pi; written in Python is available at\nhttps://github.com/amolenaar/brewberry-pi-python.\n\n## Get started\n\n * Go to the web application with `cd apps/web`\n * Run `mix deps.get` \n * `MIX_ENV=dev iex -S mix` will lauch the app and open a console, so you can tinker around\n * Open a browser on http://localhost:3030, the (web) app will be running there in \"fake\" mode\n \n## Firmware\n\nTo build an image for the Raspberry Pi (model B):\n\n * Ensure Nerves stuff is installed on your machine, check out the Nerves getting started guide\n * Go to the firmware application with `cd apps/fw_rpi`\n * Install dependencies with `MIX_ENV=prod mix deps.get`\n * Copy `apps/fw_rpi/config/wifi-example.exs.example` to `apps/fw_rpi/config/wifi.exs` and fix the ssid and psk properties\n * Create firmware with `MIX_ENV=prod mix firmware`\n * Burn to an SD card with `MIX_ENV=prod mix firmware.burn`\n * And do remote updates once your first image is up and running: `MIX_ENV=prod mix firmware.push 10.192.168.122 --firmware ../../_build/rpi/prod/nerves/images/fw_rpi.fw`\n\n## PCB\n\nTo control a brewing kettle some additional hardware is required:\n\n - http://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing\n - http://en.wikipedia.org/wiki/Solid-state\\_relay\n\nA schema is made with [Fritzing](http://fritzing.org) and is available in the file `Brouwerij.fzz`.\n\n![schema](https://cdn.rawgit.com/amolenaar/brewberry-pi/master/Brouwerij_bb.svg)\n\n### Bill of Materials\n\n| Label | Part Type           | Properties                         |\n| ----- | ------------------- | ---------------------------------- |\n| -     | -                   | PCB prototype board                |\n| J1    | Screw terminal      | 3 pins, connector to DS18B20       |\n| J2    | Power plug          | connector to SSR                   |\n| Pi1   | Adafruit Pi Cobbler | manufacturer Adafruit Industries   |\n| Q1    | NPN-Transistor      | type NPN (EBC); package TO92 [THT] |\n| R1    | 4.7kΩ Resistor      | pullup resistor                    |\n| R2    | 1kΩ Resistor        |                                    |\n\n## Learn more\n\n  * Elixir: http://elixir-lang.com\n  * Nerves docs: https://hexdocs.pm/nerves/getting-started.html\n  * Nerves website: http://www.nerves-project.org/\n\n## TODO\n\n- [ ] Use bootloader from https://github.com/mobileoverlord/bootloader\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famolenaar%2Fbrewberry-pi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famolenaar%2Fbrewberry-pi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famolenaar%2Fbrewberry-pi/lists"}