Giter Site home page Giter Site logo

coffee-roaster's Introduction

Raspberry Pi Coffee Roaster

This software can control a popcorn-maker for use as a coffee roaster. It allows for precise control of temperature during the roasting process.

Requirements

  1. Raspberry Pi;
  2. Popcorn maker, modified with a solid-state relay to allow the heater circuit to be turned on/off;
  3. Type K thermocouple to measure the temperature inside the popcorn roaster, aloong with a MAX31855 circuit to connect it to the Raspberry Pi;
  4. DC power supply to run the popcorn maker's fan; and
  5. Account with balena.io to deploy the Raspberry Pi software.

Initial setup

The software contains three main components:

  1. A Node-RED flow, which reads the thermocouple and controls the solid-state relay;
  2. A Redis database to store data logged by Node-RED; and
  3. A Dash web interface to view and control the device.

Push the repo to Balena and add the USERNAME and PASSWORD environment variables to the device. These contain the login credentials for Node-RED - see here for instructions on how to create the password.

To view/edit the control flow, go to http://$RASPBERRY_PI_ADDRESS:8080. For the main user interface go to http://$RASPBERRY_PI_ADDRESS.

Usage

A typical roast profile runs as follows:

  1. Switch on fan motor and use the top slider in the web interface to turn the heater on high. This will pre-heat the machine.
  2. Turn heat down to 20% before adding green coffee beans (this helps to avoid scorching the beans).
  3. As the temperature drops and starts to bottom out, use the lower slider to set a desired rate-of-rise for the temperature, e.g. 15°C/minute.
  4. Lower the rate-of-rise as the roast reaches first crack.
  5. Use the top slider to drop the power to zero when the roast reaches the desired final temperature.

ui

Useful references

Raspberry Pi

  1. Wiring to connect the MAX31855 thermocouple circuit to the Raspberry Pi's SPI interface.
  2. Raspberry Pi pins for SPI interface.

The Node-RED template is currently configured to use the following pins to connect to the MAX31855:

SPI connection GPIO number
CLK 25
CS 24
DO 18

To change these, go to the Node-RED interface and edit the read_max31855 block so that the command parameter contains the desired port numbers:

python /usr/src/thermocouple.py --clk=25 --cs=24 --do=18 --samples=10

Node-RED

  1. Python libraries for GPIO and MAX31855 (required to read the thermocouple).
  2. Node-RED MAX31855 module.

Redis

  1. Redis commands.

Popcorn maker schematic

schematic

coffee-roaster's People

Contributors

toby-coleman avatar shaunmulligan avatar imrehg avatar hedss avatar chrisys avatar zvin avatar camerondiver avatar pdcastro avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.