I've been doing a little bit with Linksys WRT54G's that I've gotten for <$6 from neighborhood thrift stores.
I've been re-flashing them with OPenWRT. Here I have one with an analog temperature sensor, which is on top of an Arduino (Diavolino kit!) which is sending text to one of the WRT's serial ports. I've since added one additional wire, and the Arduino is running happily (and reporting temperature quite accurately) from the WRT's 3.3v supply.
This whole thing could be made much, much smaller, though I'm presently more interested in the ambient room temperature out there, vs. the internal temp of the WRT.
So, I can ssh into the WRT from inside the house, cat /dev/tts/1, and read the temp out in the shack. In addition, functioning as as a wireless network bridge is fairly useful as well!