Over the years, Make: has been kind enough to publish three of my DIY coffee roaster builds. (I’ve promised my editor this will be the last; he’s probably skeptical.)

Each roaster has improved on its predecessor in a few ways. This one, based on a simple flour sifter, is my best yet. How is it even better?

    • Best heat distribution to every bean
    • Beans are totally visible for the entire roast, unlike even some commercial machines
    • Quick and easy to dump (and cool) the beans after roasting. Check out sifter roaster videos online for comparison. Hint: They usually skip the critical bean-dumping stage.
    • Easily roasts 12oz of green beans — more than some commercial roasters
    • Uses cheap parts and materials widely available at Amazon, Harbor Freight, and Lowes.

“But,” you say, “I don’t roast coffee!” Well, most people don’t — yet — but you should seriously consider it. What you may not realize is you’re 10–15 minutes away from the freshest coffee obtainable. Green (raw) coffee beans are widely available from many reputable dealers, and of course Amazon. Somebody’s gotta roast all those beans and it might as well be you.

Here I’ll cover the basic version. You can also make a larger version that quickly cools the beans in a tray with two small fans. If you can’t decide, you can build the basic roaster on the larger base meant for the fan-cooled version, with the possibility of adding the cooling parts later.

You can make the simple sifter roaster in a weekend, tops, with no special skills, for well under $100. Adding the fans would take a little more time and maybe another 20 bucks.

Build Your Flour Sifter Coffee Roaster

The instructions below require the specific sifter and heat gun (hereafter called HG) in the Materials list. Others will work as well, but will differ in critical details and dimensions. All unspecified screws are #6×½” Phillips pan-head sheet metal screws.

Project Steps

1. Make the base

Figure A

1a. Cut a base from ½” plywood. Two sizes (for both versions) are shown in Figure A. Drill and countersink the 6 holes labeled A–F for various supports and stops (or the 10 holes A–J if you’re making the large base).

Figure B

1b. Make the plywood supports and stops as shown in Figure B. Later, you’ll drill all these parts from one end to match their respective base mounting holes.

1c. Paint the base, supports, and stops to suit, or leave the wood natural and spray with clear Deft.

Figure C

1d. Center the sifter pivot supports and handle stop above their corresponding screw holes in the base and drill 3/32″ pilot holes into them from the bottom. Mount them with #6 ×1″ Phillips flat-head wood screws. Note the positions of the slanted sides of the pivot supports (Figure C).

Mount the sifter dump stop between the two pivot supports at about a 45° angle with a #6 ×1″ pan-head sheet metal screw from each side.

Figure CT-A

(Optional) 1e. For the cooling-tray version only, mount the two fan bracket supports to the base (Figure CT-A) from the bottom with two #6×1″ flat-head wood screws each (see Step 8 for more details).

2. Modify the flour sifter

2a. Remove the sifter’s agitator assembly as follows:

  1. Remove the brass nut on the end of the hand-crank axle. Don’t lose it; you’ll use it again.
  2. Discard* the nylon washer.
  3. Hold the agitator while turning the axle crank counterclockwise to unscrew the axle.
  4. Pull the axle out and discard* the agitator. I’ve seen both threaded and unthreaded axles; either works fine.

*Actually, never discard anything. You may need it for your next project!

2b. Remove the crank’s black plastic knob. You can try breaking it with a hammer, but I resorted to sawing it off with a hacksaw.

Figure J

2c. Holding the axle crank in a vise, hacksaw the end to leave about ½”. File the end of the crank. (Figure J shows this as it will be assembled later.)

2d. Re-insert the axle into the sifter as it was (crank on the right with sifter handle toward you) and securely replace the nut. Ensure the axle still rotates freely in the sifter. You’ll make and attach two bean-stirring paddles to it later.

3. Make wood and aluminum parts

Figure D

3a. Follow Figure D to make all parts in Step 3. Make the motor mount from a scrap of 2×4 wood. Paint it for appearance only; I like red!

3b. Make the motor mounting plate. The four-hole pattern (15mm × 27mm) for the 3mm motor-mounting machine screws must match the screw holes in the specified motor. The plate holes can be drilled slightly oversize if necessary for alignment.

Figure G

3c. Drill wire guiding holes in the motor mount and the motor mounting plate. Start with the 1/8″ holes shown in Figures D and G; details later.

3d. Make the crank rotator as shown.

3e. Cut another ½” aluminum strip about 6″ long and make the sifter pivot bracket. I used a 3″ 10D common nail (.148″ dia.) for the pivot itself, and drilled 5/32″ holes to just clear the nail.

Figure E

I’m not much of a sheet-metal fabricator, so I drilled the bracket using the technique shown in Figure E, which ensures both pivot holes are in line with each other. Then I finished drilling and bending before cutting the bracket to length. You may know a better way to do this!

4. Motorize the flour sifter

4a. Attach the 12VDC motor to its mounting plate with four 3-.50 (metric thread) × 5mm or 6mm long machine screws.

4b. Attach that assembly to the wood motor mount with two screws.

4c. Attach the motor coupling to the crank rotator using two of the 6-32×¼” Phillips pan-head machine screws.

4d. Slip that assembly onto the motor shaft and tighten the coupling setscrew on the flat surface of the shaft. If a screw didn’t come with the coupling, use a 3-.50 × 5mm or 6mm machine screw.

Figure F

4e. Figure F illustrates the top of the sifter. Note the positions of the motor mount and pivot bracket relative to the sifter handle.

Figure G


Figure H

Drill two 3/32″ holes for the pivot bracket screws and two 5/32″ holes for the motor mount screws as shown in Figures G and H.

Figure I

A drill press makes this easier (Figure I). Otherwise use an electric drill or screwdriver with new drill bits and a few drops of oil; that steel is pretty tough.

Figure J

4f. Mount the five-piece assembly to the sifter using two screws from the inside. The sifter crank and its rotator should now intersect (Figure J) and, when rotated, clear the wood motor mount so that the sifter axle rotates freely. (The motor will offer resistance, but it’s OK to rotate its shaft by hand to check the clearance.)

4g. Attach the pivot bracket to the sifter using two screws from the outside. Alternately, enlarge those mounting holes to 5/32″ and use two more ¼”-long 6-32 machine screws and nuts.

Figure K

4h. Mount the entire sifter assembly atop the two sifter pivot supports using the 10D × 3″ nail (Figure K), hacksawed and filed to length if desired (although the point could help in assembly).

Ensure the sifter handle fits into its recess in the top of the sifter handle stop, and that the sifter pivots smoothly from bean-load (sifter vertical) to bean-dump positions. Depending on your machining and assembly accuracy, you may have to adjust the location of the stop or one of the pivot supports.

5. Make heat gun mounting parts

Figure L
Figure M

5a. Make the wind-break funnel to Figures L and M. Wrap the C-shaped aluminum onto itself, with about a ¼” overlap. Test to see that its smaller end just clears the nozzle of the specified HG. Drill two small aligned holes in each end and join them with either two 1/8″ dia. × ¼” long rivets or 6-32 machine screws and nuts. Slip the smaller end over the HG nozzle. If it’s too small, trim a bit off the funnel; if it’s too big, it’ll still work, but you could “ellipsize” the hole somewhat for a better fit.

Figure N


Figure O

5b. Make the HG nozzle bracket from sheet aluminum (1/32″ minimum) to Figure N. I cut the 1½” hole with an adjustable bit in a drill press, but you could also jigsaw it — carefully! — after drilling a 3/8″ hole to clear the jigsaw blade. Fasten it to the sifter handle stop with two screws, protruding straight out at 90° (Figure O).

Figure P

5c. Make the HG locator from ¼” plywood to Figure P. Hold it centered on the air intake cap of the HG, while gluing 3 wood pieces (½”×½”×¼” thick) to the ends of the locator arms, adjacent to the cap. You can see these in Figures R and S below.

Figure Q

5d. Put the HG, its locator, the nozzle bracket, funnel, and sifter in their roasting positions, then look straight down through the sifter and funnel into the HG’s nozzle (Figure Q).

Figure R

5e. Position the HG locator to hold the HG centered under the sifter. Then, pencil-mark the locator’s position on the base. Ensure the cap stays off the base for good airflow (Figure R).

Figure S

5f. Remove the HG and mount the locator to the base with one screw (Figure S).

Figure T

5g. Cut a 3″ piece of ¼” wood dowel to trap the HG handle against a pivot support. Trace around where the dowel touches the base. Drill a ¼” hole and insert the dowel (Figure T). To allow for possible servicing of the HG, don’t glue it in.

6. Make the paddles

The main goal of this — and every — coffee roaster is to expose all the beans to the same amount of heat for the same amount of time. Although the stock flour sifter agitators work OK, twisted paddles are better: the beans are robustly stirred in alternate directions while being evenly heated.

Figure U

6a. Make two paddles to Figure U. Cut one end of both to about a 3″ radius, approximately matching the sifter screen. Round the corners somewhat so the paddles don’t drag the screen. Mark where the holes will be but don’t drill the holes yet.

6b. Overlap the square ends of the paddles, and clamp them together for a total length of 5-3/16″. Drill four 7/64″ holes through both paddles at the same time using the dimensions in Figure U.

6c. Unclamp the paddles and tap only one (either) paddle’s holes to 6-32 machine-screw threads. We won’t be using nuts here.

6d. Enlarge the holes in the other paddle to 5/32″ to clear 6-32 machine screws.

6e. For optimal bean circulation, twist the paddles, using a ¾”×2″×8″ scrap of wood. Cut a slot 1½” into the center of one end, to just clear the paddle’s thickness.

Figure V

6f. Clamp the drilled end of one paddle in a vise until about 2″ sticks out. Slide your paddle twister over the protruding end and give it a slow but strong twist in either direction (Figure V). The angle’s not particularly critical, but shoot for 25°–30°.

6g. Do the same for the other paddle except twist it in the opposite direction!

Figure W

6h. Roughly position the paddles on both sides of the sifter axle with their screw holes lined up. Lightly clamp them together on the axle with four 6-32×½” Phillips-head machine screws, two on each side of the axle (Figure W).

6i. Hand-spin the crank to check for gaps between the ends of the paddles and the sifter screen. Your goal is to have a small gap, 1/16″–1/8″, for each paddle. It’s OK for one paddle, but not both, to lightly drag the sifter screen. If necessary, loosen the screws, shift the paddles a bit, retighten the screws, and retest. If both paddles insist on dragging the screen, take the assembly apart, trim a bit from one or both paddles’ curved ends, remount them to the axle and test.

WARNING: Paddle-to-screen drag reduces the paddles’ bean-stirring strength and may wear a hole in the screen. Also, beans could become trapped between the ends of the paddles and the joint between screen and sifter, stalling the motor and if left that way, ruining the roast — yikes!

7. Wire the paddle motor

The specified motor runs on 12VDC. Depending on the length and diameter of the power supply (adapter) cord, you may be able to just cut and route it to the paddle motor through the 1/8″ holes drilled in the motor mount and mounting plate. Enlarge the holes if necessary to clear the cable.

Figure X

I added an RCA plug and jack, mostly for troubleshooting, shown under the sifter dump stop in Figure X. The plug-to-motor distance should be ~18″. In any case, the wires or cable to the motor must be flexible and long enough to be subjected to repeated (but gentle) bending when dumping beans.

I also added a microswitch (SPST, normally-off) to the top of the sifter handle stop (Figures O and X), so when the sifter handle is lifted off its stop, the paddles will stop rotating. This isn’t critical, but may prevent kicking a few beans to the ground/floor/patio while loading them. Use two #4 or #5 × ¾” pan-head sheet metal screws to mount the switch. You may have to enlarge the switch’s mounting holes with a 1/8″ drill bit. Wire it in series with either of the wires to the sifter motor (Figure Y).

However you wire, try to hide the wires as much as possible. Strip and solder both wires to the motor. Mine is wired so that the paddles turn counterclockwise when viewing them from the motor side. The roaster should work either way; just reverse the motor wires. If you notice a speed difference in clockwise vs. counterclockwise revolution, wire for higher RPMs.

The following steps are for the Cooling Tray version only. If you’re not building that version, skip to “Using the Roaster.”

8. Make the fan bracket

Figure CT-A

The fan bracket mounts on top of its two supports on the bigger base (Figure CT-A).

Figure CT-B

8a. Make the fan bracket from ¼” plywood (Figure CT-B). I cut the big holes with a jigsaw mounted upside down in a vise by drilling two 3/8″ holes somewhere in the hole areas, to insert the jigsaw blade. Of course you can always use the jigsaw right-side up, but it’s a bit harder to see the holes’ cutting lines.

Figure CT-C

8b. Make fan bracket risers and cooling tray locator pegs from 5/8″ wood and ½” dowel, respectively (Figure CT-C). Hot-glue the pegs to the risers.

8c. Paint the bracket, risers and pegs to suit (I left mine primer grey), or leave the wood natural and spray with clear Deft. Let the paint dry before moving on.

8d. Ensure both fans are unplugged and switched off, then remove their guards.

8e. Trace the guards’ mounting holes onto the bracket by centering them over the big holes. The fans overlap and share a mounting hole near the center of the bracket.

8f. Drill the five 5/32″ fan-mounting holes.

8g. Drill 5/32″ holes A and B and countersink them from the top for #6×1″ flat-head wood screws to mount the bracket to its supports.

8h. Mount the fans on the bracket underside with four screws and a ¾”-long one of the same type through the common mounting hole — all from the top. These screws will create their own threads in the fans’ flange holes. If necessary, add a 1/16″-thick, ½”×1″ aluminum reinforcement strap.

Figure CT-D

8i. Cut fan 2’s cord just long enough to wire in parallel with fan 1’s full-length cord (Figure CT-D). Solder connections and insulate thoroughly with electrical tape and/or heat-shrink tubing. Discard (or hoard) the rest of the cord.

Figure CT-E

8j. Hot-glue riser 1 (with its locator peg) to the fan bracket, centered on its width (Figure CT-E).

8k. Mount a “tray present” microswitch (SPST, normally-off) to riser 1 with two #4 or #5 × ¾” pan-head sheet metal screws (enlarge the switch’s mounting holes if necessary), with its top surface flush with the top of the riser and near the riser’s end (Figure CT-E).

8l. Wire that switch per the wiring diagram (Figure CT-D). Use insulated terminals on wires to the switch. Insulate, preferably with heat-shrink tubing and/or electrical tape, all connections.

CAUTION: This is line voltage (115VAC), so be careful!

8m. Place the bracket on its two supports (Figure CT-A), parallel to the base. Drill two 3/32″ pilot holes through the mounting holes A and B (Figure CT-B) into the tops of the supports. Fasten the bracket with one #6×1″ flat-head wood screw into each support. Ensure the heads of the screws are slightly sub-flush and that the bracket is secure.

8n. Hot-glue riser 2 (with its locator peg) flush with the end of the fan bracket, centered on its width (Figure CT-E).

8o. Test your work. Keeping your hands away from the blades, plug the fans in and turn their switches on. Press the “tray present” microswitch’s actuator (it may be only a button) on riser 1 to start the fans. Switch the fans off.

9. Make the cooling tray

Figure CT-F


Figure CT-G

9a. The cooling tray will catch the roasted beans as you dump them. Make it per Figures CT-F and CT-G from ½” project plywood. Nail, glue (not hot-melt), and/or screw it together. Add two, um, locator peg “catchers” to locate the tray on the fan bracket.

9b. Staple a metal screen — preferably ¼” square grid — to the bottom. 400°F beans will hit this screen, so it must be heat-resistant.

9c. Test that the peg catchers locate the tray between peg locators 1 and 2. Leave the tray in position.

Figure CT-H

9d. Just above the fan bracket’s “tray present” microswitch actuator, screw (do not glue) a short piece of ½” dowel to the end of the tray (Figures CT-G and CT-H) to actuate the microswitch. With fans plugged in and switched on, they must run when the cooling tray is set on its bracket.

I lined the cooling tray’s inside walls with 1/16″ Formica countertop material — but only for appearance!

Using Your Roaster

Coffee roasters without smoke and chaff removal systems — like this one — should be used in a dry, well-ventilated place, preferably outdoors. Always use the wind-break funnel. I’ve roasted coffee in 40°F temps with no problems. Stay with the roaster from start to finish. Beans darken quickly at the end of the roast. Keep kids at a distance and use plain old common sense. To get started:

1. Before adding any beans to the sifter, plug the paddle motor adapter, heat gun, and fans (if you built the cooling-tray version) into a dedicated 15A circuit. You can add up to 25 feet of 14-gauge extension cord, if necessary. Read the Harbor Freight heat gun manual. Note that its switch has high and low heat settings but doesn’t have a “cool” setting. Leave the heat gun off for now.

2. If you built the larger version, place the tray over the cooling fans; they must turn on when the tray is present.

3. If you added a microswitch to the top of the sifter handle stop, it must turn the paddle motor on when the handle is in place.

4. For your first batch, with the heat gun off, slowly pour 1 cup of green coffee beans into the sifter. If you installed the switch on the sifter handle support, just lift the sifter a bit to stop the paddles.
The beans should move smoothly and vigorously. If not, you may have too large a gap between the end of one or both paddles and the sifter screen. If the paddles are too long, an occasional bean could get caught between a paddle and the sifter screen anchoring rim, stalling the motor. If this happens, try running the motor the other way. Otherwise, unplug everything and revisit Step 6i.

5. Switch the heat gun on. Use the low setting if the ambient temperature is above 60°F, and the high setting for cooler temps. Beware the hot nozzle!

6. After a few minutes, the beans should begin to turn yellow and shed some chaff. They’ll gradually darken from tan to brown, and you’ll hear them crackle (aficionados call that the “first crack”) as they expand and release moisture. You might want to blow chaff from the sifter occasionally.

7. If after 5 minutes the beans have not changed color, switch your heat gun to the high setting.

8. Beans should fully roast in 12–15 minutes. When they’re roasted to your liking and/or just starting to crack again (“second crack”), turn the heat gun off. Some bluish smoke can be expected. Some people like to roast well into the smoke stage; I do not.

9. If you built the basic roaster, quickly dump the roasted beans into a large baking pan. It acts as a heat sink, minimizing the beans roasting further.

CAUTION: Be very careful dumping the beans; they are extremely hot!

10. I’ve roasted up to 1½ cups of green beans per batch with no problems. Experiment!

11. Purists say to wait a day before grinding and brewing to allow the beans to out-gas. Good luck with that!

Going Further

YouTube player

Feeling ambitious? Check out the video of my unnecessarily complicated, semi-automatic version. The beans are auger-fed into the sifter at the push of a button; after roasting, the sifter dumps them automatically and returns for more. This one’s obviously way too silly and complex for its own article — or is it? — but it’s a hoot to watch.