You can spend a lot of money on those. I have a proscan unit based on the elm327 chip. You can build one yourself (do a search on elm327 at google) or you can buy one assembled with software from the proscan site. the guy is a member of this site (username = Proscan) and his web site is
http://www.myscantool.com/. I got mine a couple years back and have used the free upgrade feature on his software twice.
It does the basic stuff you need; reads the MIL code so you can lookup the problem, in most cases the software can tell you what the code means, in some cases you need a book to look it up.
It won't talk to the BCM or the tranny, but when those units set codes, you can read them. For $150 or less, I don't think there is much else out there. Real scanners cost much more than this.
John