Yes, I have an older version of the ScanTool.net tool. My tool will only work with the PWM (Ford) protocol. I bought it for use with my Ranger and it works fairly well.
The upside of this device is that it is very flexible. It can read or write almost anything to the OBDII interface.. all it needs is software on the host device (read: PC) to do it.
The downside is that you have to have a host PC, palm-pilot, or something similar to make use of it. I used my old laptop with fairly good results. N3ELZ, a longtime member of this site actually wrote a program to use this ScanTool device with a Palm-Pilot. Although last I heard he had found an open source tool that was more complete and was recommending that instead.
Anyone that goes this route should definitely spring for the more expensive 'multi-protocol' version. This seems to support all formats including the now prevalent CAN protocol.
Another option is the scangauge-II
. I have one of these as well. I am pretty sure this device supports all protocols as well. I know it works in my Ranger (PWM) and Miata (ISO). This is a standalone device which reads and clears codes.. but also monitors stats on the OBDII port and shows real-time and logged stats including gas mileage, coolant temp, speed, RPM and lots more. I keep this device plugged into my Miata all the time and am looking into making a permanent mount for it in the car.
The upside is that no PC or host is required. It is a self-contained device including the controls and LCD display.
Personally I would avoid a reader that ONLY does codes and clears the MIL/CEL, unless you are on a very tight budget.
One thing to look for is the capacity to read the OBD 'ready' indicators. When you clear codes and the MIL/CEL you clear all the emissions test results from memory. The computer then goes into 'not ready' mode until it completes its 'drive cycle' and tests all the various emissions components. To do this you need to drive the car under various conditions.
Most states (at least NH) require no CEL/MIL AND a report of 'ready' from the computer to pass your annual inspection. If you just clear the codes and drive into the inspection, it will report 'not ready' and you will not get your sticker. Both devices I have can read this ready/not-ready attribute. I do not know if that is universally true..