Time and again on the forums I see posts concerning members "scanning" their car and getting some codes, or incorrect codes, or no codes. Maybe they have "XYZ" handheld scan device, or "ABC" app with a Bluetooth adapter. Sometimes I give what advice I can, but realized that I don't really know what some of these apps can do. So I figured why not try a few out on my 2006 Gen2 and report. If I missed something let me know. Now, the gold standard for scantool functionality is Toyota Techstream, a PC based system used by the dealers to do whatever is needed. Consider it to be a "rolling toolbox" that has everything you need- all the "specialty functions" to scan codes, data, freeze frame, INF (sub) codes, bidirectional controls, resets, system procedures (example- brake bleeding or adding keys), programming, etc. By that analogy, other pricey scanners might be "toolboxes" as well with most all the same features- while the cheap ones are more like a 50 piece tool set from Harbor Freight. In the same vein, apps are like swiss army knives or Leatherman pocket tools (or cheap knockoff copies)- they are handy and can do a few things (and in a pinch are better than nothing- maybe) but you won't mistake them for "real" tools. They cost less than most scantools and are fairly easy to get setup and running. I have a couple Bluetooth adapters I use with my Android phone. One is a BAFX Products which is a cheap but functional ELM327 version 1.4 clone. The second is an ODB Link MX+, a pricey "fully functional" adapter that has faster update speeds. The apps are: Dr Prius, Hybrid Assistant, Torque Pro, Car Scanner Pro, ELM Scan Toyota, OBD Link/OBD Fusion. All except the first two have generic or global OBD2 functions; these are things specifically mandated by the US government for access to the engine computer (ECM). Pending and current codes, mode 06 test results, freezeframe data (a snapshot of engine data when a code was set), status of inspection monitors, "generic" data list. Things that are available (and the same) on most any OBD2 compliant car. These "generic OBD2" apps also have "enhanced" functionality (usually for a fee) that give added features, such as access to Toyota / Prius specific ecu's for data and codes. For this test I unplugged some things here and there, got a report from Techstream, then tried out the different apps. I had unplugged; ICE ignition coil, RF WSS, HV battery safety plug, & battery fan. Techstream gave me: ECM-P0352, Hybrid Ctrl-P0A0D & P3000, HV batt-P0A84, ABS/VSC/Trac-C0200, C1259, & C1310, and A/C B1421 (just because). There was lots of freeze frame data everywhere and much much rejoicing. First up is Dr Prius. This app is all about basic HV battery data, laid out in a fairly easy to view screen. Block voltage and resistance, battery temps, SOC and amps. The big pain is the autoscaling for voltages- the gap for 0.15V difference can look -OMG- the same as a 1.5V difference. Menu options let you read or clear ECM and Hybrid control codes -and also HV battery?? I had the P0352, and P0A0D, P3000P0A84 (yes, two codes were glommed together). I swear I have seen threads where people had pulled P3000 with Dr Prius but couldn't get any battery codes. There are some controls to turn off reverse and seat belt beepers, disable traction control, run the ICE in maintenance mode, and control battery fan. The paid version gives you HV battery "health" test and Life expectancy (approx capacity) test. Also does datalogging. Second is Hybrid Assistant. This free (android only) app has lots of data on the HV battery, ICE and Hybrid control to let you monitor how you drive. The screen is very "busy" and would take me some time to get used to - has many icons (some of those can open into subscreens). Lots of good stuff- battery power, SOC, ICE fueltrims, temperatures of most everything, regen/friction braking. I think there's a control to turn battery fan on high. Performing the battery test logs data that the built in Hybrid Reporter renders into a detailed "trip" report with beautiful charts and graphs. My favorite is the graph of block voltages and voltage differential. That's it, data - NO code functions at all. Side note- HA doesn't work with my OBD Link MX+ adapter- somewhere on the site it mentions that there is a problem with OBD Link firmware above a certain version. Third is Torque Pro. This app has data, performance test, and datalogging based primarily on OBD2 generic ECM data. It has highly customizable data displays. Turning on extra Gen2 Prius PIDs gains you added data for Hybrid control, HV battery, and cruise control. There is a paid Toyota plugin, but that doesn't seem to have anything for Prius?. (I don't recall what was different from the free vs paid versions of Torque). I don't see any added ICE/ECM data, no bidirectional controls, and the only code that came up on a scan was the P0352 in the ECM- nothing from any other ecu. To me, this app takes lots of time to set up, and "out of the box" doesn't have much code function. Next is ELMScan Toyota- got this years ago for my Corolla. It's a paid app that has generic OBD2 and enhanced Toyota ECM data (but nothing Gen2 Prius specific), current and historical codes. It can also access Electric Power Steering (EPS), ABS, and I think SRS as well. It showed the P0352, C0200, C1259, and C1310- not all had code descriptions. This has the only bidirectional ECM control I've seen- it can force fuel trim positive or negative to test Air fuel and oxygen sensor function. (it shows Gen1 Hybrid and HV batt ecu's but nothing Gen2). Some data logging and graphing. CarScanner Pro is another OBD2 app with Toyota enhanced stuff - it will "scan" for 131 possible ecu's but on my Gen2 it only "found" generic OBD2, the ECM, Hybrid control, and HV battery. (at least it tells you what ecu's it can talk to) Seems like it some "Toyota" ECM data (but not Prius specific), and hybrid/ battery/ cruise control data. It pulled the P0352, P3000, and P0A0D. Not the P0A84. But clearing the hybrid codes did clear the battery code. Says it has some datalogging and graphing. Paid version gets some stuff on mode06 and more(?). Last is OBDLink and OBDFusion. These are (almost) the same app. Generic OBD2 with paid enhanced access. Access is sold for each make for each model year individually. (2005 Toyota is separate from 2010 Toyota from 2009 Ford, So multiple cars can get pricey quick. OBDLink only works with the OBDLink family of adapters. OBDFusion works with generic adapters, but only has limited functionality with cheaper ELM327 "clones". I had purchased OBDFusion(and 2006 Toyota access) with the BAFX adapter. On my 2006 Gen2 I could connect to ECM, cruise control, hybrid control, HV battery, ABS, EPS, SRS. (and OCS?- but data was all zeros?) Looked to have data on all of those, including some Prius ECM data like CHST temp and 3-way valve. Shows current, pending, and historical codes- P0352, P0A0D, P3000, P0A84, C0200, C1259, and C1310- all with correct definitions. Only had ECM freeze frame data. No bidirectional controls. The BAFX adapter wouldn't work (comm error) when I tried to connect to any "secondary" ecu's on the BEAN bus (A/C, TPMS, power control, etc). You apparently need some form of "good" adapter that has genuine ELM327 ver. 2.0 or better. I later got the MX+ adapter with OBDLink app- fairly pricey, BUT- it presently gives you free access to ALL the enhanced add-ons. All years, all makes available. I see lots of different cars so it's worth it to me. This got me (some) access to the Gen2 secondary ecu's. It looks like codes are available from TPMS, body, gateway, A/C (picked up the B1421), smart key, TCM (parking pawl ecu), immobilizer, power source control. Data- ehh. Some stuff worked- TCM, a few body PIDs, A/C was a static snapshot- not dynamic?, TPMS was useless (no tire pressures or IDs)- other ecu's had zeros for PIDs. Limited- not sure what's going on or what else it can do, but seems overall to have the most coverage of these apps. So there you go. Each app has it abilities and limits- almost no bidirectional controls- no INF / sub codes- no special tests or functions. Only ECM freeze frame data- if any. Yet each can be useful if you know what they can and can't do.