Justin Chae

Motorized Coffee Bean Grinder Conversion

Motorizing a Kingrinder K6 hand grinder: from hand-crank torque testing and motor sizing to a belt-driven build with a formed aluminum shroud.

Motorized Coffee Bean Grinder Conversion
Role
Solo designer & builder
Timeline
Aug–Sep 2026 (ongoing)
Stack
DOCYKE DC90 gearmotor, 3D-printed timing belt drive, 0.025" aluminum sheet, Onshape, Fusion 360
Result
~20 s per dose vs. ~79 s by hand, drawing under 5 A at ~20 V

Project Overview

Grinding a dose straight into the portafilter

The goal of this project was to motorize my Kingrinder K6 hand grinder so I could grind espresso hands-free, and to cut grind time by more than half.

Hand-grinding an 18g dose at 25 clicks took me ~79 seconds and 64 crank revolutions. Rather than guessing at a motor, I sized one from torque data I measured myself, then built it out through a test stand, a belt drive, and a formed aluminum shroud.


Objective

My original goal was a 5x reduction in grind time (70 seconds down to ~14). Before committing to it, I benchmarked against existing Kingrinder motor conversions: builders were topping out around 80–200 RPM, only ~1.5–2.5x hand-crank speed, before running into stalling, heat, and the rate at which beans can gravity-feed into the burrs. A 5x speedup would have meant redesigning the feed and adding active cooling, so I revised the target to under 30 seconds.

Open-source K6 conversions I studied:

  • Honeycomb edition by Medal of Honor: a 12V 36GP-36ZY gearmotor in 80, 98, or 160 RPM versions, driven from a 12V 8A supply
  • Yozer’s conversion, a remix of Adam Cook’s design: the motor and gearbox from a gutted 20V brushless drill, with a speed knob
  • Nagual’s conversion: couples to the grinder’s hex with a three-jaw coupling and an SDS socket adapter
The stock Kingrinder K6: a hand-cranked grinder, 17.5cm tall on a 5.2cm base
The stock Kingrinder K6: a hand-cranked grinder, 17.5cm tall on a 5.2cm base

The requirements I set:

  • Under 30 seconds for an 18g espresso dose
  • Enough torque for light roasts, the harder case, which also covers dark roasts
  • Plugs into the wall, no hand-cranking
  • A brushed DC gearmotor: with short ~30 second bursts, brush wear (BLDC’s main advantage) is a non-issue, and brushed gearmotors pair simply and cheaply with the reduction needed. Every conversion I found used one.

Design Process

Torque Characterization

Grinding completeness depends on how many times the beans pass through the burrs, not on elapsed time, so the target speed came from my revolution count. I used the 25-click trial deliberately: it’s finer than my 30-click espresso setting, so sizing against it builds in margin.

Target RPM=64 rev0.5 min=128 RPM\text{Target RPM} = \frac{64 \text{ rev}}{0.5 \text{ min}} = 128 \text{ RPM}

Getting a trustworthy torque number took three test setups, each one exposing a flaw that motivated the next:

  • Test 1: a 100mm 3D-printed pulley coupled to the grinder shaft, pulled with a luggage scale on a string. The PLA hex socket gradually rounded out under load, since the metal shaft concentrated all the force right at the hex.
  • Test 2: grinder held stationary while I pulled the scale on the stock 12cm crank handle. It read 30–60 kg·cm, but it was hard to keep the pull perpendicular, and it mostly captured breakaway spikes rather than continuous grinding.
  • Test 3: scale clamped to a table, with the grinder rotated against it instead. This kept the moment arm perpendicular and captured both peak and continuous force in one motion. I first read the video at 1 Hz, then re-read it frame by frame at 6 Hz (above the scale’s ~2–3 Hz display refresh) for 388 readings over 64.5 seconds. Dropping zero readings (hand repositioning) and a final 2-second yank left 364 points as the design dataset.
Test 1: luggage scale on a string around a printed pulley
Test 2: pulling the scale on the crank handle by hand
Test 3: scale clamped still, grinder rotated against it
Test 3 torque across the full 64.5 second pull (luggage scale on a 12cm crank, read at 6 Hz)
View data table
Time (s)Force (kg)Torque (kg·cm)Status
0.000.000.0Excluded (zero)
0.170.000.0Excluded (zero)
0.330.000.0Excluded (zero)
0.500.303.6Kept
0.670.303.6Kept
0.830.354.2Kept
1.000.354.2Kept
1.170.404.8Kept
1.330.000.0Excluded (zero)
1.500.000.0Excluded (zero)
1.670.000.0Excluded (zero)
1.830.202.4Kept
2.000.202.4Kept
2.170.556.6Kept
2.330.556.6Kept
2.500.556.6Kept
2.670.9511.4Kept
2.830.9511.4Kept
3.001.6519.8Kept
3.171.6519.8Kept
3.331.6519.8Kept
3.501.6519.8Kept
3.671.4016.8Kept
3.831.4016.8Kept
4.001.2515.0Kept
4.171.2515.0Kept
4.331.0012.0Kept
4.501.1013.2Kept
4.671.1013.2Kept
4.833.8546.2Kept
5.001.9523.4Kept
5.171.9523.4Kept
5.330.000.0Excluded (zero)
5.500.000.0Excluded (zero)
5.670.253.0Kept
5.831.6019.2Kept
6.001.6019.2Kept
6.174.0048.0Kept
6.331.4517.4Kept
6.501.4517.4Kept
6.674.0048.0Kept
6.831.2014.4Kept
7.003.2539.0Kept
7.171.0512.6Kept
7.331.0512.6Kept
7.503.8045.6Kept
7.672.2026.4Kept
7.832.2026.4Kept
8.002.0524.6Kept
8.173.5542.6Kept
8.333.5542.6Kept
8.501.8021.6Kept
8.671.8021.6Kept
8.833.0536.6Kept
9.000.9010.8Kept
9.170.9010.8Kept
9.332.0524.6Kept
9.500.809.6Kept
9.670.809.6Kept
9.832.3528.2Kept
10.001.9022.8Kept
10.171.8021.6Kept
10.331.1013.2Kept
10.501.1013.2Kept
10.671.7521.0Kept
10.830.404.8Kept
11.000.404.8Kept
11.170.556.6Kept
11.331.9523.4Kept
11.500.9511.4Kept
11.670.253.0Kept
11.831.0512.6Kept
12.001.9523.4Kept
12.170.404.8Kept
12.330.404.8Kept
12.501.7020.4Kept
12.671.7020.4Kept
12.831.7020.4Kept
13.000.404.8Kept
13.171.6519.8Kept
13.331.6519.8Kept
13.501.4016.8Kept
13.670.404.8Kept
13.830.9010.8Kept
14.001.6519.8Kept
14.171.6519.8Kept
14.330.556.6Kept
14.501.4517.4Kept
14.671.4517.4Kept
14.831.1013.2Kept
15.001.1013.2Kept
15.173.3540.2Kept
15.331.7521.0Kept
15.501.7521.0Kept
15.671.0012.0Kept
15.831.1013.2Kept
16.001.1013.2Kept
16.171.8522.2Kept
16.330.708.4Kept
16.500.708.4Kept
16.671.0012.0Kept
16.831.0012.0Kept
17.001.4517.4Kept
17.170.455.4Kept
17.330.455.4Kept
17.501.0512.6Kept
17.671.9523.4Kept
17.831.9523.4Kept
18.000.607.2Kept
18.170.607.2Kept
18.331.5518.6Kept
18.500.9511.4Kept
18.670.9511.4Kept
18.830.708.4Kept
19.001.6019.2Kept
19.171.6019.2Kept
19.330.607.2Kept
19.502.1525.8Kept
19.672.1525.8Kept
19.830.8510.2Kept
20.000.8510.2Kept
20.172.1025.2Kept
20.331.0512.6Kept
20.501.0512.6Kept
20.671.5518.6Kept
20.831.3015.6Kept
21.000.303.6Kept
21.172.0524.6Kept
21.332.0024.0Kept
21.500.101.2Kept
21.672.0024.0Kept
21.832.0024.0Kept
22.000.8510.2Kept
22.172.1025.2Kept
22.332.1025.2Kept
22.501.2014.4Kept
22.671.3015.6Kept
22.831.3015.6Kept
23.001.0512.6Kept
23.171.0913.1Kept
23.330.809.6Kept
23.501.9022.8Kept
23.671.9022.8Kept
23.830.9511.4Kept
24.001.9022.8Kept
24.171.8021.6Kept
24.331.0012.0Kept
24.501.0012.0Kept
24.671.1513.8Kept
24.831.8021.6Kept
25.001.6019.2Kept
25.170.404.8Kept
25.331.3015.6Kept
25.501.3015.6Kept
25.670.8510.2Kept
25.831.4517.4Kept
26.001.4517.4Kept
26.171.6019.2Kept
26.331.6019.2Kept
26.500.404.8Kept
26.671.4016.8Kept
26.831.4016.8Kept
27.000.8510.2Kept
27.171.0512.6Kept
27.331.0512.6Kept
27.501.3516.2Kept
27.671.4517.4Kept
27.830.404.8Kept
28.002.0524.6Kept
28.172.0524.6Kept
28.331.9523.4Kept
28.501.0012.0Kept
28.671.0012.0Kept
28.832.0024.0Kept
29.001.3516.2Kept
29.171.3516.2Kept
29.333.2038.4Kept
29.503.2038.4Kept
29.671.0512.6Kept
29.831.2014.4Kept
30.001.2014.4Kept
30.171.1513.8Kept
30.331.1513.8Kept
30.500.151.8Kept
30.671.9523.4Kept
30.831.4517.4Kept
31.001.4517.4Kept
31.172.5530.6Kept
31.332.5530.6Kept
31.503.8546.2Kept
31.671.2515.0Kept
31.831.2515.0Kept
32.002.4028.8Kept
32.171.5018.0Kept
32.330.607.2Kept
32.501.4016.8Kept
32.671.4016.8Kept
32.830.607.2Kept
33.001.6519.8Kept
33.171.6519.8Kept
33.331.0512.6Kept
33.501.1013.2Kept
33.670.809.6Kept
33.831.5518.6Kept
34.001.6019.2Kept
34.170.607.2Kept
34.331.6019.2Kept
34.501.6019.2Kept
34.670.8510.2Kept
34.831.3516.2Kept
35.001.3516.2Kept
35.172.4028.8Kept
35.333.1037.2Kept
35.503.1037.2Kept
35.670.404.8Kept
35.830.404.8Kept
36.002.1025.2Kept
36.170.8510.2Kept
36.330.8510.2Kept
36.502.1525.8Kept
36.671.4016.8Kept
36.831.4016.8Kept
37.001.1513.8Kept
37.171.1513.8Kept
37.331.7521.0Kept
37.500.404.8Kept
37.670.404.8Kept
37.831.0012.0Kept
38.001.4016.8Kept
38.171.4016.8Kept
38.331.2014.4Kept
38.502.4529.4Kept
38.672.4529.4Kept
38.831.7521.0Kept
39.002.0524.6Kept
39.172.6531.8Kept
39.330.455.4Kept
39.500.455.4Kept
39.670.404.8Kept
39.831.5018.0Kept
40.000.506.0Kept
40.172.1025.2Kept
40.331.0913.1Kept
40.500.253.0Kept
40.672.0024.0Kept
40.832.0024.0Kept
41.003.8546.2Kept
41.171.0512.6Kept
41.331.0512.6Kept
41.501.4517.4Kept
41.672.0024.0Kept
41.832.0024.0Kept
42.000.354.2Kept
42.171.9022.8Kept
42.331.4016.8Kept
42.502.4529.4Kept
42.672.4529.4Kept
42.830.151.8Kept
43.002.0024.0Kept
43.172.0024.0Kept
43.332.2527.0Kept
43.502.2026.4Kept
43.672.2026.4Kept
43.831.2014.4Kept
44.001.3015.6Kept
44.171.6519.8Kept
44.331.5518.6Kept
44.501.5518.6Kept
44.670.8510.2Kept
44.832.2026.4Kept
45.002.2026.4Kept
45.170.404.8Kept
45.331.9022.8Kept
45.501.9022.8Kept
45.670.404.8Kept
45.830.404.8Kept
46.001.4517.4Kept
46.171.1513.8Kept
46.331.1513.8Kept
46.501.1013.2Kept
46.672.1025.2Kept
46.832.1025.2Kept
47.003.1537.8Kept
47.173.0536.6Kept
47.333.6543.8Kept
47.500.8510.2Kept
47.670.151.8Kept
47.830.000.0Excluded (zero)
48.000.607.2Kept
48.170.607.2Kept
48.331.2515.0Kept
48.501.8522.2Kept
48.671.5518.6Kept
48.830.809.6Kept
49.000.809.6Kept
49.171.9022.8Kept
49.331.9523.4Kept
49.501.7521.0Kept
49.670.657.8Kept
49.831.5518.6Kept
50.001.5518.6Kept
50.171.9523.4Kept
50.331.9523.4Kept
50.500.506.0Kept
50.671.9523.4Kept
50.831.1513.8Kept
51.001.1513.8Kept
51.171.0512.6Kept
51.331.2515.0Kept
51.501.0512.6Kept
51.671.0012.0Kept
51.831.5018.0Kept
52.000.9511.4Kept
52.170.9511.4Kept
52.331.8021.6Kept
52.501.1513.8Kept
52.671.1513.8Kept
52.832.6031.2Kept
53.002.4529.4Kept
53.173.4541.4Kept
53.330.506.0Kept
53.500.506.0Kept
53.672.5030.0Kept
53.830.708.4Kept
54.000.708.4Kept
54.172.1025.2Kept
54.330.759.0Kept
54.500.759.0Kept
54.672.2026.4Kept
54.831.0012.0Kept
55.001.1013.2Kept
55.171.1513.8Kept
55.331.1513.8Kept
55.502.3528.2Kept
55.670.000.0Excluded (zero)
55.830.000.0Excluded (zero)
56.001.1513.8Kept
56.172.1025.2Kept
56.332.1025.2Kept
56.500.506.0Kept
56.670.9010.8Kept
56.832.2527.0Kept
57.000.151.8Kept
57.170.151.8Kept
57.331.3015.6Kept
57.502.1525.8Kept
57.672.1525.8Kept
57.830.303.6Kept
58.001.7020.4Kept
58.171.7020.4Kept
58.333.0036.0Kept
58.503.0036.0Kept
58.670.607.2Kept
58.833.6543.8Kept
59.003.6543.8Kept
59.170.506.0Kept
59.331.9022.8Kept
59.501.9022.8Kept
59.670.202.4Kept
59.830.000.0Excluded (zero)
60.001.9022.8Kept
60.170.303.6Kept
60.330.9010.8Kept
60.502.3027.6Kept
60.670.253.0Kept
60.830.253.0Kept
61.001.8021.6Kept
61.171.3015.6Kept
61.330.759.0Kept
61.501.4016.8Kept
61.671.4016.8Kept
61.830.202.4Kept
62.002.1025.2Kept
62.172.1025.2Kept
62.331.0012.0Kept
62.502.0024.0Kept
62.672.0024.0Excluded (final yank)
62.831.0512.6Excluded (final yank)
63.001.0512.6Excluded (final yank)
63.173.6543.8Excluded (final yank)
63.333.8045.6Excluded (final yank)
63.503.8045.6Excluded (final yank)
63.670.303.6Excluded (final yank)
63.831.6019.2Excluded (final yank)
64.001.6019.2Excluded (final yank)
64.174.5054.0Excluded (final yank)
64.332.1025.2Excluded (final yank)
64.502.1025.2Excluded (final yank)
Percentile Force Torque (12cm arm)
Mean 1.43 kg 17.2 kg·cm
75th 1.95 kg 23.4 kg·cm
90th 2.35 kg 28.2 kg·cm
95th (design torque) 3.10 kg 37.2 kg·cm
Max 4.00 kg 48.0 kg·cm

I chose the 95th percentile as the middle ground: the mean would leave the motor struggling through half of real grinding moments, while the single max reflects one rare spike. With 364 points, the 95th percentile is backed by ~18 real readings rather than a handful of outliers.

Motor Sizing

I set the design torque at 50% of the motor’s stall torque. That’s a DC motor’s peak-power point, beyond which torque and speed both fall off quickly. The short burst duty cycle let me be more aggressive than a continuous-duty application on heat, but it does nothing for stall risk: a single spike above stall torque stops the motor regardless of run time. Since my data already showed spikes up to 48 kg·cm, I stopped loosening the margin at 50%.

Required stall torque=37.2 kg⋅cm0.50=74.4 kg⋅cm\text{Required stall torque} = \frac{37.2 \text{ kg·cm}}{0.50} = 74.4 \text{ kg·cm}

Treating the motor’s torque-speed curve as a straight line between no-load speed and stall torque, the required no-load speed follows from putting 128 RPM at that 50% point:

128=RPMno-load×(1−0.50)⇒RPMno-load=256128 = \text{RPM}_{\text{no-load}} \times (1 - 0.50) \quad\Rightarrow\quad \text{RPM}_{\text{no-load}} = 256

The first motor I looked at, a 12V, 19:1 gearmotor, only had 4.6 kg·cm of stall torque, far short of the requirement. The DOCYKE DC90 (a 36:1 planetary gearmotor, 6–22V) fit much better: reading its published torque and speed curves, both targets converge at ~16V (~75 kg·cm stall, ~253 RPM no-load). Having one voltage satisfy both at once was the real signal it was a good match.

DC90 / DC350 / DC550 family: same base motor, different gear ratios
DC90 / DC350 / DC550 family: same base motor, different gear ratios
12V 19:1 reference motor: 4.6 kg·cm stall, far too weak
12V 19:1 reference motor: 4.6 kg·cm stall, far too weak
Stall torque vs. voltage
Stall torque vs. voltage
No-load speed vs. voltage
No-load speed vs. voltage

Drag the voltage to see how the DC90's line moves against the sizing requirement. Stall torque and no-load speed are read from DOCYKE's published curves.
View data table
VoltageStall torque (kg·cm)No-load speed (RPM)
6V1284
12.4V45186
18V90288
22V120350

For current, I anchored a current-vs-torque line with two points: a reviewer’s no-load measurements (~0.4A at 6V, 0.6A at 20V) and the spec sheet’s 25A stall. That predicted ~10.7A at my design torque, and I sized the fuse and wiring around it.

Comparing against other builds, my required stall torque was ~4.3x my mean grinding load, versus ~2–3x for working conversions. Rather than buying a second, smaller motor to find out whether I was too conservative, I planned to use the DC90’s own voltage range: at ~13.5V it behaves like the less conservative spec (~56 kg·cm stall).

Test Stand

Stacking the motor directly on the grinder was the obvious layout, but it made a tall, top-heavy assembly: 17.5cm grinder + 25mm coupler + 129.5mm motor ≈ 33cm, on a 5.2cm base, with the motor blocking the hopper. That ruled it out for the final build. For a first round of current measurements, though, direct drive was the fastest way to get real data, so I built a test stand with a printed clamp around the grinder’s grip.

Test stand
Test stand
Test bench: DeWalt 20V battery, inline shunt ammeter, and the motor
Test bench: DeWalt 20V battery, inline shunt ammeter, and the motor

The first no-load run spun 11 revolutions in 2 seconds at 20.2V (330 RPM), which lined up with the DC90’s published speed curve. That was the first real confirmation that the motor matched the charts the whole sizing was built on.

No-load spin, with a tape flag for counting revolutions
Grinding under load, with the ammeter showing live current

Challenges and Solutions

Arc Fault at the Motor Terminal

The spark at the motor's terminals, on the third bean (sound on)
The ammeter in the second after the spark: 18.7A, then 68.4A as the voltage collapsed to 4.77V
The ammeter in the second after the spark: 18.7A, then 68.4A as the voltage collapsed to 4.77V
The motor terminals afterward, with the hooked connector
The motor terminals afterward, with the hooked connector

Challenge

  • During the first loaded test, feeding one bean at a time, the third bean produced a loud pop and a spark at the motor’s terminals. Current jumped from 0.8A to 18.7A, then to 68.4A as the battery voltage collapsed from 20.3V to 4.77V, and the ammeter (rated to 50A) went dark. The DeWalt battery didn’t survive either.
  • 68.4A is nearly 3x the motor’s 25A stall ceiling. A stalled motor physically can’t draw that much, so this wasn’t just a hard bean; something had shorted.

Solution

  • Checked the motor before blaming it: winding resistance was still 0.9Ω, with no continuity from either terminal to the case
  • Traced the root cause to a hooked connector draped over the spade tab, with nothing clamping it. It was fine at 0.8A, but as current climbed, the marginal contact heated up and arced.
  • Switched to crimped female spade connectors and added a 20A slow-blow fuse, sized above legitimate grinding peaks but below the motor’s 25A ceiling. I had skipped the fuse for that first test; it would have cut power right as the short developed.
  • Worked back up in steps instead of jumping straight to a full dose: no-load (0.4A at 20.4V, matching the reviewer’s data), then single beans at 40 clicks (≤0.9A), then continuous batches (3.3A)

Shaft Coupler Slipping

1/4 inch hex extender between the grinder and the coupler
1/4 inch hex extender between the grinder and the coupler
Hex extender, flange coupler, and set screws
Hex extender, flange coupler, and set screws

Challenge

  • The grinder’s drive shaft is a 1/4 inch hex (6.35mm across the flats, but 7.18mm across the corners), so it doesn’t fit a 6.35mm round bore at all. In the motor’s 8mm flange coupler, it had up to ~0.85mm of play per side for two set screws to fight.
  • Under continuous-feed grinding, the coupling worked loose partway through a test

Solution

  • Tried three fixes: a tape shim to fill the gap, sanding the hex corners round to fit a 6.35mm flange with set-screw flats, and an 11mm flange clamped over the hex extender’s 10.95mm OD with M4 screws. Each one eventually slipped under load; the set screws left scoring on the extender instead of holding.
  • These failures, together with the height of the stacked layout, pushed the final design to a side-mounted belt drive with bearing-supported shafts

Motor Shaft Support

The failed motor-side setup: belt tension sheared material off the motor shaft
The failed motor-side setup: belt tension sheared material off the motor shaft

Challenge

  • On the belt drive, the pulley on the motor side was cantilevered directly off the motor’s shaft. Under load, the belt skipped teeth on that side and the shaft visibly deflected.
  • After adding a printed bearing mount and tightening the belt, the extra tension went too far: it sheared material off the motor shaft

Solution

  • The grinder side already had its own outboard support bearing, since the K6’s internal bushing was designed for the almost pure torque of a hand crank, not the constant sideways pull of a belt
  • On the motor side, I extended the shaft with an aluminum shaft and added a second bearing mount above the motor, so the belt load is carried by bearings rather than by the motor’s own shaft
Walkthrough of the belt drive

Start-Up Current Trips

Challenge

  • Switching the motor on with the toggle switch tripped my bench supply’s overcurrent protection at 7–8A, even with no beans loaded, while it ran normally once it auto-reset. A laptop-style 19–20V supply capped at 6.4A reacted the same way, cycling on and off in hiccup mode.

Solution

  • Identified it as inrush current: at 0 RPM there’s no back-EMF limiting current, and the motor also has to spin up the gearbox, pulley, and belt from rest. The DeWalt batteries had simply been powerful enough to absorb it.
  • Found that starting from the supply’s own output button didn’t trip it, since the supply ramps its own output on. Running the bench supply in constant-current mode should have the same effect, letting voltage rise with the motor’s speed instead of applying it all at once.
  • Next step: a soft-start PWM controller, with the toggle switch becoming a low-current enable signal instead of switching motor power directly
My WANPTEK bench supply, back in service after an earlier failure (two blown electrolytic capacitors)
My WANPTEK bench supply, back in service after an earlier failure (two blown electrolytic capacitors)

Final Design

The final layout puts the motor beside the grinder, connected by a timing belt on 3D-printed pulleys. The grinder shaft has its own outboard support bearing, and the motor side runs through an aluminum shaft extension with a bearing mount above the motor. This keeps the height close to the grinder’s own and leaves the hopper open for pouring in beans.

Enclosure

For the enclosure, I wanted the geometric simplicity of the Fellow Ode and Datum grinders: a clean rectilinear body wrapped in sheet metal with no exposed screws, sized to sit next to my Breville Bambino. Before settling on final dimensions, I tested proportions with a posterboard mockup, then modeled the enclosure in Fusion 360.

Final assembly CAD
Final assembly CAD
Posterboard mockup for testing proportions
Posterboard mockup for testing proportions

The shroud is 0.025 inch aluminum sheet (five 2ft x 2ft sheets for $16), bent by hand:

  • 25mm bend radii on the corners. At that thickness, the sheet dents at any point load, so each bend needs broad, even pressure.
  • A flat pattern length of 609.189mm, which falls between the shroud’s inner (607.4mm) and outer (611.4mm) circumference: the neutral axis sits ~44% of the way through the thickness (K ≈ 0.44), neither stretching nor compressing during bending
The finished grinder
The finished grinder

Results & What’s Next

Running on the bench supply at 19V, with a finished dose
Running on the bench supply at 19V, with a finished dose
  • In direct-drive testing, ground a dose in about 20 seconds, down from ~79 seconds by hand and well under my 30 second target
  • Full doses at 25 clicks usually stayed under 5A, less than half the ~10.7A my model predicted. The motor-measured peak (~16.3 kg·cm) landed right on my hand-crank data’s mean, suggesting the hand-crank method overstated peak torque.
  • Kingrinder’s support team confirmed an electric drill can drive the grinder at 15–25 N·m (153–255 kg·cm), well above the DC90’s 90 kg·cm maximum

What I’d do differently: the DC90’s relatively low 36:1 reduction means it draws ~5A, where the higher-reduction 36GP-36ZY motor in the Honeycomb build is rated for ~1.2A. It’s ~4 seconds faster per dose, and everything was already validated around it, so I kept it, but a higher gear ratio would have allowed a smaller power supply.

Still open:

  • Soft start, so it can start cold with beans already loaded
  • Bean feed stalls: an 18g dose sometimes stops at ~9g until more beans are added. I’m investigating whether beans are snagging on the new bearing and pulley hardware or bouncing at the burr entry.
  • Retention of ~1g after RDT at the printed outlet plate

Before and After

Before: the grinder clamped to a cabinet, ground by hand
After: the finished motorized grinder

← Back to all work