That does sound low...it should be around 1.008 to 1.012 for that yeast and your OG. Is your hydrometer calibrated? Did you correct for temperature? Is your mash thermometer calibrated? Are you sure you maintained that temp for the entire 90 minutes? If it dropped into the 140s...you'll get dry beer for sure.

i understand that the low gravity could be from the low mash temp ( giving the enzymes 90 min to convert all starches to fermentable sugars.) I just spoke to a brewmeister from a Microbrewery and he told me I can deactive the enzymes to control where my FG ends up. Is there a formula for this?

Unfortunately, I don't think there's a way to predict it because it'll vary by malt type. mash temperatures used, and yeast, at a minimum. I'm searching for the same answers myself. There'll be some experimentation you may need to do to get an idea.

Now having said that, I've only recently had the capability to start doing step mashes. I made a Kolsch were I step mashed at 145F for 45 minutes and 158F for 15 minutes. The OG was 1.047, the FG was 1.007 (85% attenuation). This is my only step mash so far. I've used single temperature mashes for years. My bedrock temperature was 150-152F and I would usually end up at around 75% attenuation.

I plan to do an experiment where I mash at 145F for 15 minutes and 158F for 45 minutes. The FG should increase, but how much I don't know.

By calibrating, I mean check it against a reference temperature of either a known good thermometer or a solution of known temperature (boiling water and ice water).

Boil some water and put your thermo in it. It should read 212F (unless you're at a higher altitude). Then pour a glass of water and add ice. Wait a few minutes for it to equalize then place your thermo in it. It should read 32F. If you see the reading start out warmer (ie. 40F) but still dropping, let it sit until you see no more change. Then adjust your thermo if it has a calibration screw. If not, then just figure out the difference in temperature and apply it to all future readings. For instance, if your thermo read 215F when water was boiling at 212F, then you know it reads 3F high. So in your mash, if it reads 153F then it's really 150F. Conversely, if it read 200F when water boiled at 212F, then it's 12F low. So if your mash read 150F, then it's really 162F.

Oh, I almost forgot...earlier you mentioned deactivating enzymes. This is called a 'mash out' or 'mash off'. To do it you raise the temperature of the grain bed to 165F to 170F and hold it for 10 to 15 minutes. This stops enzymatic activity and makes the sugars less viscous so they flow easier which leads to a slightly higher efficiency. Mash outs are a highly debated topic. For right now, my advice would be to learn the basic process then add these complicating factors in later I can tell you for the first 5 years of my AG brewing, I never did a mash out--because I didn't have the ability to do it. But now I do so I'm trying it.

I brewed my second AG yesterday and ended up with 85% efficiency, I must be doing something right. The bad thing is I added extra grane to my recipe to compensate for bad efficiency in my first batch. Oh well lots of alcohol. ( 1.070 for an Amber Ale)

Mmmmm...gotta love those Imperial Pale Ales Glad to hear your efficiency is up there. Don't fret...soon you'll have your system's average efficiency dialed in and then it won't be an accident when you make a high gravity beer