A Brewing Water Chemistry Primer

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
It’s a good practice to taste your brewing water before using it. I’m not sure if Barley farmers decided to brew beer because they loved their local water. But I am in the habit of tasting my brewing water before mashing in. I’ve never once noticed a salty taste even when including lots of salts and minerals.
 
Ok, after reading all of your posts I'm gettting a better understanding of what the objective of the pH reading in the mash is. To answer the question of lovibonds, 60 for crystal 60L, 350 for chocolate, and 300 for roasted barley. Those are my inputs.

So if I just throw in a small amount of baking soda to boost up the pH a bit, and let the pH naturally rise throughout the mash, and just take my reading at 30 or 60, and record that for future use, will my beer be completely ruined if it hasn't at least hit recommended pH levels? Is there any way I can salvage it at that point? Longer mash maybe? Would pickling lime be a better addition?

Also, as Martin has pointed out, my recipe has a lot of crystal/roast grains. I am just going off of flavors that I want to get in the finished product based off of a couple homebrewing books, so the appropriate amount of roasts and crystals in an all-grain recipe is kind of lost on me. Should I tweak the recipe a bit and still get the same flavor from the crystal and roast grains? How much is adequate to impart flavor? (Also, I see you're in Carmel. Westfield here, cheers!)

I really appreciate all of the help here everyone, so much wisdom. I want to soak it all in.
 

Really great reads! Thank you for this. I'm very anal retentive, my gf gets mad when she tries to cook with me cause I'm always following every recipe to the tee. I know, that to an extent and in theory that this helps to produce the same beer consistently, but I also know that I shouldn't sweat over the little things. This helps to calm my nerves. Once I get a better grasp on the whole process and look more into the science rather than just the process I will worry about it, but these brulosophy experiments have made me feel like I can kind of just roll with the punches and still get decent beer at the same time that I make notes for future improvements.

Thank you for all of your help!
 
If it was to mash at 4.91 pH my initial calculation rounds to a requirement for 8.1 to 9.9 grams of baking soda.

If it was to mash at 5.20 pH my initial calculation rounds to a requirement for 3.25 to 5 grams of baking soda.

If it was to mash at 5.36 pH my initial calculation rounds to a requirement for 0.65 to 2.35 grams of baking soda.

These estimates are for a target mash pH span of 5.40 to 5.50.

How much baking soda is your software calling for in order to hit either 5.40 or 5.50 pH on the nose, for the case of mashing at 4.91 pH?
 
If it was me, I would add 4 grams of baking soda to the mash water, mash, take a late mash pH sample (60 min.) or two (30 and 60 min.), carefully measure their room temperature pH after calibrating my pH meter, and take notes for the next time this recipe is repeated. Calibrate the meter, gently swirl the meter in the room temperature samples, then let it sit still in the sample for up to a few minutes until you see no further movement (generally upward in my experience) of the pH, and call this the stable mash pH for your sample.

I not only think that most people take their sample pH's too early, but that they are often rather in a hurry and thereby impatiently read them at temperatures somewhat hotter than they should, or they are at this juncture particularly nervous or agitated, and they therefore want to get a fast pH reading, thereby either reading while swirling, or forgetting to let the pH meter probe sit undisturbed for a few minutes in the sample to allow the reading to fully stabilize. All of these bad practices will lead to lower than actual pH readings. All of them are more likely than not the norm.

Many even make the quite egregious mistake of presuming that since their meter has automatic temperature correction, waiting for a 68 degree F. sample is completely unnecessary. Yet another false low pH reading.

Some calibrate hours to days (or more) before reading their samples pH. Calibrating a few hours in advance "might" work for the best of the available pH meters, but it will not work (as in retain its calibration stability) for most economy driven pH meters. No way will any pH meter hold a precise, reliable, and trustworthy calibration over a period of a few to many days.

Many have massive cases of mash pH assistant software induced "confirmation bias", and when they see the highly biased pH of their pre-choosing (via the software) magically appear (or even if they don't see it appear), that "snapshot" instantly satisfies them and gets recorded, whether too hot, or swirling, or uncalibrated, or unstable, simply made up, etc... Often this is powerful bias induced by a feeling that the software is somehow mystically or magically far superior to what their pH meter would honestly tell them if they did things correctly and accepted its honest output. This due to internet brainwashing by repeatedly hearing over and over again that the software being used is incapable of error.

All of this makes it quite suspect when trying to seriously believe that average Joe or Jane actually took a competently valid pH reading. All he/she reports on the internet for our consumption is some mystical achieved mash pH number (which quite often magically matches quite well with a software prediction). No indication at all as to the "honest" confidence of its validity (generally due to having no clue as to what constitutes confident and/or competent honest validity).
 
Last edited:
In order to hit 5.4 pH according to Bru'n Water, I would need to add 4.9 grams of baking soda. That comes out to 1.19 grams per gallon. Doesn't sound too crazy to me, not ideal, but then again I'm no expert. I will definitely take this advice when I brew this beer and record what happens in my notes.

I appreciate the insight
 
^ +1, re: measurement. Frankly, working on brewing procedure, oft encouraged when learning this hobby, fails to effectively stress how important it is to work just as hard on measurement procedure. Confirmation bias is insidious and real. I'm convinced of that. :)
 
In order to hit 5.4 pH according to Bru'n Water, I would need to add 4.9 grams of baking soda. That comes out to 1.19 grams per gallon. Doesn't sound too crazy to me, not ideal, but then again I'm no expert. I will definitely take this advice when I brew this beer and record what happens in my notes.

I appreciate the insight

This is odd in light of starting out with an extremely low 4.91 mash pH. There may be internal inconsistencies in the software. I'm not sure that 4.9 grams of baking soda can actually move a 12.5 Lb. grist with a TSP of added calcium chloride in 4.08 gallons of initially distilled water from an initial mash pH of 4.91 to a final mash pH of 5.40. We need @ajdelange to tell us if 4.9 grams of baking soda is capable of achieving this. The irony is that the advice to add 4.9 grams of baking soda alone doesn't sound (to me at least) like bad advice at all, but the inconsistency appears to lie in the assessment of an initial 4.91 mash pH.
 
Last edited:
I don't know the actual science in the brewing process in terms of pH level but I do understand the basic concepts of acids and bases. It seemed odd to me and honestly the whole software seems odd to me, though it's made by someone that knows extremely more than I do, so I'm not faulting the program. I am chalking it up to some degree of user error. But I just want to use the program as a tool to lean on as I actually learn the science and then eventually come up with the calculations and proper corrections by myself as I grow to a better understanding. That's honestly my favorite part of brewing (aside from drinking it), just doing every little thing on my own and making a beer my own.

I'm just soaking all of this in.
 
I am chalking it up to some degree of user error.

I'm sensing a high degree of confirmation bias in this, wherein in advance of actually brewing you are already apologizing for yourself and your perceived mere frail and human abilities in relation to a software that you are conditionally convinced is elevated to a platform upon which it can be seen as effectively gods gift to brewing. No such software exists.
 
Last edited:
I'm having an issue with this one.
I have been making a recipe for my first all-grain with BeerSmith.

Grain bill
6# Maris Otter
3# 6 Row
1.5# Crystal 60L
1# Flaked Oats
12oz Chocolate
8 oz Roasted Barley
12# 12oz Total

Mash Vol: 4.08 Gal Sparge Vol: 4.27 Gal

BeerSmith is giving me a an Unadjusted Mash pH of 5.44, which is nice (I think haha). 5.36 Mash pH after the Calcium Chloride addition mentioned in the post.
What you are going to get depends on the particular malts you are using. What a brewing calculator tells you depends on the malt models contained in the program assuming that the program itself is robust which most of them are not. For this grain bill with DI water and 4 grams of CaCl2 you could expect a mash pH of around 5.42 with the CaCl2 and 5.45 without it which is close to what the calculator you used gave you. But note that if I switch to another maltster for the MO I used in the calculation the estimated pH goes up to 5.48 (with the calcium). These calculations were done with a robust calculator but even so you can't get a good answer because I don't know about your particular malts.

However, Bru'n Water, which I've been reading is more accurate in general, is giving me a crazy low unadjusted Mash pH of 4.91.
Keep reading. 4.91 is unrealistically low for typical malts. With typical malts you would need an extra 176 mEq of acid to reach this pH. That's equivalent to 22.5 Oz of a typical sauermalz (10% of the grist).


I don't understand what I'm doing wrong or what there is such a large disparity.
You aren't doing anything wrong except putting your faith in a calculator. This one in particular has had lots of reports of similar problems with it. These get flagged, discussed and are reported fixed but then another post like yours comes up.



So my question is, do I go with bru'n and just boost up my water from the get go to combat the low mash pH. Or do I just go with this post's suggestion and hope that Bru'n is wrong?
My suggestion would be to make a test mash to see what you are actually dealing with rather than relying on a calculator/spreadsheet. If you can't (or don't want to) do that then I'd suggest trying several of the other calculators. None of these is really any better than BW but you might find,for example, that it is in disagreement with the field and thus revise your opinion of it.
 
@ajdelange Thank you a ton for your input and advice. That helps clear the issue up. I hadn't even considered that there may be a small scale way to test these particular malts for a test mash. If I were to scale it down and to make a small test mash, how small would I be able to scale it down? Could I do a tenth of the grain weight while keeping the specific grain percentages the same? I would also have to scale the mash water volume to the same degree yes?
 
Most people use about a pound of grist with about a quart and a half of water warmed enough to get you to about the strike temperature you intend to shoot for in the actual brew. It is important that the individual malts be present in the same proportion you will have in the main mash. Try to hold the test mash at about the intended first rest temperature for 20 min to half an hour and then withdraw a bit of the liquid (doesn't matter if there is grain in it), cool to room temperature and measure pH.
 
This is odd in light of starting out with an extremely low 4.91 mash pH. There may be internal inconsistencies in the software. I'm not sure that 4.9 grams of baking soda can actually move a 12.5 Lb. grist with a TSP of added calcium chloride in 4.08 gallons of initially distilled water from an initial mash pH of 4.91 to a final mash pH of 5.40. We need @ajdelange to tell us if 4.9 grams of baking soda is capable of achieving this.
Noting that pH 4.91 would require the 176 mEq acid (equivalent to 22.5 Oz sauermalz) beyond what the malts apparently supply we'd need to need to neutralize enough of that to get to pH 5.4. This would require 19.25 grams. From pH 4.91 we would only get to 5.03 with 4.9 grams of bicarbonate.

The irony is that the advice to add 4.9 grams of baking soda alone doesn't sound (to me at least) like bad advice at all, but the inconsistency appears to lie in the assessment of an initial 4.91 mash pH.
Were the pH 5.25 without bicarb then adding 4.9 grams would get you to 5.4.
 
@BeerSavesLives I'm tied up at the moment with holiday preparations. Feel free to use this link to ezRecipe to plug in your recipe numbers and share them here. I'll look them over later today once things calm down some.

No worries at all my friend, I'm actually deployed and unable to brew for an abhorrent amount of time. Simply putting recipes together so that when I get home and can actually brew I can just knock them out one after the other. I truly appreciate everyone giving me their time. I will go ahead and plug the numbers into the tool and report back in about an hour.

Jeez I lost track of my days, totally forgot that Thanksgiving is tomorrow. Wish you all the best!
 
No worries at all my friend, I'm actually deployed and unable to brew for an abhorrent amount of time. Simply putting recipes together so that when I get home and can actually brew I can just knock them out one after the other. I truly appreciate everyone giving me their time. I will go ahead and plug the numbers into the tool and report back in about an hour.

Jeez I lost track of my days, totally forgot that Thanksgiving is tomorrow. Wish you all the best!

If you're going to give Screwy's software a spin at it, you might as well give mine a spin as well. Mash Made Easy version 5.00. Follow the link below.
 
If you're going to give Screwy's software a spin at it, you might as well give mine a spin as well. Mash Made Easy version 5.00. Follow the link below.

I actually already downloaded yours and plugged the numbers in the other day when we were chatting. I noticed it in your signature and gave it a gander. I will post the results I got with the ones I get from his as soon as my PC decides to not be a pain in my side.
 
I actually already downloaded yours and plugged the numbers in the other day when we were chatting. I noticed it in your signature and gave it a gander. I will post the results I got with the ones I get from his as soon as my PC decides to not be a pain in my side.

Thanks! Be sure to set the DI mash pH range parameter for your recipes predominant low Lovibond color base malt in MME via the drop down cell seen in the lower right hand corner. Hover over this cell for simple instructions prior to clicking and making your selection from among the six available choices. This is critical to getting a more reliably accurate mash pH prediction. If you fail to take this step, the outcome will for most cases be a mash pH prediction which is falsely higher than intended.
 
@Silver_Is_Money, so I paid special attention to the DI mash range that you mentioned, something I hadn't noticed when I messed with it the other day. I chose the fifth selection, as the majority of my grain bill consists of MO though, I do have a decent amount of 6 row in there as well (I've read that just MO as a base malt can get iffy when sparging and that 6 row provides a nice grain bed for sparging. So idk if it's a good idea, but I was just going off of readings). Hopefully, that selection for the setting is correct. With that being said, your program was pretty much right on line with what you all were saying to me from the get go.

upload_2018-11-21_20-48-20.png


With all of my grains entered I got a 5.28 predicted pH without any corrections and an estimated 1.99 g of baking soda to bring it to a 5.4.
 
I've got to figure out where those hideous "FALSE"'s are coming from. They do not ever appear for me. You are the second person for whom they have popped up. Do they go away when you select "None" in those rows for column 'B'?
 
I don't have a good DI mash pH range for 6-Row barley base malt. If anyone has tested it and derived this, please let me know what you came up with.

If you are using two differing base malts, choosing a 'drop down' DI_pH range that sits between them is a safe bet.
 
I've got to figure out where those hideous "FALSE"'s are coming from. They do not ever appear for me. You are the second person for whom they have popped up. Do they go away when you select "None" in those rows for column 'B'?

Yes, they do go away when I select none. I will save my file so that it is set to that. When I go to the original file I downloaded from your link and click on the empty row B cells, rows 7-9 have "None" in blue as if they are defaulted to such. However, for rows 10-15, when I click on those cells nothing is highlighted, as if nothing is set to default.
 
Yes, they do go away when I select none. I will save my file so that it is set to that. When I go to the original file I downloaded from your link and click on the empty row B cells, rows 7-9 have "None" in blue as if they are defaulted to such. However, for rows 10-15, when I click on those cells nothing is highlighted, as if nothing is set to default.

Thank you! Good to know. I'll have to be sure that "None" is placed into each column 'B' field before my next revision goes onto my website. I sometimes simply delete the choice made in column 'B' rather than entering the cell and selecting "None", and in LibreOffice (the spreadsheet I use, since I runs the Linux OS) that is sufficient to clear out any downstream flags such as "FALSE". Yet another of the many differences between Excel and LibreOffice Calc that I need to contend with.
 
FWIW, Excel 2016 and 2007 both open with those FALSE showing but go away with selection of NONE.

Thanks! I've been striving to remain Microsoft free, and I'm learning that code responds differently in LibreOffice than for Excel. I'd imagine that these "flags" have chased away a number of prospective users by now, and until today I never realized it since the unsightly and scary appearing flags do not occur within LibreOffice. Good to be finally getting to the bottom of the problem.
 
Thank you! Good to know. I'll have to be sure that "None" is placed into each column 'B' field before my next revision goes onto my website. I sometimes simply delete the choice made in column 'B' rather than entering the cell and selecting "None", and in LibreOffice (the spreadsheet I use, since I runs the Linux OS) that is sufficient to clear out any downstream flags such as "FALSE". Yet another of the many differences between Excel and LibreOffice Calc that I need to contend with.

No problem. I code so I understand too well the intricacies and frustration of trying to make different languages/programs communicate the same information without popping a blood vessel haha
 
I doubt that this will be much help but FALSE indicates that the cell has calculated 0 and that the program thinks that this is a boolean variable.

This may help me add code that blanks a Boolean zero value field. Or perhaps I just need to declare the cells to be classified as something other than Boolean.
 
Last edited:
The cells throwing up the "FALSE" flag in Excel are declared to be "Number" cells in LibreOffice Calc. I thought they might have been declared to be Boolean.
.
 
The cells throwing up the "FALSE" flag in Excel are declared to be "Number" cells in LibreOffice Calc. I thought they might have been declared to be Boolean.
.

You're not using any kind of a formula with an "if" statement in it are you? Any kind of comparison would be the only reason I could think of a cell that is supposed to display data, instead displaying "FALSE". Maybe the two programs handle such differently... but then the blank cells above it should be doing it as well... weird. Is there a way to set "none" as the default option from the drop down menus in column B?
 
You're not using any kind of a formula with an "if" statement in it are you? Any kind of comparison would be the only reason I could think of a cell that is supposed to display data, instead displaying "FALSE". Maybe the two programs handle such differently... but then the blank cells above it should be doing it as well... weird. Is there a way to set "none" as the default option from the drop down menus in column B?

The event only occurs (and apparently in Excel only) when values in column 'B' are deleted (or perhaps never set to begin with), leaving no value within the cells in column B. I often delete in column 'B' rather than enter the cell and select "None", since this works with no ill effect within LibreOffice, and I was totally unaware that it had such a negative effect as tossing up a "FALSE" flag within Excel.

I believe I have trapped and handled the problem in a new test version of future Mash Made Easy 5.10. But since I don't have the ability or desire to run Excel, I ask that someone step forward and beta test version 5.10 to confirm that I have solved this problem. Please PM me if you desire to test my proposed version 5.10 fix of this nagging issue for Excel users.

The current work-around (fix) is to simply enter column B cells and select "None", then save the spreadsheet. That makes the problem go away.
 
Last edited:
Continuing with the above, for those of you experiencing the "FALSE" statements in Excel, after you enter column B and select "None", if you subsequently go back into the same column B cell and merely hit the delete key, does the FALSE flag reappear in column 'H' (standard version) or column 'J' (metric version)?
 
The event only occurs (and apparently in Excel only) when values in column 'B' are deleted (or perhaps never set to begin with), leaving no value within the cells in column B. I often delete in column 'B' rather than enter the cell and select "None", since this works with no ill effect within LibreOffice, and I was totally unaware that it had such a negative effect as tossing up a "FALSE" flag within Excel.

I believe I have trapped and handled the problem in a new test version of future Mash Made Easy 5.10. But since I don't have the ability or desire to run Excel, I ask that someone step forward and beta test version 5.10 to confirm that I have solved this problem. Please PM me if you desire to test my proposed version 5.10 fix of this nagging issue for Excel users.

The current work-around (fix) is to simply enter column B cells and select "None", then save the spreadsheet. That makes the problem go away.
Continuing with the above, for those of you experiencing the "FALSE" statements in Excel, after you enter column B and select "None", if you subsequently go back into the same column B cell and merely hit the delete key, does the FALSE flag reappear in column 'H' (standard version) or column 'J' (metric version)?

I can't do that just this seconds but when I'm off shift in a little over an hour I can go ahead and do that for you.
 
I can't do that just this seconds but when I'm off shift in a little over an hour I can go ahead and do that for you.

Thanks! Also try "Clear Contents" in column 'B' and see if that tosses up a FALSE flag in column H (or J for metric) in Excel. It does not do so in LibreOffice.
 
Back
Top