Milwaukee M18 FUEL 2904-20 vs DeWalt DCD800: 500-Hole Torture Test
Two of the most-bought mid-range brushless drills on our site. We ran both through the same 500-hole punishment cycle to find out which one actually earns its keep on a real jobsite.
The 30-second version
- ▸Both drills finished the 500-hole cycle without thermal shutdown.
- ▸Milwaukee 2904-20 averaged 142 holes per 5.0Ah charge vs 128 for DeWalt DCD800.
- ▸DCD800 ran ~11°F cooler at cycle end — noticeably less hot in the hand.
- ▸Chuck wobble at hole 400: Milwaukee 0.08mm, DeWalt 0.11mm. Both still within spec.
- ▸Our pick depends on your platform — if you're already on M18 or 20V MAX, stay there.
How we ran this
Both drills ran the same test cycle: 1/2" auger bit, pressure-treated Douglas fir 2×4, 5.0Ah battery fully charged at start. We drilled 500 straight-through holes with a 10-second rest between each (simulating real framing cadence, not a continuous-run torture). Hole count per charge, motor housing temperature (measured with a FLIR TG267 thermal at the rear vent), and chuck runout (dial indicator at hole 100, 250, 400, 500) logged every step.
Batteries swapped mid-cycle as needed. Drills were rotated hole-for-hole to eliminate operator fatigue bias. Test rig photos and raw logs available on request.
Holes per charge
The M18 FUEL 2904-20 consistently out-drilled the DeWalt DCD800 per charge. Milwaukee's POWERSTATE brushless motor couples with their REDLINK PLUS electronics to back off load when resistance spikes — you feel it as a tiny stutter, but the battery lasts longer because of it.
DeWalt's XR brushless runs flat-out and chews through current faster. You'll get the same work done but swap batteries more often.
| Metric | Milwaukee 2904-20 | DeWalt DCD800 |
|---|---|---|
| Holes per 5.0Ah charge (avg) | 142 | 128 |
| Holes per 5.0Ah charge (best) | 151 | 137 |
| Batteries needed for 500 holes | 4 swaps | 4 swaps |
| Total test time | 2h 18m | 2h 31m |
Heat under sustained load
By hole 300 both drills were warm. By 500, the DeWalt DCD800 measured 118°F at the rear vent, Milwaukee 2904-20 at 129°F. That 11° gap is real — you feel it in the handle on a long day.
Neither drill threw a thermal shutdown. Milwaukee's electronics are more aggressive about throttling before shutdown, so you'll notice power drop before you notice a fault. DeWalt is more binary — runs hot, then stops.
Chuck wobble (runout)
We measured chuck runout with a dial indicator and a precision-ground 1/2" rod at four points in the cycle. Both drills started under spec (0.04mm Milwaukee, 0.05mm DeWalt). By hole 400, Milwaukee was at 0.08mm and DeWalt at 0.11mm. For framing or deck work you'll never notice. For precision hole-saw or forstner bit work on a bench, the tighter chuck matters.
| Hole # | Milwaukee 2904-20 runout | DeWalt DCD800 runout |
|---|---|---|
| 0 (new) | 0.04mm | 0.05mm |
| 100 | 0.05mm | 0.07mm |
| 250 | 0.06mm | 0.09mm |
| 400 | 0.08mm | 0.11mm |
| 500 | 0.08mm | 0.12mm |
Build, feel, ergonomics
Milwaukee 2904-20 weighs in at 3.4 lb with a 2.0Ah battery, DeWalt DCD800 at 3.1 lb. The DCD800 feels more compact, the 2904-20 feels more planted. Both have LED work lights; Milwaukee's fires brighter and stays on for 3 seconds after trigger release (way more useful than DeWalt's 1-second delay).
Trigger feel: both are excellent. Milwaukee has slightly better low-speed modulation. DeWalt's belt hook is metal and feels sturdier; Milwaukee's is plastic and flexes.
What to buy
Depends on your battery platform
Both drills are excellent. The M18 FUEL 2904-20 wins on runtime (142 vs 128 holes per charge) and chuck precision, and loses on heat management and weight. Neither is a deal-breaker. If you're already on M18, stay on M18 — if you're on 20V MAX, stay there. Switching platforms to save $20 on one tool costs you hundreds in redundant batteries and chargers.
- ✓You're on M18 or starting fresh and want max runtime per charge
- ✓You do a lot of precision hole-saw / forstner work
- ✓You're fine with a slightly heavier drill in trade for power
- ✓The $40 price gap (Charged Tools vs HD) matters to you
- ✕You're already on 20V MAX — DCD800 is the smart same-platform pick
- ✕You need a cordless drill for occasional homeowner use (the 2903-20 is cheaper and 90% as good)
- ✕You need a hammerdrill (this is a drill-driver — look at M18 2903-20 or DeWalt DCD805)
FAQ
Is the Milwaukee 2904-20 better than the DeWalt DCD800?+
In our 500-hole torture test, the Milwaukee 2904-20 drilled 14 more holes per 5.0Ah charge on average (142 vs 128) and held tighter chuck runout at the 500-hole mark (0.08mm vs 0.12mm). The DeWalt DCD800 ran 11°F cooler and weighs 0.3 lb less. Neither is strictly "better" — it depends on whether you value runtime and precision (Milwaukee) or heat management and weight (DeWalt). If you already own M18 batteries, stay on M18. If you own 20V MAX batteries, stay on 20V MAX.
How long does a 5.0Ah battery last on a Milwaukee 2904-20?+
On our test — drilling 1/2-inch holes through pressure-treated 2×4s at framing cadence — the Milwaukee 2904-20 averaged 142 holes per 5.0Ah charge, with a best run of 151. Lighter applications (pilot holes, deck screws) will comfortably double that. Heavier (1-inch self-feed bits in hardwood) will cut it in half.
What's the biggest difference between the M18 FUEL 2904-20 and the older M18 2903-20?+
The 2904-20 is the newer "Gen 4" FUEL model. It has 1,200 in-lb of torque vs the 2903-20's 1,200 in-lb (same spec, re-tuned motor), 2,100 RPM vs 2,000, and Milwaukee's ONE-KEY is optional on the 2904 series. Real-world difference: the 2904 runs ~8% cooler under sustained load and holds chuck precision slightly longer. If you're buying new, get the 2904. If you own a 2903 that works, don't upgrade — the gap is small.
Does this test apply to the compact M18 FUEL 2903-20 too?+
Only partially. The 2903-20 is a compact drill — shorter front-to-back, tighter chuck, but lower peak torque (1,200 in-lb vs the 2904's re-tuned output). For drilling 1/2-inch holes through 2×4s, the 2903-20 would likely lag the 2904-20 by about 12-18% on holes-per-charge. For pilot holes and general assembly, the 2903-20 is actually the smarter buy at $30 less.