Cyclemeter App all by itself works great if you don't need cadence or heart monitor.

Cyclemeter app and a wahoo ANT bike pack for iPhone 3-4 will get you a more accurate speed and cadence sensors. A heart monitor is also available.

If you have an iPhone 4s, Cyclemeter app and blue smart sensors. Cadence, speed and heart.

If you have the 4s the setup is cheaper and it uses less of your iPhone battery.
I have the Ant bike pack on my hybrid and love it. and I'm putting the blue smart sensors on my road bike when it arrives.

There is an extended iPhone battery that connects to the phone mount available.