CompeteGuide

Zo’s Reloads: 9mm Luger 147 Grain FMJ

Welcome to “Zo’s Reloads,” a new post series where I share my blunders and breakthroughs as I fumble into the world of reloading. Buckle up—this wild ride starts with 9mm Luger!

15 min read Updated

Alright, folks, welcome to the kickoff of a new series I’m calling “Zo’s Reloads.” This one’s a bit different from the Dry Fire Series or the Drill of the Month, which were meant to be instructional. Nope, this series is a throwback to when I first started this blog, back when my posts were, at best, informational rambles about what I was learning as a newbie in gun ownership, hunting, competitive shooting, and armed self-defense. The throwback vibe isn’t intentional. It’s just the reality of being brand new to reloading. Everything I write here is me sharing my experiences and lessons learned, mistakes and all. As I gain more experience, that’ll change, but for now, expect simple accounts of my reloading journey, complete with the failures and rookie errors that come with learning something new, plus a few I might not even realize I’m making until later.

Why Start a Reloading Series?

So, why start this series at all? For one, who doesn’t prefer to learn from the mistakes of others. I suspect these posts will do some of that at my expense. As a bonus, they’ll serve as a written record of my personal load data, starting with this 9mm 147 grain load. Let me be clear: I’m not promising this load data is any good or even safe. Always refer to official published load data for that. This is just a place to store the data I’m writing down anyway, which I’ve been told is good practice. It’s especially handy for ensuring my super-secret ultimate load recipe doesn’t get lost or forgotten.

Still here? Alright, proceed at your own peril.

9mm 147 Grain Load Development

The natural place to start is, well, at the beginning. My reloading journey begins with 9mm Luger, specifically a 147 grain load I can use for competitive matches and, if financially feasible, for training and practice. I shoot a ton of 9mm. For the past few years, my go-to has been Blazer Brass 147gr FMJ. I don’t shoot it exclusively, but I buy it in bulk, three to five 1,000-round cases every few months. I love that ammo. It’s not the cheapest 9mm out there, but it’s on the lower end of the price spectrum and crazy reliable. I can’t recall a single ammo-related malfunction with it. So, my baseline for reloading was to create a similarly reliable load that’s cheaper at the same quantity.

Components for a 147 Grain Load

With that goal in mind, I did what any reloading newbie might do: I based my first 9mm 147 grain load on what I knew. I went for 147 grain flat-nose copper-jacketed bullets, brass cases, a pistol powder, and small pistol primers. I could’ve scoured forums for popular components, but instead of trusting random opinions from strangers, I asked two shooting buddies, avid competitors and passionate reloaders I’ve known for years. Their advice led me to:

Without factoring in shipping, handling, or waste, the cost of these components came out to 24¢ per round. That’s a few cents cheaper than the best price I could find on a case of my go-to Blazer Brass, which was 27¢ per round, roughly a 10% savings. I could argue that’s not enough to justify the time it takes to reload, but it met my baseline for getting started.

With components in hand and the Dillon Precision XL750 set up, it was time to cook up my first batch.

Armanov ammo checker holding the first 9mm 147 grain load, Batch 1, with half its compartments filled

Batch 1: 3.4gr Titegroup, 1.129 C.O.L., 0.377 Crimp

My first batch of the 147 grain load was, frankly, pretty bad. Nothing catastrophic happened, but half of the 10 rounds I loaded failed quality control. One round didn’t pass the case gauge or plunk test. Three had high primers. Another had a primer that wasn’t seated at all.

I managed to recover most components from the rejects, except for the one that failed the case gauge and plunk tests, using a Berry’s Superior Bullet Puller and a Lee Precision Auto Prime Hand Priming Tool. I pulled the bullets, recovered the powder, and hand-seated the high and unseated primers. Right or wrong, I reused those primed cases in a later batch. The round that failed both tests? It’s sitting in my “ammo box of shame” until I figure out how to recover its components. I might have to cut my losses on the brass and primer, but for now, it’s staying put.

Recipe Notes

A few notes on this recipe: The 3.4gr charge weight was the midpoint between the 3.2gr minimum and 3.6gr maximum from Hodgdon’s 9mm load data for 147 grain jacketed projectiles, the only data I found for this bullet weight and Titegroup combo. In hindsight, I should’ve started at 3.2gr and worked up, potentially discovering that the minimum was sufficient. Live and learn.

The 1.129″ C.O.L. came from measuring a few Blazer Brass rounds, which consistently measured 1.127″ or 1.128″. I figured 1.129″ was close enough, especially since it fell within the 1.100″ RMR Bullets’ published minimum and 1.169″ SAAMI standard maximum. The 0.377″ crimp might’ve come from a Dillon setup video, but I can’t say for sure. I couldn’t find it when I looked again. Regardless, the Hornady manual suggests minimal or no crimp for 9mm since it headspaces on the case mouth. I figured 0.003″ less than the 0.380″ spec was minimal enough. It worked, at least for the rounds that passed the case gauge.

The chronograph showed an average velocity of 913.5 fps with a 5.8 fps standard deviation, yielding a 134.3 power factor, well above the 125 PF minimum for USPSA matches. Solid numbers, but I wondered how much PF I’d lose with a lighter charge.

Batch 2: 3.2gr Titegroup, 1.129 C.O.L., 0.377 Crimp

For this batch of the 147 grain load, I dropped the charge to 3.2gr to see how it affected power factor. I also paid closer attention to operating the press to avoid short-stroking, which I suspected caused the high and unseated primers in Batch 1. That must’ve been the issue because I haven’t had primer problems since.

I also tried loading one cartridge at a time, thinking it would help me get familiar with the process and catch errors. All it did was slow me down. Two rounds still failed the case gauge and plunk tests, proving that loading one at a time didn’t prevent mistakes, probably because I didn’t know what to look for yet. I abandoned that practice after this batch of 10.

Chronograph results were decent: 857.9 fps average velocity (11.8 fps standard deviation) for a 126.1 PF. That’s too close to the 125 PF minimum for comfort, and I had one failure-to-feed during testing.

Armanov ammo checker filled with Batch 2 cartridges, mixed brass headstamps in a grid

Batch 3: 3.3gr Titegroup, 1.128 C.O.L., 0.377 Crimp

With the power factor uncomfortably close to 125 and a failure-to-feed, I bumped the charge to 3.3gr and shortened the C.O.L. to 1.128″ to match the Blazer Brass, which feeds flawlessly in my 9mm pistols. I figured I was getting close to a keeper 147 grain load, so I loaded 50 rounds this time.

A note on charge weights: I’m rounding to the nearest tenth because that’s the precision of my scale. To account for small variations in volume-based powder dispensing, I used a five-charge average, which came out to 3.25gr for this batch (compared to 3.38gr and 3.18gr for Batches 1 and 2). This batch still had a couple of case gauge and plunk test failures.

Chrono results were solid: 894.5 fps average velocity, 12 fps standard deviation, and a 131.5 PF. Much better.

Garmin chronograph showing velocity and power factor for the 9mm 147 grain load beside a box of reloads and a magazine on the range bench

Batch 4: 3.2gr Titegroup, 1.128 C.O.L., 0.377 Crimp

I didn’t plan to change the recipe, but I installed an Armanov Clickable Powder Thrower Adjustment Knob before starting this batch. The knob offers 50 precise, repeatable settings per rotation but limits you to those 50 positions instead of the infinite adjustability of the stock setup. As a result, I couldn’t hit the 3.25gr five-charge average from Batch 3; the closest I got was 3.24gr. Good enough, I thought.

I loaded 250 rounds of the 9mm 147gr load, thinking the recipe was ready for prime time. Chrono results were promising (896.1 fps average velocity, 131.8 PF), but the standard deviation crept up to 14.3 fps. Worse, I had eight rounds fail the case gauge and plunk tests. With 13 rejects out of 300 total rounds (4.3% reject rate), I was wasting too much. Recalculating the cost per round with this waste pushed me outside my baseline parameters.

I ran about 150 rounds from this batch through the Staccato XL at a local match. They performed well, but I had one failure-to-feed. This match took place after adjusting the recipe (as you’ll see in later batches), suggesting the C.O.L. was still a bit long, and the reduction in later batches was likely the right call.

Batch 5: 3.2gr Titegroup, 1.120 C.O.L., 0.380 Crimp

Frustration kicked in. I decided to tear down the XL750’s configuration and start over. Not the ammo, just the setup. This wasn’t purely emotional; I researched possible causes for the high reject rate. The list was overwhelming: shell plate deflection, improper resizing die setup, bullet deformation from excessive crimp, inconsistent bullet seating due to insufficient case mouth expansion, and more.

Instead of changing one variable at a time, I reread the Dillon manual, looked for unofficial load data specific to RMR bullets, and followed Hornady’s advice to use no crimp. I also went back to a small batch of 10 of the 147 grain load. This batch had no case gauge failures, though a couple were snug in the Armanov gauge (known for tight tolerances) and needed a gentle tap to slide out. They passed the Dillon gauge and plunked, so I called it a win: my first batch with no rejects.

Chrono data showed similar velocity and power factor to previous batches, with a lower 8.3 fps standard deviation, another win. I was tempted to tighten the crimp to 0.379″ to see if I could get all 10 to pass the Armanov gauge, but instead, I loaded another 10 while keeping a case in the sizing die for the final few rounds. I suspected that running the press dry (with stage one empty) caused slight shell plate deflection, affecting the crimp. Caliper measurements showed case mouths at 0.3805″, supporting my theory.

The next 10 rounds had similar results: all passed the Armanov gauge, but one was slightly tight and passed the Dillon gauge. I loaded another 10 to see if this was repeatable. Unfortunately, four failed the case gauge completely, though one plunked. Frustration returned.

Was It the Sizing Die?

I double-checked the XL750’s setup, including the shell plate set screw (still tight). Then I wondered: what if I removed the sizing die? The brass was “ready to load,” after all. I loaded 10 rounds without the sizing die, and results were promising. Only a couple were tight in the Armanov gauge but passed the Dillon gauge. Another 10 rounds gave similar results, except one failed both gauges and didn’t plunk.

Suspecting an issue with the XL750’s setup, I called Dillon’s support. After sending pictures and discussing, they suggested more case mouth expansion on stage two and a longer 1.145″ C.O.L. Time for another batch.

Batch 6: 3.2gr Titegroup, 1.145 C.O.L., 0.380 Crimp

Dillon asked if I’d case-gauged the “ready to load” brass from Fancy Brass Co. I had, but only a handful. I filled the Armanov 100-round gauge with processed brass, and one failed badly while four were snug. That convinced me to reinstall the sizing die. I also made Dillon’s suggested adjustments: resized cases measured 0.375″ ± 0.001″ at the case mouth, and I expanded them to 0.387″ (up from 0.385″) for more consistent bullet seating with the bullet feeder. I set the seating die to 1.145″ C.O.L. for this 147 grain load.

Armanov ammo checker with Batch 6 of the 9mm 147gr load seated at 1.145 in

Ten rounds later, four were tight in the Armanov gauge, and one wouldn’t go in. Shockingly, none passed the Dillon gauge, a first. After texting pictures to Dillon’s tech (who probably regretted giving me his number), I cleaned the Dillon gauge to rule out debris. Sure enough, all but one passed, matching the Armanov results.

Chrono results weren’t terrible. The extra case volume likely contributed to a slightly lower average velocity of 878.5 fps and a 129.1 PF. However, the standard deviation crept up to 13.6 fps, in line with previous longer cartridges.

This batch left me with a nagging feeling that I was missing something obvious. So, I cooked up one more batch.

Batch 7: 3.2gr Titegroup, 1.120 C.O.L., 0.380 Crimp

After way too much caffeine and obsessing over case gauge failures, I realized none of my tweaks (case mouth expansion, seating depth, crimp, or sizing) had any impact on waste. Desperate, I tried a trick from questionable internet sources: coat a failed cartridge with marker ink, let it dry, insert it into the case gauge, apply pressure, remove it, and check where the ink rubbed off to find where it was sticking.

The ink revealed a contact line along the bullet’s base, parallel to the case mouth, suggesting a bullet seating alignment issue. I hadn’t tried flipping the double-ended seating stem in the pistol seating die. I’d set it for flat-nose bullets (since RMR’s are flat-nose), but switching to the round-nose end might improve alignment. I also reverted to Batch 5’s settings (1.120″ C.O.L., no crimp) since its chrono results were solid, and Batch 6’s changes didn’t help.

One Batch 7 cartridge, an RMR 147 grain flat-nose bullet in a brass case, on the bench

I loaded another 10 rounds. To my surprise, none failed the Armanov gauge, though a couple were tight. This was the first batch since Batch 5’s initial small runs with no outright failures. I couldn’t tell if this was luck or progress, but I stopped production. Ten is plenty for an initial test and I didn’t want to repeat the mistake of prematurely loading a larger batch like I did with Batch 4.

Chrono readings were strikingly similar to Batch 5: 893.7 fps average velocity, 131.4 PF, and the lowest standard deviation yet at 5.6 fps. Whether it was luck or more consistent bullet seating, I’m sticking with this 9mm 147 grain load unless I start seeing ammo-related malfunctions in the Staccato XL.

Seven Batches of the 147 Grain Load at a Glance

BatchTitegroupC.O.L.CrimpVelocitySDPFRejects (gauge and plunk)
13.4 gr1.129 in0.377 in913.5 fps5.8 fps134.35 of 10, mostly primers
23.2 gr1.129 in0.377 in857.9 fps11.8 fps126.12 of 10, one FTF
33.3 gr1.128 in0.377 in894.5 fps12.0 fps131.5A couple of 50
43.2 gr1.128 in0.377 in896.1 fps14.3 fps131.88 of 250, one FTF at a match
53.2 gr1.120 inNoneLike Batch 48.3 fpsLike Batch 40 of 10, then 4 of 10
63.2 gr1.145 inNone878.5 fps13.6 fps129.11 of 10
73.2 gr1.120 inNone893.7 fps5.6 fps131.40 of 10
The seven batches from the Staccato XL, as described above. FTF is a failure to feed. Batches 5 through 7 use the 0.380 in case mouth spec, which Hornady calls no crimp.

The Current 9mm 147 Grain Load

I’d love to say settling on a recipe took longer than expected, but this is my first load, and I had no clue what to expect. More experience with the Dillon XL750 would’ve helped, but that’s where I’m at. I haven’t decided if I’ll update this post with future load evolutions or write new ones. For now, here’s the 9mm 147 grain load I landed on, with chrono results and test pistol details. I’ll add results from other pistols as I test them.

The 9mm 147gr Load in Four Pistols

PistolBarrelAverage velocityStandard deviationPower factor
CZ Shadow 24.89 in898.3 fps12.8 fps132.0
CZC A01-LD4.93 in922.5 fps12.1 fps135.6
Staccato C23.9 in861.3 fps7.8 fps126.6
Staccato XL5.4 in893.7 fps5.6 fps131.4
Chronograph results for the 9mm 147 grain load, 3.2 gr of Titegroup at 1.120 in, by pistol. Garmin Xero C1 Pro.

The Staccato C2’s shorter barrel produces a power factor too close to the 125 PF minimum for comfort in competition. I’m not worried about it for local IDPA matches, where I sometimes run the C2 in Carry Optics (CO) division, since it meets the 125 PF minimum. IDPA requires 125 PF for most divisions, except Custom Defensive Pistol (CDP) at 165 PF and Back-Up Gun (BUG) at 95 PF. For a major match with a mandatory chronograph, I’ll either work up a special batch with a slightly heavier charge or use factory ammo. That’s the plan, especially since I’m more likely to shoot a major USPSA match with the Staccato XL or CZ Shadow 2 than a major IDPA match with the C2.

The higher power factors from the CZ Shadow 2 and A01-LD (compared to the Staccato XL) were unexpected, given their shorter barrel lengths. I don’t fully understand why, but I suspect the notoriously tight CZ chambers played a role. I’m tempted to experiment with a slightly lighter charge weight to bring the power factor closer to 130 for those guns.

This 9mm 147 grain load also lives on my load data page, where brave souls can find my other loads too.

What’s Next After the 147 Grain Load?

I’m going to shoot a ton of this 9mm 147 grain load, obviously.

Next, I’ll tackle 9mm Major to learn about loading a nonstandard cartridge. It’s not quite a “wildcat” since it’s essentially a 9mm Luger with a hot load exceeding +P and +P+ specs, falling well outside SAAMI standards. It’ll also give me an excuse to dust off the CZ Czechmate and compete in USPSA Open Division.

After That, a Rifle Cartridge

After that, I’m eyeing rifle cartridges, specifically 338 Lapua Magnum, to scratch a mile-long shot off my bucket list. Some say loading that on a progressive press like the XL750 won’t yield match-grade consistency, but I’ve heard some top-tier F-Class and PRS shooters use XL750s. Jury is still out on whether to try it or explore other options. Time will tell, and you’ll be able to read about it here on the blog eventually.

Filed under ◆

Most Read

Latest