Sensor to measure Hydrocarbon(HC) levels compatible with Arduino UNO

I want to make a project which will measure the Carbon monoxide & Hydrocarbon levels of the vehicle exhaust, and want to display the same on an LCD screen and whenever the values crosses threshold, I want to light up an LED and also send notification.
My idea behind this project is to make a system that can replace our current vehicle PUC system.

Problem is:
I am not able to find a sensor that can measure HC levels.

Looking forward for some suggestions, Thank you…

Use the given below list to find your sensor

  • MQ-2 - Methane, Butane, LPG, smoke
  • MQ-3 - Alcohol, Ethanol, smoke
  • MQ-4 - Methane, CNG Gas
  • MQ-5 - Natural gas, LPG
  • MQ-6 - LPG, butane gas
  • MQ-7 - Carbon Monoxide
  • MQ-8 - Hydrogen Gas
  • MQ-9 - Carbon Monoxide, flammable gasses
  • MQ131 - Ozone
  • MQ135 - Air Quality (CO, Ammonia, Benzene, Alcohol, smoke)
  • MQ136 - Hydrogen Sulfide gas
  • MQ137 - Ammonia
  • MQ138 - Benzene, Toluene, Alcohol, Acetone, Propane, Formaldehyde gas, Hydrogen
  • MQ214 - Methane, Natural gas

according to me the best you can go with are MQ 138 or MQ135.
MQ135 is preferred in this situation as you want it for CO as well as smoke


You cannot use one sensor to detect both. But you can use MQ9 for Carbon Monoxide levels and MQ2 for Hydrocarbon levels.

Thanks Brother.
I will bring MQ 2 Sensor, but I already have MQ7 sensor, can I use that instead of MQ 9 ?

Yes! you can. But MQ9 is a successor of MQ7. It can detect CO(carbon monoxide), CH4(methane-hydrocarbon) and LPG. Upto you.

So, even if you don’t get yourself MQ2, MQ9 should do the job for the simplest HC in environment.

Hey, can you tell me, How to send the data from Bolt to Server. I have sent MQ7 Sensor data from arduino UNO to bolt cloud via UART communication, I need to get that data on the server becase I want to send notification, when the sensor crosses Threshold.

What’s wrong in the below code ?

I’m getting the below error

Have you done serial communication before? Are you familiar with serial monitor and how Master and Slaves communicate?

Yes, I’ve done serial communication, last time also you were the one who guided me.
But I don’t know anything about Master and Slaves

Check your newly created topic.

1 Like

Hi. Will these sensors monitor oil content on my nitrogen gas? Wil one do or will I need both? The oil comes from a high pressure lubricated piston booster. We have filtration but sometimes the booster fails and the oil carry over is much larger than the filter can take. So we need to monitor for this situation.

Any idea if any of these sensors will work?

Hi @carlos.gonzalezlee ,
Can you please share the name of the sensor you are referring to?

I am just looking for a cost effective sensor that can detect oil (liquid, aerosal or vapour) on my nitrogen gas supply. I found some chemical ones that change colour but I need one with electronic feedback (say 4-20ma) so I can stop the N2 supply if the gas has too much oil content

@carlos.gonzalezlee the list of mentioned sensors may be able to detect their respective gas content in your nitrogen. I think there is no oil sensor mentioned. Not sure if any such electronic sensors exist.

Hello sir, can i interface MQ-135 (digital pin) and other sensors (analog pin) on bolt module. Please can u guide me for their graphs to be taken on cloud. Please guide me for the same. Thank you

There are various gas sensors available that can be used to measure hydrocarbon (HC) levels with an Arduino UNO. One commonly used gas sensor is the MQ series gas sensor. The MQ-7 and MQ-6 sensors are suitable for detecting hydrocarbons, including methane (CH4) and other combustible gases. Select the appropriate sensor for your requirements. The MQ-7 is specifically designed for detecting carbon monoxide (CO) and combustible gases, while the MQ-6 is designed for detecting LPG, butane, and propane. Both sensors can detect hydrocarbons, including methane.The MQ series sensors require a pull-down resistor to stabilize the output voltage. Connect a resistor (e.g., 10K ohms) between the Aout pin and GND.