Hardware wise I have the
OBDPro and would highly recommend it, it offers ELM functionality with upgradable firmware also
From a software standpoint none of the low cost softwares out there offer tuning capability. The palmer performance engineering products provide the ability to view car specific data on Fords & GM but wish there were more economical options on that front
For carputers one of the free option is roadrunner with the OBD & MPG plugins which is what I use
Dashcommand is another option