MQ137 Qwiic I2C byte order issue

Customer:

What value does the sensor deliver via the I2C bus?

I am using a Python script:

import smbus
import time

bus = smbus.SMBus(1)
address = 0x30

while True:
 data = bus.read_i2c_block_data(address, 0x00, 1)
 value = data[0] << 8
 print(value)
 time.sleep(4)

On fresh air, I get a value of 36608.

Originally submitted via email support on 20 November 2025. Migrated to the forum for community visibility.

Soldered Support:

The byte order is reversed. Here is the correct Python script:

import smbus
import time

bus = smbus.SMBus(1)
address = 0x30

while True:
 data = bus.read_i2c_block_data(address, 0x00, 2)
 low = data[0]
 high = data[1]
 value = low | (high << 8)
 print(value)
 time.sleep(4)