# MQ-9 gas sensor: specs

> A tin dioxide (SnO2) semiconductor gas sensing element for carbon monoxide and combustible gases such as methane and propane, read as a resistance…

[HTML version](https://soldr.ai/docs/components/mq-9)

[Docs](https://soldr.ai/docs) / [Components](https://soldr.ai/docs/components)

A tin dioxide (SnO2) semiconductor gas sensing element for carbon monoxide and combustible gases such as methane and propane, read as a resistance change. The sensor is heated with a high (5.0 V) and low (1.5 V) cycle.

Every value cites its sourcePinout not published

[Buy on Compoden](https://compoden.com/products/mq-9-gas-sensor-module-for-co-methane-lpg-detection)

## Specs

| Spec | Value | Source |
|---|---|---|
| Detection range, CO | 10-1000 ppm | source Technical Data table (p.1) |
| Detection range, combustible gas | 100-10000 ppm | source Technical Data table (p.1) |
| Heater voltage VH, high | 5.0 V +/- 0.2 V AC or DC | source Technical Data table (p.1) |
| Heater voltage VH, low | 1.5 V +/- 0.1 V AC or DC | source Technical Data table (p.1) |
| Heater time per cycle | 60 +/- 1 s (high), 90 +/- 1 s (low) | source Technical Data table (p.1) |
| Loop voltage VC | 10 V DC max | source Technical Data table (p.1) |
| Heater consumption PH | 350 mW max (the sheet figure for its 5.0 V / 1.5 V heater cycle). Derived, not in the sheet: held at a constant 5 V the heater (31 ohm) draws about 160 mA, about 0.8 W | source Technical Data table (p.1) |
| Heater resistance RH | 31 ohm +/- 3 ohm at room temperature | source Technical Data table (p.1) |
| Sensing resistance Rs | 2 kohm to 20 kohm in 100 ppm CO | source Technical Data table (p.1) |
| Preheat time | Over 48 hours | source Technical Data table (p.1) |

## Power

| | Value | Source |
|---|---|---|
| Supply | Heater VH 5.0 V (high) and 1.5 V (low) cycling; loop voltage VC up to 10 V DC. A module that holds the heater at 5 V draws more than the 350 mW cycle figure | source Technical Data table (p.1) |
| Current | about 160 mA heater current if held at a constant 5 V (derived: 5 V / 31 ohm RH, about 0.8 W); the sheet gives 350 mW max as its 5 V / 1.5 V heater-cycle figure. Derived value, not printed in the sheet; module wiring is not documented. | source Technical Data table (p.1) |

## Pinout
We don't publish a pin table for this part: no official source we could verify gives one. Check the labels printed on your module, and see the notes below.

The module board (comparator, potentiometer, header order, whether the heater cycles) is not covered by an official document; the datasheet describes the bare sensing element only.

## Build with it
Project ideas for the MQ-9 gas sensor. Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [Sensor reading trend display](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20gas%20sensor%20reading%20trend%20display%20with%20an%20Arduino%20Uno%20compatible%20board%2C%20an%20MQ-9%20gas%20sensor%20and%20a%200.96%20inch%20OLED): Learning project that shows relative readings over time; it is not a safety device. The Uno 5 V supply matches the 5.0 V heater in the datasheet, which draws about 160 mA at a constant 5 V (derived from 31 ohm); power the Uno from USB or a 5 V adapter rated 500 mA or more.
- [Wi-Fi raw reading logger](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20Wi-Fi%20air%20sensor%20logger%20with%20an%20ESP32%20and%20an%20MQ-9%20gas%20sensor%20module): Learning project. The module is powered from the 5 V pin of the ESP32 board (heater about 160 mA, derived), so use a USB supply that can carry it. The ESP32 ADC is 3.3 V and must never see more than 3.3 V: first measure the module output with a meter, then divide it down with two resistors from the pack so the maximum is under 3.3 V.
- [Preheat baseline tracker](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20sensor%20baseline%20tracker%20that%20records%20the%20MQ-9%20reading%20during%20its%2048%20hour%20preheat%20with%20an%20ESP32%20and%20an%20OLED): The datasheet specifies a preheat of over 48 hours, so this shows how the reading settles; learning project only. Power the module from the 5 V pin of the ESP32 board (heater about 160 mA, derived).

## Common mistakes

- Reading values straight away: the datasheet calls for a preheat time of over 48 hours ([source](https://www.pololu.com/file/0J314/MQ9.pdf))
- Assuming the module follows the datasheet circuit: the element is specified with a 5.0 V / 1.5 V heater cycle, and the module board is not documented by an official source ([source](https://www.pololu.com/file/0J314/MQ9.pdf))
- Calling the raw number ppm: the datasheet gives sensing resistance Rs and an adjustable load resistor RL, so a calibration against a known gas is needed ([source](https://www.pololu.com/file/0J314/MQ9.pdf))

## Not covered by the official source

- Datasheet is undated and has no revision number.
- Module circuit (comparator, DO/AO pins, heater cycling) is not documented.
- Datasheet gives no logic level for the module and no heater current (only 350 mW max for the cycle); the 160 mA figure on this page is derived from the 31 ohm heater resistance at 5 V.
- Gas-concentration curves are graphs only; no numeric ppm conversion is stated here.

## Sources

- [link](https://www.pololu.com/file/0J314/MQ9.pdf) (Henan Hanwei MQ-9 Semiconductor Sensor for CO/Combustible Gas datasheet, undated)
