As these threads come up reasonably often, I thought i’d offer a bit more insight in to the ‘engine light’ to those interested (my credentials being I calibrate the logic in the ECU that determines whether the light comes on as part of my job).
The Malfunction Indicator Lamp (MIL) comes on – as noted in one of the posts above – when a fault has been detected that will degrade the vehicle emissions. The types of fault this could be are legislated as to at what fault level (how much more emissions than normal) the fault should come on and how often the ECU must check for a fault.
To set the MIL active, the ECU must detect the fault on 3 consecutive drive cycles (usually, sometimes some faults are 1 or 5 depending on severity) – a drive cycle being engine start to ignition off a d having passed some other parameters such as length of drive, average speed, etc. The logic uses a system of a pair of defect and healing counters. If a fault is detected the fault counter counts from 3 down to 1. If a fault isn’t detected it counts back up again, but at a slower rate; so for example it may need 3 drive cycles to set, but 5 to heal. If a fault is seen at least once then a code is stored in the ECU indicating what the detected fault was (but crucially NOT what the cause of the fault is) and this is what is seen when you use a scan tool.
There are fault codes that don’t set the MIL and these are for faults where the fault wouldn’t lead to an increase in emissions. These are there to help when you take your car in to the garage with an issue.
There are well over 100 different fault codes that could be set and some are legislated that they have to be there and others manufacturers add in to help diagnose issues – this is why sometimes a scan tool won’t show all fault codes; a generic one will just show the legislated codes whereas a manufacturer tool will show everything else as well.
So in answer to your question, it could be anything and should be taken to a garage (or checked yourself) to see what code has caused the MIL. Oil level is very unlikely as low oil level is not an emissions relevant fault – that’s why you have an oil pressure light as well. HOWEVER the fact there is low oil may be the cause of an emissions fault in some way so not to say they aren’t linked, but that you can’t draw conclusions from seeing the MIL and a symptom. And again, to reiterate, the fault codes only tell you the fault that was detected (e.g. a deviation between the expected and actual amount of air mass entering the engine) but not the cause of the issue (for that example it could be a stick EGR valve, or an air leak, or other issues) so be careful just looking at codes if you aren’t familiar with what might be the cause of a given fault.
That was long.