most shadetree mechanics are switching to using an OBDII adapter that then connects to your smartphone.
search on amazon for the popular ones. Be sure you get a unit compatible with your phone: apple versus android (really bluetooth vs wifi protocols, but that's the gist)
I use an old OTC 4000 Enhanced that was passed on to me. It's more for OBDI systems but with the proper cable and "Smart Insert" cartridges, it will read generic and some manufacturer specific OBDII DTC's (trouble codes).
However, it does not support re-programing of the various control modules used in cars of recent manufacture.
You can get one of these scan tools fairly complete with cables, cartridges, etc. for around $200 used, last time I looked.
OTC no longer supports this model so I'm on the market for broken ones that I can pirate some of the hardware off of.
I haven't yet used some of the scan tools that Autozone, Harbor Freight and other discount tool places sell. But I think these are all a DIY'er would need.
I'm using Elmscan5, which uses the ELM327 chipset connected to my laptop running either OBDWiz or FORSCAN. Would love to upgrade to something more capable but its just not in the budget and these two software do provide a lot of diagnostic options.
I use the ELM327 bluetooth with the Torque App and the Hyundai Advanced plug in.
I also use the Ultra Gauge. It's a bit more uncomplicated and independent from the phone. http://ultra-gauge.com/ultragauge/
I have 4 OBDII tools:
I have a fairly expensive Innova/Equus 3160 that does OBDLive, ABS, and SRS.
It is a great tool, but I RARELY use it (pretty much only for ABS issues). Mostly it stays in the toolbox in the garage.
I have a cheap (from Amazon) ELM327 OBDII bluetooth adapter and TorquePro for Android. I use this probably 75% of the time, especially when diagnosing an issue when I need to view live data. Only problem with this combo is that it is a little slow clearing codes. This one shares time between the center consoles of the Chevy and the Mazda.
I have a cheap Harbor Freight (p/n 98568) code reader. I use this probably 25% of the time, mostly when I just want to know what the code is, or when I know what the code is and I just want to quickly clear it. This reader is insanely fast on GM vehicles; I can read and clear codes in a few seconds. It works on all the GM and Mopar vehicles I've tried it on, but for some reason it doesn't work on some Fords. This one lives in the door panel of my Chevy.
I have a cheap (Walmart) Innova/Equus 3030 code reader. I bought this during a long trip because I had a code pop up and I forgot to bring along one of my other 3 scanners. Same capability as the HF tool, only slower. This one lives in the trunk of the Mazda.
I like having the first three because they each have their strengths. The last one I don't like, and probably wouldn't buy again. If I had to recommend just one, it would be the 3160 (due to ABS capability), but the ELM327/TorquePro combo was 1/10th the price and is better any time you aren't diagnosing ABS/SRS issues.
You need to specify a budget before asking for a recommendation on a scan tool. Of course, your desired capabilities too would be helpful. You can get a serviceable code reader for $17 or you can invest multiple thousand dollars in a fancy scanner which can make you dinner
Torque on a tablet is my usual tool. I also have an inexpensive Harbor Freight tool that works fine. For my bimmer I could use NCSExpert and INPA on my bimmer but it's too much work. Torque is the easiest to use. Software is $5 and the OBDII to bluetooth is about $20. It will also let you create virtual gauges of anything on the OBDII.
I use an Autel Maxi Diag Elite MD802DS. Reads all systems on most cars. Also an auto Xray EZ Scan 4000 that I've had for about 10 years and an Actron Brake Scan 9449 ABS scanner. The Autel does more than the other two combined. I'm just a retired mechanic so can't justify anything more.
Not a fan of the phone scanners but they serve many people well. I am a scan tool junkie having about 20 of them including a Tech 2 and the new GM MDI. I always recommend a good all around scan tool like any model Innova that does OBD2 and ABS/SIR and can be had for under $250. Generic code readers are not worth it because they have no ability to read live data and that limits your diagnostic capabilities.
OBDLink SX Easy to use and the web links are handy. Used this to find my codes, fix the car, and clear the CEL light. This is a great item for LapTop users.
I do have planes to upgrade to the OBDLink S Scan Tool for the added features.