I bought an ELM327 and I use the iPhone app car scanner. This is likely the cheapest way to get codes and limited data. I diagnosed a cylinder misfire (dirty coil connector) in a few minutes with this thing. Then I was able to clear the trouble codes. I acquired the unit at a Chinese import website for $2 including shipping. Not sure how much it can be had for now given the current import duties. Maybe $5.
I was originally thinking of a Star C3 system but it was a little out of my budget range. Also I’m running out of room in my garage. No room for more tools.
I also wanted to see if this low dollar option was workable. It is cheap and does the bare minimum. Read codes. Check monitors. Get some limited data like temps, O2 voltage, rpm, etc.