I'm very close to having the initial prototype functional - that is to say, a product that is not reprogrammable on the fly and that exists without an LCD and keypad. However, I realize now that I'm running very low on pins and that I have two possible solutions available:
1) shift the cell phone communication over to the Arduino RX/TX pins: this is the easiest way to do this but reduces flexibility quite a bit. There will be NO remaining open pins (ie: no room for other sensors or motors) and development/debugging with a computer will be greatly hindered since those pins are usually what is used.
2) build an additional shield to manage lcd AND keypad: this is more elegant and leaves room for expansion. Basically, we can build something very similar to this by using the same chip. We can attach an LCD exactly the same way Adafruit did, so that we can piggyback on their library, except just add in a keypad instead of 5 buttons.
Right now, I'm going with number 1 and once we have a working prototype that's being tested, I will implement number 2 and see if it's as slick as I think it will be.
We've decided to drop the dependency on a keypad and lcd screen in favor of interfacing with Fido using a separate cellphone. See the comment that inspired this and check out our new conversation: Program your Fido by sending it text messages .