This entire project is a bit hacker-ish
I have a coffee roaster that I use in my hooded BBQ, it is basically a drum that holds the beans and agitates them with some fins inside it. It has a simple sliding door to let you get beans in and out. It was made by a machinist many years ago - and it’s about the only thing that isn’t hacked. It just uses a standard BBQ rotisserie rod as it’s shaft.
To turn it for the required time, I have an old windscreen wiper motor from a car. They have great torque, even though there’s not much force required. The coupling from the wiper motor to the rotisserie shaft is a bit of genius I think - the motor has a nut that the wiper arms used to be attached to, and shaft is about 1/2", so I use a standard 1/2" drive socket of the appropriate size, so to connect/disconnect is just a matter of moving the two parts apart - it doesn’t matter whether the socket stays with the motor or the roast drum.
I hacked up a mount from some cheap right angle to hold the motor in place - it used to work pretty well by just attaching to the shaft, but gravity worked against me usually about once per roast, so the mount was a great addition
I went to the local hackerspace a few weeks ago and cut a PCB on their CNC machine for a relay module so I can control the motor. I should have thought about a button module too, so some perfboard came to the rescue for this prototype.
Operation is pretty simple. Pre-heat the BBQ. Load the beans up into the roast drum outside the BBQ. Open hood, connect drum into motor and rotisserie support at the other end. Then over to the Gadgeteer device !
A quick lap around the board. Top left is the SD card, to log the data. Going clockwise, next is the N18 display (thanks Taylorza for the code!). Next is the user interface aspects - three push buttons, a motor start/stop button, a roast stop button, and an “event” alerting button. Then is my CNCed relay board. Simple and effective, although needs a v2 Next is the USB DP board, that is taking power from the relay board. Next is EMIC2 with my Gadgeteer adapter board. Then a Smart Multicolour LED that I use for a heartbeat indication, a Joystick (not really used except I currently have it wired to dismount the SD card on pressing) and right in the middle is my (now dead) Fez Cerberus.
So the beans have been loaded, and the roast controller is in “idle” mode. Press any of the UI buttons, and this signifies the start of the roast which is logged to SD card, starts the timer, enables the relay so the motor starts rotating the beans, and then EMIC announces it’s started.
Some times during the roast I want to stop the drum and check the depth of roast - hit the left most button and the motor stops. Hit it again and the motor starts. Hit the right most button to signify an “event”, this might be something that happens to the beans or it might be an adjustment I make, such as lowering the gas to reduce the heating. Once the beans have reached the desired roast, hit the middle button which stops the timer and the motor, take the drum out and dump the beans in the cooler - an old pedestal fan that the mount broke off of, now sitting horizontally that blows up through a commercial food sieve about 30cm in diameter… a perfect cooling device !
Here’s a really small snippet of the whole thing working.
All made possible with Gadgeteer !
Improvements that are planned:
- Relay driver board needs a mod - for a start, the LED indicator is on the bottom of the board (but still pretty visible through the CNCed FR4 board) so a thru-hole option is probably going to make it to V2, as well as an improved routing of power for the motor drive itself.
- control switches are too small. I already had intended to use some old arcade machine push buttons, that’s definitely needed.
- replace the Cerb. Whoops, I fried it at the end of my roasting session when I was adjusting the 12v lines into the relay block. Should have left it alone So I am thinking whether I can go back to using a Panda for this as I have a handful underutilized- the display is the only question, and I may just go back to a HD44780 module there.