ALL THE TEXT BELOW IS COPIED AND PASTED OFF OF MY AMAZON.COM REVIEW OF THIS PRODUCT.
So far I've used this with my laptop and iPhone on my '04 Chevy Cavalier and '11 Scion xD. Works quickly and easily with my laptop, but getting it to work my my iPhone 4 took some toying with. Simple guide is below: (My iPhone is a 4 running iOS 5.0.1 and jailbroken with redsn0w)
LEAVE THE IPHONES DEFAULT BLUETOOTH OFF DURING THIS ENTIRE PROCESS!!!!!
If you'd like this to work on your iPhone, you'll need to jailbreak it, and use the jailbreak to install an app called roqyBT4, along with its OBDII extension called roqyOBD4. After this, go plug the ELM into your car and move the ignition to the "on" position and open roqyBT4. Choose the configuration tab, check the OBDkey option, and enter 1234 for the device pin code, and turn on automatic pairing. Then back out of the config screen, turn bluetooth on from inside roqybt4, and when your ELM pops up (mine is shown just as a device named "OBDII"), select it. Give roqyBT4 a few seconds to sync with the device, but once its done you will never have to do this portion again! It should show you a screen with a IP address and port on it. Remember these numbers! Once roqyBT4 has connected to the device, go ahead and exit roqyBT4.
Now its time for DashCommand, which you can purchase from the Apple App Store. go ahead and open up dash command and use the little arrow in the bottom right corner to scroll over to the settings page. Inside of settings, I recommend turning fullscreen mode off, because this allows you to see the iPhones status bar, which is important in the later steps to hook up the ELM to the iPhone. Now scroll down to the line that says OBDII data port, and click it. Once in there, select Custom IP, and enter 127.0.0.1 (or your Ip if it was different) for the IP and 35000 (same deal here) for the port. Back out of the data port page to the main DashCommand page, and close the app. Double click your home button, and clear DashCommand out of your task switcher. Now open dash command back up, and you'll notice on your statusbar that your bluetooth will kick on-off-on again, and then the symbol should turn blue after a few seconds of searching and automatically connecting to your ELM. (Remember that automatic pairing you turned on earlier in roqybt4?) Once you see the bluetooth symbol on your statusbar turn blue, go ahead and hit connect inside of the DashCommand app. It may take a few tries (typically it takes me two) but eventually your phone will start reading the information off of the ELM.
Things to check if this is not working-
-check the custom ip and port inside of roqybt4. Everyone I've talked too had those numbers, but it is possible they may change. The numbers inside of roqyBT4 are the ones that you need to give to DashCommand, so if your numbers inside of roqyBT4 are something other than what is mentioned above, then use your numbers from roqyBT4.
-Make sure your ELM has power and data! Most cars require the key to be in the "ON/RUN" position to power the ECU and therefore make the ELM work, not "Accessory/ACC". If this still doesn't work, try starting the car. for example, my Chevy will power the ELM with no key in at all, but the data link is not established until I move the key to the "Run" position.
Bottom line, this is a great product, the only issue I have with it is the Update rate when connected to an iPhone or Droid. It has about a 5-7 second delay when hooked up to those devices. When connected to my laptop however, it has a few millisecond delay.
END OF AMAZON REVIEW
just thought I'd share, seeing how well this 14 dollar product worked on my cav. I think i might buy a second one just so I can leave one in each glove compartment in case I pop a CEL on a road trip or something.
Here is the link to the OBDII dongle I bought off of amazon:
http://www.amazon.com/gp/product/B004B7YXOM/ref=cm_cr_mts_prod_img
It works wonderfully on my Cav, and will read and clear codes both on my iPhone and Laptop. As you can see on amazon it comes with some OBDII software for the computer, which is decent. Please feel free to ask me questions regarding the whole process of using this stuff. I'm not a great mechanic, but I am a huge techie so this is in my ballpark