I've been using a Garmin Edge 800 for two years and love it. It does everything that you mentioned although I wouldn't swear to it's accuracy regarding elevation. It's a wireless unit. With the release of the the newer Edge 810, you can usually find the 800's for well under $300 but, of course, I don't know what your budget is. Hope this helps.