Air quality · ams CCS811

CCS811 — i2c address & wiring

Metal-oxide gas sensor that reports eCO2 and TVOC estimates over i2c.

Key facts

CCS811 at a glance

i2c address
0x5A0x5B
address-selectable via pins/jumpers
Logic voltage1.8–3.6 V
Typesensor
Partams CCS811
Ships withQwiic, STEMMA QT
Datasheetams CCS811 — manufacturer documentation ↗

The chip

What the ams CCS811 actually is

Digital gas sensor pairing a metal-oxide (MOX) sensing element with an on-chip microcontroller that processes the readings into equivalent CO2 (eCO2) and total volatile organic compound (TVOC) values. The ADDR pin selects 0x5A (low) or 0x5B (high). Supply runs 1.8–3.6 V.

Watch out: Two things stop it answering at all. nWAKE is active-low and must be held low during any i2c access — tie it to GND if you don't need sleep (Adafruit's STEMMA QT version handles this for you). And the default address depends on the board: SparkFun's ship at 0x5B with a jumper for 0x5A, so trust your scan, not a library default. Its eCO2 figure is inferred from VOCs, not measured — for real CO2 use an SCD40.

Wiring

How to connect the CCS811

HOST · Arduino / ESP32 / Pi CCS811 3V3 VCC VCC · 1.8–3.6 V GND GND GND SDA SDA SDA · data SCL SCL SCL · clock 0x5A / 0x5B pull-up resistors to VCC on SDA & SCL — usually already on the breakout
CCS811 i2c wiring diagram: connect VCC to the host's 3V3 pin (1.8-3.6 V), GND to ground, SDA to SDA and SCL to SCL. i2c address 0x5A or 0x5B.
CCS811 wiring — host to board over SDA, SCL, power and ground — free to save and share under CC BY 4.0 with credit to i2c.net.

The CCS811 talks i2c at address 0x5A (up to 2 selectable addresses, handy when you need more than one on the same bus). It runs at 1.8–3.6 V, so match your host's logic level — if your host is 5 V and a board on the bus is 3.3 V-only, add a level shifter. Use the compatibility checker to confirm the exact cable for your setup.

Because the address is selectable, you can run several CCS811 boards on one bus by setting each to a different address — no extra wiring beyond the shared SDA/SCL.

Wiring is the usual four: power, ground, SDA and SCL, plus pull-up resistors — almost always already fitted on the breakout. Nothing showing up? Run an i2c scanner first; if the bus is silent, the 7-step checklist finds it faster than guessing.

Ecosystems

Plug-together options for the CCS811

CCS811 breakouts ship with Qwiic and STEMMA QT — keyed 4-pin cables carrying power, ground, SDA and SCL, so there's nothing to solder and nothing to wire backwards. Chain it to the next board and keep going.

Running a mixed bench? Those ecosystems interoperate more than their marketing suggests — see every connector pairing for the cable or adapter you need, or the standards overview for how they compare.

Alternatives

Other air quality boards

Watch the bus

Boards that clash with the CCS811

These want addresses the CCS811 also answers (0x5A, 0x5B), so they can't share a bus with it untouched. If one is address-selectable, strap it elsewhere; if not, the conflict guide covers the multiplexer and second-bus routes, and the collision roundup explains why a scan won't warn you.

Get one

Questions

CCS811 i2c FAQ

What is the CCS811's i2c address?

The CCS811 uses 0x5A or 0x5B, selected with an address pin or solder jumper on the board. If a scan turns up something unexpected, our i2c address list names the usual suspect for every address.

What voltage does the CCS811 run at?

The chip runs from 1.8–3.6 V. Breakouts differ on 5 V tolerance — some add a regulator and level shifting, others don't — so check your board before wiring it to a 5 V Arduino.

Can I use two CCS811s on one i2c bus?

Yes — set each one to a different address (0x5A, 0x5B) using its address pin or jumper, then wire both to the same SDA/SCL. That gives you up to 2 on a single bus before you need a multiplexer.

Does the CCS811 work with Qwiic and STEMMA QT?

Yes — CCS811 breakouts ship with Qwiic / STEMMA QT, so it plugs straight in with no soldering. Mixing ecosystems? The compatibility checker gives you the exact cable or adapter.

What should I watch out for with the CCS811?

Two things stop it answering at all. nWAKE is active-low and must be held low during any i2c access — tie it to GND if you don't need sleep (Adafruit's STEMMA QT version handles this for you). And the default address depends on the board: SparkFun's ship at 0x5B with a jumper for 0x5A, so trust your scan, not a library default. Its eCO2 figure is inferred from VOCs, not measured — for real CO2 use an SCD40.