Autel Electronics makes a nice one (Amazon). I have an Autel Evo Drone and if the drone is any indication of the quality, I'd say it's a winner.
Having said that however, like Armylifer, I have a HF Zurich code reader but the expensive one (one below the 900 buck handheld tablet scanner) and it does everything and it tells you what component is bad as well as all the codes and resets everything including the the oil change thingie...
Just used it on my wife's Burb. Threw a check engine light so I plugged in the scanner and ran the diagnostics and it told me exactly what component was failed. Bought it at Rock Auto (much cheaper than anywhere else) and out it in and viola, light out. Interestingly, the dealer could not fix it (or was too lazy to or something). They replaced the fuel cap (under warranty) and obviously cleared the code which came back on the way home, so I plugged the Zurich in and it told me the evaporative purge cannister had failed. Bought a new one, installed it (king of hard underneath in the back and viola, no more check engine light. The Zurich does ABS brakes and traction control modules too as well as real time diagnostics and freeze frame and it will tell you if your vehicle can pass a smog test (none here). It's good from 1997 through new vehicles and handles about every make. Very happy with it.
Finally, all the upgrades (if any) you can do via your computer and the Zurich updater app. I keep mine up to date. Even comes with the cable to download the data.