You can get a cheap Garmin edge 800 from eBay, and then you can download any maps onto it.
I use open-source mtb, which gives mountain bike specific maps.
You can then download routes from lots of different sites, Garmin connect, Strava, view ranger, just to name a few.