When I started all-grain brewing I thought of a grain mill as a bit of a luxury item but I found out that it's almost a necessity. For years, I looked at the fact that the local homebrew store was kind enough to crush the grains in their mill for me, and I thought that was great. Then I started doing price comparisons. I found that by buying just enough for the current brew I was paying roughly double what I might pay if I was buying my malt by the bag.
Then I started doing the math. Let's say that on an average IPA or APA you're using 10 pounds or more of American 2-row as base malt. And let's say you brew five batches of beer per year. Yeah, you may do more but let's start here. Buying my base malt by the bag, I can get 50 or 55 pounds for about $35, depending on the maltster. Buying the same quantity per recipe (by the ounce) I'm looking at about $70. Using Maris Otter as a base those numbers roughly double. So I'm looking at a minimum of a $35 savings per year, more if I brew over five batches, and even more if I brew a barleywine or other big beer. I think most homebrewers could count on saving $50 or more per year.
Now let's look at the equipment costs. You can go with various manufacturers, but the Barley Crusher 7lb model sells for $130 with free shipping and 15lb model goes for a bit more. I went with the 7lb model partly because I'm cheap, partly because it's easier to store. I also bought a large plastic garbage can with a lid for grain storage. I already hand the electric drill I would need to power it. Given the savings of $50 or more per year, I'm looking at a three year payback, max. Give the formula a bit more time if you also need to buy a drill; or you can easily crush all your grain just using the hand crank while the mash water is heating.
The Barley Crusher is a dual roller mill, and I find that it will crush the inside of the grain and leave the outside hull largely intact. The finely crushed grains will give you great efficiency while the intact hulls will help prevent a stuck mash. It has a hand crank, or it can be driven by a 3/8″ drill motor. It comes pre-assembled on an MDF base that has little knobs on the bottom fit a standard 5 gallon plastic pail. All you have to do is put on the handle or drill and start cranking. MDF is a reasonably sturdy wood product, but not particularly moisture resistant, so I put a couple of coats of varnish on mine. The mill itself is a machined-aluminum housing built around cold-rolled steel rollers. There is an adjustment knob for the gap on the unit. BC Products offers a free lifetime warranty on the mill.
"OK", you say, "But what if the grain goes bad? You're better off buying fresh malt every time." Au contraire, mon frère. That would be true if I crushed it in advance, but I'm storing un-crushed malt in a bag inside in a plastic container. It all comes from the same harvest as the malt in the store, so buying malt from the store for each batch is no different than getting it from my storage. In fact, the temperature in my garage is typically cooler than the homebrew store, so I'm probably keeping my malt fresher. I still have to buy some malts by the ounce, but my beer got a lot cheaper by taking the base malt out of that equation.