What's the most baking soda you ever added to a dark beer recipes mash?

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.
Now this needs some clarification so I understand. What ‘unusually low pH’ are we talking about?

pH estimates for cire's beer like these:

Post pH_Est
67 5.44
117 5.34
120 5.35
125 5.34
144 5.46, 5.42

I think in ‘Imperial’ so ‘Metric’ is a second language to me.
I don't think you mean that. Imperial units are pretty much gone by the wayside. The UK, Australia, New Zealand, Canada etc. have all replaced imperial gallons (4.546 L), at the fuel pumps, at least, with metric and in the US we always used the US gallon (3.785 L). The Voltmeter spreadsheet accepts Imperial gallons as an input and it also accepts shekels for malt weight but that was done to demonstrate that you can easily add in any units of measure for which you have the conversion factors (to and from kg).

Let’s do a science experiment. Where participants all agree to....
It's not time for that yet. We currently know that there are discrepancies between the calculators and I think I know in which part the discrepancies arise. We need to resolve those before going into the laboratory/brewery. What we are doing now is sort of like what you propose but all, at this point, dry. A standard grist and standard water have been put forth and we are asking "What does your calculator predict." The Gen I calculators, at least the two posted here (has anyone put cire's beer into Brun Water?) are giving much lower answers than seem reasonable given the published malt data we have available. Measurements of pHDI by cire for two of the malts help solidify the comparisons but the Gen I calculators continue to produce what seem to be low results. Putting those measurements into the Gen II program gives 5.54 which is moving into striking distance WRT the predictions of 5.44, 5.46, 5.43 but I'd still like to know why there is a difference of 0.1. WRT to 5.34 - that's a difference of 0.2 which is, IMO, a lot and ought to be explained.

Remember that the Voltmeter/trouble shooter is intended to help developers trouble shoot their spreadsheets. That is why the proton deficit summary table was added - it puts a pretty clear picture of what is going on in a mash right in front of the user. But it is, naturally, metric based. By 'naturally' I mean that mks units are the natural units in which one does calculations of this sort. 2.2 lbs/kg and 3.785 L/US gal shouldn't be too hard to deal with.
 
Last edited:
Mash Made Easy is known to not work in OpenOffice. It is not functioning properly for you for that reason. It works in LibreOffice (a more modern and advanced "fork" from OpenOffice), and in Excel versions from 2003 forward, and (from a single unverified report) in Google Sheets. LibreOffice is free software that you download and install. I believe it runs on just about any operating system.

If you utilize acids that go beyond lactic or phosphoric, then unfortunately a simplistic program such as Mash Made Easy is not for you. I simply have no desire to turn it into a Swiss Army Knife of complexity in an effort to make it do everything for everyone, particularly since I'm offering it up for free, and intend to keep it that way. My intent is for it to remain simple. Your needs are clearly more advanced. My apology.

Well, believe it or not, that makes me feel a great deal better. I'll find and download LibreOffice and have and another go.

To be honest I don't wish for any software, there's too much on my computer already, but that's not the reason. Many of my brews are experimental and if I'm going to mess it up I'd far rather take responsibility than have a ready made excuse. Believing mash pH is much more involved than has so far been incorporated in calculators, I have less faith in them than in an educated guess. As for acids beyond lactic and phosphoric, I agree with you. Were I to use the program with that facility it would be an easy task to calculate the necessary quantity of the chosen acid. My intentended use for MME was to feed it with details with a few other brews to compare what it predicted with my measurements to provide some feedback.
 
It's a simple matter to write a function that returns the charge on any acid for which you know the pK's. Such a function

QAcid(pH As Double, pK1 As Double, Optional pK2 As Double = 60, Optional pK3 As Double = 60, Optional pK4 As Double = 60) As Double

is at the heart of the Voltmeter/trouble shooter. It handles carbonic, phosphoric, lactic, and sulfuric acids equally well so it is at the core of alkalinity and addition calculations. It could also easily, of course, handle tartaric, malic, citric, succinic... acids easily well. Just feed it the pK's. By being a bit clever it also handles bases (such as slaked lime) for which you have pKb's. Just pass pKw - pH as the first parameter and the pKb's instead of pKa's.

The sticky on cabonate/bicarbonate has enough information on how to write the function. Well, space is cheap. Here it is in VBA


QAcid(pH As Double, pK1 As Double, Optional pK2 As Double = 60, Optional pK3 As Double = 60, Optional pK4 As Double = 60) As Double

-variable declarations-

r1 = 10 ^ (pH - pK1)
r2 = 10 ^ (pH - pK2)
r3 = 10 ^ (pH - pK3)
r4 = 10 ^ (pH - pK4)

f0 = 1 / (1 + r1 + r1 * r2 + r1 * r2 * r3 + r1 * r2 * r3 * r4)
f1 = f0 * r1
f2 = f1 * r2
f3 = f2 * r3
f4 = f3 * r4

QAcid = -(f1 + 2 * f2 + 3 * f3 + 4 * f4)

End Function
 
Last edited:
pH estimates for cire's beer like these:

Post pH_Est
67 5.44
117 5.34
120 5.35
125 5.34
144 5.46, 5.42
I must have missed what the actual pH of cire’s mash was? Since he’s made several corrections to his original post over the past few days.

Can someone post which recipe and pH were working with? I’m totally confused at this point.

Mentioning Imperial is further proof metric is a second language to me definitely not second nature.
 
It has been a bit of a moving target but I have most recently looked at the grain bill of No. 102 with 19L of water as described in No. 139 with pH DIs for two of the malts as reported by cire and pHDI for the roast oats as reported by you. See the summary in No. 151.
 
It has been a bit of a moving target but I have most recently looked at the grain bill of No. 102 with 19L of water as described in No. 139 with pH DIs for two of the malts as reported by cire and pHDI for the roast oats as reported by you. See the summary in No. 151.
I think we should start all over again. This time using a different recipe with a confirmed actual mash pH.
 
I’ve read this thread from start to finish. I have e general grasp of chemistry, but some of the things y’all discussed are over my head. I’m planning on brewing a sweet stout soon, and the grist will be 80% base malt and 20% crystal/black malt. The last stout I brewed, I used RO water and built up from there and had to use baking soda to bring the mash pH up. The beer was good, but there was too much sharpness/acridity to really enjoy it.

After reading your discussion, I have two options. I can brew with my well water which has 481 mg/L bicarbonate. This gives me a predicted mash pH of 5.98 and will require acidification.

Second, I can brew with RO water and add calcium chloride and gypsum to get me to 50 mg/L calcium. This will give me an expected mash pH of 5.41.

Which option would you experts go with? I can provide a detailed analysis of my well water if needed, and salt additions to the RO water but won’t right now as I feel bad for hijacking the thread. Thanks for any insight you can provide.
 
Please post your water report. You are implying alkalinity of nearly 8 mEq/L (400 ppm). I don't think I've ever seen a water report that high. That's a lot of alkalinity for sure but it is still unlikely that your mash pH would go as high as 5.98. With RO water and 50 mg/L Ca 5.41 is a reasoable estimate.

As for the chemistry: proton condition is a well established way of figuring out what is going on in acid base reactions but you weren't taught it in high school. It happens to be particularly useful in determining the condition of a mash with respect to estimating pH, determining what to do to get mash pH where you want it and seeing the effect of various mash components on pH.
 
If it is 481 ppm (mg/L) bicarbonate as indicated a few posts above, then it is closer to 394 ppm (mg/L) alkalinity. The cation/anion balance is much closer if one assumes 394 ppm alkalinity.

That has me beat, and I thought I had the worst well water on the forum.
 
In fact his alkalinity is evidently even higher than the 400 I estimated from the 481 number he posted earlier i.e. at 481. This definitely deserves some kind of award. The associated bicarbonate is 523 and, even more interesting, the saturation pH is 7.02 i.e. this water is supersaturated with respect to calcium carbonate out of the tap! If he doesn't have a softener in the house he must keep a hammer and chisel in his bathroom. With these numbers in hand it is quite possible to see a mash pH as high as 5.9 with an alkaline enough base malt. This man could be a poster boy for an RO sales company.
 
Yep. My water is super hard. I have water troughs in the pasture for the cattle and you can literally watch the mineral scale grow on the sides of the troughs. But oddly enough, this is the best tasting water I have ever had.

I have a whole house softener and two separate RO systems. I use the RO and build my water for every brew I do and they turn out great, except or the stouts and porters. So should I acidify my tap water, build RO water and use baking soda to bring it to correct pH, or should I avoid brewing stouts all together?
 
If we are looking at a standard by which to measure the various of available (and future) mash pH assistant softwares ability to forecast baking soda additions (in keeping with the title of this thread), I propose the following for the class of Stout called Oatmeal Stout (merely because I plan to make this recipe sometime, hopefully in the near future):

Mash target = 5.50 pH at the 30 minute mark of the mash *
Mash initial temp target = 156 deg. F. (cooler conversion, so it goes down from here...)
Anticipated ~7.5 to 7.6 gallons at start of boil (@temp = ~150 F.)
Anticipated gallons to the fermenter ~= 5.6 to 5.7
No sparge, BIAB = 9.1 gallons total RO water (for my system)
Ca++ = 50 ppm (+/- 1)
Cl- = 131 ppm (+/- 1)
Minerals permitted to be added to RO to achieve the above are: Calcium Chloride (CaCl2), salt (NaCl), and baking soda only
For anhydride state CaCl2, something in the neighborhood of 4.75 g. CaCl2 and 2.5 g. NaCl should come close
For dihydrate state CaCl2, something in the neighborhood of 6.25 g. of CaCl2 and 2.5 g. NaCl should come close

Grist:
-------

Swaen Pilsner, 1.9L, 8.25 Lbs. (as a compromise, any true Pilsner malt of proper pHDi may be substituted**)
Briess Flaked Oats, 2.5L, 1 Lb.
Briess Caramel 60L, 60L, 1.5 Lbs. (What can I say here other than "I like caramel malt"?)
Briess Chocolate, 350L, 0.75 Lbs.
Briess Roast Barley, 300L, 0.5 Lbs.
Carafa III Special, 525L, 0.5 Lbs. (de-husked, and thereby reported to be not bitter)
Briess Victory, 28L, 0.5 lbs.

Hops: (Can you tell I don't like hoppy Oatmeal Stout)
--------
13 g. Magnum, 60 minute boil, 12.4% AA
13 g. Mt. Hood or Liberty, 20 min. boil, 4.6% AA

* To mash at 5.50 pH I plan to add 4 g. of baking soda up front to my 9.1 gallons of high quality RO water (TDS <= 6). Nominal alkalinity at that juncture should be ~73 ppm (with ~3 ppm from the RO water, and ~70 from the baking soda). I will also be adding up front 5 g. of ~94% CaCl2 (with 6% water) prills (not quite anhydride state), and 2.5 g. of non iodized table salt (mainly because I want ~60 ppm sodium, and the combined baking soda and table salt should get me in that range, and also give me ~131 ppm Cl-).

** I have a load of Swaen Pilsner, and I'm using it as the primary base malt for nigh on everything these days (simply because I have it). The 1/2 Lb. of Briess Victory is intended only to give the Swaen Pilsner a bit more of an overall (pseudo) pale malt character. The Pilsner malt you choose should have a DI_pH in the neighborhood of 5.80 - 5.85 for best adherence to the idea of standardization. Swaen literature indicates a wort pH of 5.9 min to 6.1 max for their Pilsner malt. If I presume 6 here and then take away 0.2 to achieve DI_pH (as opposed to wort pH), I get ~5.80
 
Last edited:
Yep. My water is super hard. I have water troughs in the pasture for the cattle and you can literally watch the mineral scale grow on the sides of the troughs.
That's what it means to be saturated.

I have a whole house softener and two separate RO systems. I use the RO and build my water for every brew I do and they turn out great, except or the stouts and porters. So should I acidify my tap water, build RO water and use baking soda to bring it to correct pH, or should I avoid brewing stouts all together?
I say stick with the RO water with just enough calcium salts to get to a calcium level around 40 ppm. Now keep your roast barley to 10% or less and use flaked barley instead of a crystal malt for the remaining 10%. Roast barley at that level should give you the chocolate/coffee flavors you like without the acridity that often goes with overenthusiastic stout brewers' efforts. And you should not need bicarbonate.
 
Assistance from A.J. deLange requested. Dark roast reality check request for pending Mash Made Easy 4.00.

A.J., I just made a bunch of tentative changes to the way Mash Made Easy handles really dark brews such as robust stouts in light of your gen 2 proton balancing engines confirmation that many of such recipes can actually brew straight up without a need for baking soda (or calcium hydroxide, etc...) to raise the mash pH. In the process of testing my latest revision I dreamed up a trial recipe of sweet "Milk/Oatmeal Stout" (something for which no BJCP category exists), and when I plugged my recipe into what may (pending a reality check from you) become the released version of new MME 4.00, it mashes straight up at (to me) a quite shocking pH of 5.47, and as such needs only minimal baking soda (0.55 grams) to move it to my 5.50 mash pH target. A good part of this is likely due to my assignment of 5.81 pHDI to the recipes Swaen Pilsner malt, as if I change the pHDI of this base malt to read 5.63 it then requires 2.4 grams of baking soda to hit my 5.50 pH mash target. Please see the image of this recipe below and let me know if this recipe containing a relatively high combination of roast and caramel malts in conjunction with a high pHDi Pilsner base malt can possibly mash at 5.47 pH (pre-adjustment) before I consider publicly releasing version 4.00. 5.47 mash pH seems high to my old school mode of thought with regard to the alkalinity required for stouts. Note that I designed this as a no-sparge recipe with 9.1 gallons of mineralized RO (or distilled) mash water and zero sparge water.
Mash Made Easy.png
 
If you accept the fact that malt pH changes when acid is added to it and assume that the change is linear with acid addition there is only one solution for mash pH that fits those assumptions and that is

pH =∑mi*ai*pHDi/∑mi*ai - Qw/∑mi*ai - Qa/∑mi*ai

In that formula mi is the mass of malt i, ai is the number of mEq of acid it takes to shift a unit mass of malt i by 1 pH unit and pHDi is the DI mash pH for malt i. Qw is is the proton deficit of the water (or, more particularly, that of the bicarbonate in it) which we are here assuming to be constant (not a function of pH which in fact it is). Qa is the proton deficit of any acids or bases which we add to the mash. Here also we assume that these are not a function of pH which is sometimes true but in general is not but this is an assumption that must be made if a non iterative solution for pH is desired.

If we put that solution into a spreadsheet with the numbers for mi and pHDi you furnish it looks like this:
Untitled 2.jpeg


I think it's pretty much self explanatory but the pH estimate assuming DI water with no additions is in Row 15 and is seen to be 5.54. That's based on the weights and pHDI's you gave me. As you gave me no information about the buffering (ai) of the individual malts but did state that the buffering of the mash is -45 mEq/kg•pH (-99 mEq/lb•pH) I set every malt's buffering to that value which does result in the entire mash buffering having that value too. In the real world ai is different for each malt and there seems to be a correlation with color i.e. darker malts have higher ai's.

I set the water's alkalinity to the smallest possible value and added the calcium salts you specified. As you can see from the corrections these insignificant effects (assumed a realistic Kolbach factor of 7) so the pH estimate corrected for them is 5.555. Compared to a target pH of 5.5 this is basic and would require the addition of a little acid. In terms of added bicarbonate required that is that 0.46 grams should be removed. So an estimated pH of 5.47 does not match the numbers you gave me for the malts and there is still a problem with how you process those numbers irrespective of any consideration as to how you got those numbers.

The columns for the spreadsheet imaged above are here so you can copy and paste them into a spreadsheet of your own if you want to play with numbers.
Col. A
-45
ai mEq/lb-pH
=A$1/2.2
=A$1/2.2
=A$1/2.2
=A$1/2.2
=A$1/2.2
=A$1/2.2
=A$1/2.2
=A$1/2.2
∑mi, Lbs
∑miaipHdi, mEq
∑miai, mEq/pH
pH est
Alk, ppm
Qts/Lb
Alk Corr
pH est
Kolb Fact
CaCl2.2H2O
Corr.
CaSO4 g
Corr.
pHest
Target pH
Err
Deficit
NaHCO3 g

Col. B
<-- mEq/kg
mi, lbs
8
1
0.5
1
0.75
0.5
0.5
0.75
=SUM(B3:B10)
=SUMPRODUCT(A3:A10,B3:B10,C3:C10)
=SUMPRODUCT(B3:B10,A3:A10)
=B12/B13
1.9
1.25
=-0.88*(B15/50)*(B16*B11*3.785/4)/B13
=B14+B17
7
4.5
=2*B20/0.14698/B19/B13
2.25
=2*B22/0.172172/B19/B13
=B18+B21+B23
5.5
=B25-B24
=B26*B13
=-B27/10.77

Col C.
pHDi
5.81
6.2
5.6
4.78
4.72
4.7
4.59
5.19
 
Last edited:
Thank you A.J.! I'm confused with respect to your comments about -6.5 grams of NaHCO3, as Mash Made Easy 4.00 is only calling for +0.55 grams added to move 5.47 pH to 5.50 pH. Would you expound upon the nature of this negative 6.5 grams please.

And lastly, is it your prediction that my recipe should mash at about 5.56 pH straight up with no adjustment?
 
Thank you A.J.! I'm confused with respect to your comments about -6.5 grams of NaHCO3, as Mash Made Easy 4.00 is only calling for +0.55 grams added to move 5.47 pH to 5.50 pH. Would you expound upon the nature of this negative 6.5 grams please.

And lastly, is it your prediction that my recipe should mash at about 5.56 pH straight up with no adjustment?

Yes, a mash made with malts with the pHDi's you specified in the quantities you specified will, if their titration curves are linear with the slopes you specified (-45 mEq/kg•pH) produce, in distilled water, a mash at pH 5.56. Note if all the a1 are the same, as is the case here, the malt term of the pH prediction simplifies to pH = ∑mi*pHDi/∑mi which is the weighted sum of the DI pH's. I mention this because in my last post I multiplied by 2.2 in converting mEq/kg•pH to mEq/lb•pH when I should have divided. Correcting that post, and I have done so, did not change the predicted mash pH with distilled water. But as it changed the buffering it does change the predicted effects of the added calcium to 0.047 pH so that the overall prediction becomes 5.519. This is above the target 5.5 by 0.019 pH meaning that rather than adding bicarbonate we will need to add some acid in the amount of 0.019*∑a1*mi = -5 mEq (the sum is the mash buffering). This is the proton 'deficit' (as it is negative it represents a surfeit - protons we need to mop up to hit pH 5.5) and can be left in mEq. Or, it can be expressed in terms of any ion or compound that is handy. As I thought we would be adding alkali (if the mash pH came out less than 5.5 as you predicted) I chose to express the deficit 'as NaHCO3'. Martin chooses to express deficits and surfeits 'as HCO3-' so why not as NaHCO3? Very convenient if you want to calculate the sodium bicarbonate addition to null out a surfeit (as I thought we would be doing). The proton absorbing power of sodium bicarbonate at pH 5.5 is 10.77 mEq/L so we need to add -5/10.77 = -0.46 grams. Now that may be confusing as all get out but it is, technically correct. It says that to get to the lower pH we must add the protons that would be released if we could somehow remove 0.46 grams of sodium carbonate (which we can't because there isn't any). Conversely lactic acid at that pH has a proton releasing power of 11.5 mEq/mL so we could express the deficit 'as lactic acid' equal to 5/11.5 = 0.48 mL. Thus adding this much acid is equivalent to removing 0.46 grams of sodium bicarbonate. As we cannot do the former we would have to do the latter if we indeed want pH 5.50.

You predicted 5.47. This is close to ∑mi*pHDi/∑mi but not equal to it. You need to examine your formula and see where it differs. Note that mi*pHDi/∑mi id the contribution of malt i to the sum. You might want to examine things malt by malt to see if you can find a discrepancy.

Also you calculate 0.74 g of NaHCO3 to get to pH 5.5 which is 0.03 higher. ∑ai*mi = -265.91 mEq/pH is the buffering of this mash. Thus you would need 0.03*365.91/10.77 = 0.74 g bicarbonate to move this mash from 5.47 to 5.5.
 
Thank you A.J. After my recent period of kicking and screaming (and even at one juncture heading in the opposite direction) I'm now becoming sufficiently satisfied with MME 4.00 with respect to its handling of dark recipes by comparison to your gen 2 model that after I kick the tires of 4.00 for a bit to assure that changes made in one area do not break things in other areas I will go ahead and publish it on my website. The impact to light color recipes is hardly noticeable, albeit that it does for this SRM color range increase the quantifiable need for acidity somewhat. Mid color recipes are only minimally impacted, as the mid SRM beer color range is where most recipes typically will not need any acid or base adjustment assistance to begin with, unless of course one begins with alkaline mash water.

As I've stated before, the most challenging area wherein gen 2 clearly stands in stark contrasting difference to much of current gen 1 mash pH assistant software is in the output advice given for really dark recipes mash pH's, and thus I've finally caved in to your reasoning and moved MME more toward your type of results here, albeit via quasi-empirical means. Where in the past the presumption was consistent in that dark recipes absolutely demand high levels of alkalinity in the mash water, you stand virtually alone in blazing the trail to falsify this perceived need, first via your actual pH measurements when pH meters first became generally affordable, and second via the hopefully soon to be publicly available gen 2 software.

Ultimately Gen 1 software must eventually transform and conform more in step with Gen 2 output in regard to dark SRM recipes minimal to perhaps non-existent need for baking soda, or get left behind, mired in a quagmire of output falsehood that demands copious amounts of added alkalinity via baking soda or other of such bases.
 
I just can't believe that

=SUMPRODUCT(A3:A10,B3:B10,C3:C10)
=SUMPRODUCT(B3:B10,A3:A10)
=B12/B13

is so hard to do that one would choose what has to be a more complicated aglorithm in preference but it's your spreadsheet.
 
Back
Top