Building a poorman’s DIY coffee roaster and things I learnt.

Herbert Ng
4 min readDec 14, 2020

Have you ever walked past a boutique cafe, or we call them micro-roasters, and got hit by this intense aroma that smells like fresh-bakery? Yes, they are roasting coffees at the shop. And often will you see gigantic roasting machines behind the display window, for some reason they really resemble steam train engine, that’s the machine I wanted, but couldn’t afford.

For coffee lovers, you know nothing beats freshly roasted coffees. And for most coffee drinkers, you can easily tell the freshness shall you have an opportunity to do a side-by-side coffee tasting (or cupping.)

I’m by no means a coffee expert, but I do like building things, and after getting exposed to fresh coffee I made a long list of excuses dreaming about the possibilities of making a business out of it shall I could roast on the cheap. You know, built my own equipments and automation yadda yadda.

Hot air coffee roasting

It was back in 2010 or earlier, I dug around the Internet and learnt there were mainly two main ways to roast coffees, one involved a drum (big motor, moving mechanical parts, more conduction heat), another with strong upward hot air (no mechnical parts, strong controlled ‘heat gun’ that blows up.) I decided to try the hot air approach, as I imagined it would simply be making a strong heat gun, how hard could that be? (I was naive)

So list of parts / tech:

  • 250w blower (tried a few, this one had enough pressure to levitate ~500g beans)
  • 2x 2000w heating coils
  • 3x 40A SSDs. Two for the heating coils, one for the blower
  • Stainless-steel tubes for the heating chamber and roasting chamber.
  • PT100 temperature sensor
  • Arduino

The game plan and how much I didn’t foresee

Air goes through a horizontal heating chamber, which consists of 2x 2000w heating coils, then goes through a 90 degree turn upwards to the roasting chamber, forming a “hot air bed”. PT100 in the roasting chamber for temperature reading on the Arduino I ran PID calculations to switch the coils to fit a temperature curve. If you are a software engineer, hooking things up may be an uncommon task but the theory here should be quite simple.

And exactly because I had more of a software background, I didn’t foresee many difficulties in the physical, mechnical, and electrical world. Just to list a few:

  1. Two heating coils are put in series, so at any point of time the middle and end of the chamber is super hot, will the electric wires shilding melt?
  2. Air blows upward from the bottom of the roasting chamber, how to discharge roasted coffee beans? If a door or valve is needed, how can I hand make a stainless steel one that’s air-tight?
  3. Is frequently switching on and off two 2000w coils the best way (or even, a safe way) to do?

Not to mention there should be some sort of fluid dynamics calculations on the hot airflow given the size and shape of chambers, and vary temperature up to ~230C.

Through some tinkering, yes I did make a machine that worked for my purpose and coffees were yummy. But the most I learnt was, it’s always the details and the crafts that make any creation valuable. Whether your creation is an artistic piece, a song, a software, an interior design… its always this little tiny details in the UX or this little line in the dialog or that little twist in the plot that makes it perfect and memorable.

Keep building silly things

The roaster has been dissembled and stashed now, as currently I live in an apartment there’s no more country-side open space for exchuasts and such, but looking back now what I learnt were beyond the tech or design aspects of the experience. Those are good. But what’s more important is the general appreciation of craftsmanship, it really opens my mind to understand and respect all the things that everyone builds. I guess its my long way to say, if you are a creator, be proud and start making.

--

--

Herbert Ng

Engineer, solo gamedev, working on a retro survival game. I share thoughts and lessons learnt from projects. https://twitter.com/TheNextSurvivor