Skip to the content
2 layers61 × 61 mmCo2-sensor, the printed circuit board in 3D

An open-hardware, ultra-low power CO2 sensor

Size
61 × 61 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
63
Pads
254
Tracks, vias
606, 140
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
2 Feb 2025
Updated
15 Mar 2025

Overview

Co2-sensor is an open-source printed circuit board by blinry, from the blinry/co2-canary repository on GitHub. It is a 2-layer board of 61 × 61 mm with 57 parts on 63 nets, routed with 606 tracks and 140 vias.

It is built around the ESP32-C6-MINI-1U-H4, AP2112K-3.3 and MCP73831T-2ACI/OT-HXY, with the B5819W, AO3400A and AO3401A among its other parts. Its parts include 18 capacitors, 12 resistors, 5 diodes, 5 switches and 4 ICs. It belongs with the sensors and measurement boards and the ESP32 and RISC-V boards of this library.

Main components

6

README

README.md

🐤 CO2 Canary

An open-hardware, ultra-low power CO2 sensor.

Features

  • Battery life of at least 6 months
  • Uses the Senseair Sunlight CO2
    • Measurement range: 400-10000 ppm
    • Accuracy of +/- 50 ppm
    • Self-calibrating
  • Shows a graph of the CO2 level over time
  • Connectivity possible via Wifi, Bluetooth Low Energy, or Zigbee/Thread (not implemented yet)
  • Connect a LiPo battery via the JST PH 2.0 connector, and charge via USB-C
    • Or connect your own power source to the BAT and GND pins

Hardware

You can find the hardware design files in the hardware directory. The design was made using KiCad, and I've been using JLCPCB for manufacturing.

I'm hoping to write detailed instructions for how to order and assemble the device here soon. Until the following problems are fixed, I'd suggest you wait before you order one.

Known problems for v0.1.0

  • The battery level indicator chip is not connected correctly – it will not work as-is.
  • The reset and boot buttons are not labelled on the board.

Firmware

The firmware is located in the firmware directory. It's written in no-std Rust, using the esp-hal crate.

Acknowledgements

Many people helped me while working on this project! I'm deeply grateful for your support, this project would not have been possible without you.

Licenses

The CO2 Canary is open hardware:

Parts

57
QtyValueFootprintReferences
81uF/50VCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C4, C5, C6, C7, C10
45.1kResistor_SMD:R_0603_1608MetricR3, R4, R15, R16
4B5819WDiode_SMD:D_SOD-123D1, D2, D3, D6
310kResistor_SMD:R_0603_1608MetricR1, R6, R7
3MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3
3SW_Pushfootprints:SW-SMD_TS24CASW3, SW4, SW5
2100kResistor_SMD:R_0402_1005MetricR5, R14
2100nFCapacitor_SMD:C_0805_2012MetricC17, C18
210uFCapacitor_SMD:C_0603_1608MetricC11, C12
22kResistor_SMD:R_0402_1005MetricR8, R12
24.7uFCapacitor_SMD:C_1206_3216MetricC14, C15
24.7uF/50VCapacitor_SMD:C_1206_3216MetricC8, C9
2SW_PushButton_Switch_SMD:SW_Push_1P1T_XKB_TS-1187ASW1, SW2
110uH 1AInductor_SMD:L_1008_2520MetricL1
11uFCapacitor_SMD:C_0603_1608MetricC13
12.2ΩResistor_SMD:R_0603_1608MetricR2
122uFCapacitor_SMD:C_0805_2012MetricC16
124-pin FPC ConnectorConnector_FFC-FPC:Jushuo_AFC07-S24FCA-00_1x24-1MP_P0.50_HorizontalJ1
1AO3400APackage_TO_SOT_SMD:SOT-23Q2
1AO3401APackage_TO_SOT_SMD:SOT-23Q1
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U2
1Conn_02x01Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4
1ESP32-C6-MINI-1/UPCM_Espressif:ESP32-C6-MINI-1U1
1JST 2-PHConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ3
1MAX17048Package_DFN_QFN:DFN-8-1EP_2x2mm_P0.5mm_EP1.05x1.75mmU4
1MCP73831T-2ACI/OTPackage_TO_SOT_SMD:SOT-23-5U3
1Senseair Sunlightfootprints:Senseair_SunriseA1
1SolderJumper_2_BridgedJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP1
1USB-C ReceptacleConnector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASVJ2
1Vf=2.8V, If=1mALED_SMD:LED_0603_1608MetricD5

The 56 most common of 57 parts.

Similar boards

  • 4 layers64 × 43 mmDalws, the printed circuit board in 3D

    Dalws

    anhldptit2610/dalws

    This project is my attempt to learn about microcontroller and PCB design. Now I realize that making a full, complete electronic project is super hard.

    83 parts2MIT
  • 2 layers36 × 23 mmZigbee toy, the printed circuit board in 3D

    Zigbee toy

    cristianchelu/oddware

    Personal collection of projects that don't deserve their own repositories.

    73 parts2AGPL-3.0
  • 2 layersEphemerkey, the printed circuit board in 3D

    Ephemerkey

    ephemerkey/ephemerkey

    The consumer half of the ephemerkey system, and the second PCB in this repo (alongside hardware/ephemerkey/, sharing the same scripts/kschgen.py engine, Makefile, and lib tables — the multi-project layout used by…

    70 parts
  • 4 layers25 × 0.5 mmMLS Schematic, the printed circuit board in 3D

    MLS Schematic

    NerdST/MIDILights-PCB

    The PCB KiCAD schematic and board files for the MIDI Lights module.

    94 parts
  • 2 layers64 × 46 mmWeatherframe, the printed circuit board in 3D

    Weatherframe

    amselgesang/weatherframe_v01

    My weather station hardver

    50 partsMIT
  • 2 layers85.6 × 54 mmNeuralCard, the printed circuit board in 3D

    NeuralCard

    Brillar0101/NeuralCard

    A credit-card-sized PCB that runs a neural network: ESP32-S3, 6-axis IMU, and 24 LEDs wired as the network itself. Draw a digit in the air and watch the activations light up

    72 partsCERN-OHL-P-2.0
  • 4 layers68 × 46 mmUtter, the printed circuit board in 3D

    Utter

    IFAKA/utter

    Utter: covert silent-speech text input from surface EMG (open-source ALS voice)

    107 parts
  • 2 layers87.9 × 87.5 mmCreative controller, the printed circuit board in 3D

    Creative controller

    ZMGID/grokbot-home

    Grok Bot account migration home (secrets encrypted)

    59 parts

Questions

How big is the Co2-sensor PCB?

It measures 61 × 61 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Co2-sensor use?

57 parts, built around the ESP32-C6-MINI-1U-H4, AP2112K-3.3, MCP73831T-2ACI/OT-HXY and B5819W. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Co2-sensor KiCad files?

From the blinry/co2-canary repository on GitHub, at the commit this page was made from: the board is hardware/co2-sensor.kicad_pcb and its schematic hardware/co2-sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Co2-sensor design in my own project?

Its repository states no licence, so its author keeps all rights: ask blinry before reusing the design.