The EasyBloom Plant Sensor comes in two pieces: a USB-enabled processor, and the sensor it plugs into that you stick into the soil. The in-ground sensor can give you a pretty good picture of what your garden wants and needs, reading the amount of sunlight that spot's getting and the moisture, humidity and drainage.
After it's gathered 24 hours worth of readings, just plug it into your computer and it'll tell you all about the kinds of plants that could thrive in your garden, and allow you to search based on color, height and so on to pick the right ones. The reviews on Amazon makes the EasyBloom Plant Sensor out to be a gadget better for beginner gardeners, as it's basically a digital book of flowers that helps eliminate some of the guesswork. At $60, it's probably more expensive than those books, though.