AutoZone will read codes for free. My '98 Frontier had light on, AutoZone code reader said "EGR", and I traced it to a hidden 2 inch vacuum hose above the EGR valve. So codes can "help" find the source, but must be used wisely, like an oxygen sensor failure might be due to something else causing fuel mixture, not the O2 sensor itself.