My husband and I already grind and brew our own coffee at home. Now we want to roast it. I also want to learn how to use an Arduino. I put these two things together to create a Semi-Automated Coffee Roaster.
For this project, I will set up a hot plate and whirley popper to roast my coffee beans, and program the Arduino to tell the motor when to stir the beans and for how long, light LED's to indicate bean roasting or readiness, a buzzer to let me know the roasting is complete, and an LCD to give instructions and count down the time.
This seemed like a lot for someone new to electronics, but I had expert guidance and managed to pull it off. Check it out!
Step 1: Step 1: Gather Your Materials
- Whirley Popper
- Hot plate
- Arduino Uno or Mega
- 12V 100rpm DC Motor
- 2x16 LCD
- Push Button 2x
- On/Off Switch
- LED 2x
- DC 5V Relay Module according to DC motor current
- 330Ohm Resistor 3x
- 10K Ohm Resistor 1x
- 100K Trimpot or Potentiometer
- 12V DC Adapter for Motor
- 5V DC Adapter for Arduino and LCD Light
- Connecting Cables according to need
- Double-Sided PCD Board according to design
Step 2: Build the Hardware
I built the case for my roaster out of 1/4" plywood.
Base, middle, and top: 12"x14"
Step 3: Laser Cut the Control Panel
I designed the control panel in CorelDraw and used the public library's laser cutter to cut and engraved it onto a 14"x5"x1/8" piece of plywood.
Step 4: Build the Case
I put the pieces together with nails and super glue, then spray painted it red, because red is awesome.
Step 5: Relay Module
The motor I used for this project consumes 46mA while not on load. For this reason, I could not directly control the motor from the Arduino because its direct output is 20mA. For more information about the Arduino's output, follow this link:
I designed a 5V relay control circuit using a BC548 transistor to handle over 20mA, but you can buy one ready made if you desire.
Here's how I did it:
Step 6: Buzzer
For the buzzer module:
2 connecting cables
The buzzer positive leg will connect to the Arduino's digital output, and the negative to the resistor and the Arduino's ground.
Step 7: LED Module
2 330Ohm resistors
3 connection cables
The positive legs will connect to the Arduino, and the negative to the resistors and Arduino's ground.
Step 8: Make the Motor Run
This diagram shows the connections necessary to run the motor.
Step 9: Energy to the Parts
This diagram shows how to give energy to the LCD, LED's, buzzer, and on/off switch.
Step 10: Program the Arduino
Here's my code:
Step 11: Run a Test
Time to see if it all works! I attached the motor to the rest of the machine with a power supply adapter plug so that after running it, I can pull out the Whirley Popper and empty the roasted beans.
To learn more about the roasting process, check out this great little booklet: