My Popcorn Pumper Roaster Project

Discuss roast levels and profiles for espresso, equipment for roasting coffee.

#1: Post by randytsuch »

Took a little longer then expected, but these projects always do

Decided after a long, 10 year "vacation" to start roasting again. I decided to spend some time to build something that would be easy to use.

Using an old Popcorn Pumper, with Artisan running on a macbook, and an ESP32 to read Bean and Env Temps.
Using PID function in Artisan to control the roasts. Artisan sends burner level commands to the ESP32.
ESP32 controls a Crydom SSR for heater power with a PWM output.
Wireless setup with Bluetooth interface between mac and ESP32. Just have to plug in power.

The dimmer (on the left) is to manually control fan power.
The volt meter isn't connected, used to be connected to fan power but I disconnected when troubleshooting a problem, may reconnect at some point.
Black switch on front doesn't do anything.
All the other holes in the front are from previous roaster versions, this chassis has gone through a lot of changes.

All the project Info with a link to ESP32 software code is here:
My ESP32 code is based on stuff I found, but I also had to add some things I haven't seen, like using the ESP32's native PWM output.

From this morning's roast, 160 grams start weight of an Eth Yirg green from Klatch

Haven't figured out how to record the actual burner levels yet. Its not a straight line.


#2: Post by dyno »

I saw the pic first then only after reading realized how cool this is. Nice looking roast!

randytsuch (original poster)

#3: Post by randytsuch (original poster) replying to dyno »

thanks. Yeah I guess it doesn't look like much, but I think its working pretty well. I only have a few roasts on this setup where I had everything working right, just fixed my last problem a few days ago. So might tweak some settings, will see how roasts from today taste after 4-5 days of resting


randytsuch (original poster)

#4: Post by randytsuch (original poster) »

I was roasting this weekend, and at BT just over 400 I lost heat. Looked like I turned off heat, but I had done nothing.

Brought out my meter, and figured out the heater coil was open

Opened up my Pumper, and one end of the heater coil was broken, right at the screw. I was thinking I would need to replace it, but I was able to just bend the end of the wire, and make a new loop to go around the screw.

Here is a pic of the results. The lower, dark screw is where I had to fix things.

I didn't check, but my guess is this screw goes to the line side.
Anyway, after my fix, I ran a couple of roasts through it, works great again.


User avatar

#5: Post by Chert »

I have never controlled an element with artisan much less artisan PID control. I set fan levels within artisan and can set those with button or sliders . It's easy to assign the button a serial command and have it adjust the flag height/label on the graph. I don't know how PID sets that. Would there be much noise/fluctuation as the PID adjusts power output around its target?
LMWDP #198

randytsuch (original poster)

#6: Post by randytsuch (original poster) »

I have details with screen caps here ... er/artisan

Shows how I setup the PID in Artisan to send serial commands to the ESP32 that controls heater power.
It also controls the burner power slider.

I tuned the PID to react slowly with a small P and large D. But it will fluctuate as it tries to hit the target temp. In the beginning of a roast it is usually a few degrees behind, after first crack it may be a little over. I'm using BT as the PID input.

You can see the burner setting change on the slider as the PID reacts to SV compared to BT.

And it may be expectation bias, but I think the results are pretty good so far.

EDIT: I am trying to figure out one thing, maybe someone can help me.
I don't know how to plot burner settings. To see how the PID is changing the burner values during the roast.


Team HB

#7: Post by mpdeem »

Thank you for sharing your Pumper Roaster. I have always been curious about the Pumper since it has, I believe, a similar motor (maybe even the same) to the WB Poppery I. The overall design seems to better lend itself to chamber modication than does the Poppery.

Thanks for including the photos of your coil fix. I had a coil break on my Poppery I many years ago. My husband fixed it...but I think your solution far solid and elegant.

randytsuch (original poster)

#8: Post by randytsuch (original poster) replying to mpdeem »


I bought the Pumper originally because it was supposed to have the same guts as a Poppery I. It similar, but I like the Pumper better. Pumper has a stronger fan, so I can do a larger batch size with it. I think I'm going to settle at 150 gr batch start size. I use my Poppery for a cooler, dump the beans in it and just run the fan to finish cooling.

As for the repair, I kind of surprised myself with how well it turned out lol. I was lucky in that I figured out pretty quickly what was wrong, and the actual repair was fast and easy. My guess is this is a common failure mode for coil heaters, there is not much else to fail, its just a piece of wire.

I also have been wanting to give a status update.

I spent too long building a circuit to control fan power. My goal was to use Artisan to set the fan power, and then see if I could do it automatically based on BT.

But after I had a working controller, and I installed it, I had noise problems. LCD went blank and didn't come back, it would think I was pushing a button, and worst was large spikes on BT and ET.

I made a bunch of changes that helped some. Then I implemented a CLC filter at the fan power outlet, and it did seem to help. Noise was lower, I thought it was fixed. But then I saw spikes on BT and ET during a roast. And with this filter, air flow dropped quite a bit when the heater kicked in. It always drops a little, but it was a much bigger drop after adding the filter.

After removing the filter, and rewiring things again, air drop is back to a small one when heater turns on.

I've also found that reducing my initial roast size from 170g to 150g makes it easier for my roaster to keep up. So I don't need to tweak the airflow very much during the roast. At 170g, I had to keep lowering airflow or my roaster had trouble getting to temp. Especially as I approached first crack.

So I think I'll stick with 150gr batches and manual fan control. The "downside" vs 170gr sizes is I have to do 17 -150gr roasts to get the same amount as 15 - 170gr roasts. I can live with that.

Other change is I went to a hurricane lamp style top, instead of two cans. I started with the SM one, but the top of that one necks down too much for me, restricts airflow. I found one at the orange HW store that is larger, 2" diameter at top instead of 1.5". Increase the area from 7 to 12.6, so more than it would seem at first glance. Restricts more than the cans which are obviously straight, but I'll take the tradeoff because it makes it much easier to roast with glass to see what's happening.