{"id":18645458,"url":"https://github.com/cscott/watchy-co2-pcb","last_synced_at":"2026-01-24T00:10:00.711Z","repository":{"id":66063619,"uuid":"400643772","full_name":"cscott/watchy-co2-pcb","owner":"cscott","description":"Simple PCB to mount the Sensirion SCD40 CO2 sensor next to Watchy","archived":false,"fork":false,"pushed_at":"2021-10-27T20:24:32.000Z","size":4679,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-13T14:38:30.973Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cscott.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-27T21:56:39.000Z","updated_at":"2024-10-15T04:04:04.000Z","dependencies_parsed_at":"2023-02-21T00:16:44.879Z","dependency_job_id":null,"html_url":"https://github.com/cscott/watchy-co2-pcb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cscott/watchy-co2-pcb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cscott%2Fwatchy-co2-pcb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cscott%2Fwatchy-co2-pcb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cscott%2Fwatchy-co2-pcb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cscott%2Fwatchy-co2-pcb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cscott","download_url":"https://codeload.github.com/cscott/watchy-co2-pcb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cscott%2Fwatchy-co2-pcb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28704176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T23:51:44.727Z","status":"ssl_error","status_checked_at":"2026-01-23T23:51:36.079Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T06:15:59.248Z","updated_at":"2026-01-24T00:10:00.706Z","avatar_url":"https://github.com/cscott.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"watchy-co2-pcb\n==============\nA small 10.3mm x 17mm PCB to mount the\n[Sensirion SCD40/41 CO₂ sensor](https://www.sensirion.com/en/environmental-sensors/carbon-dioxide-sensors/carbon-dioxide-sensor-scd4x/)\non.  It contains footprints to optionally add a\n[3.3v LDO regulator](https://www.njr.com/electronic_device/PDF/NJM2881_NJM2882_E.pdf)\nand some extra capacitors to better decouple the\npower supply.\n\n![Assembled watch](./photos/aluminum.jpg)\n\n![PCB mounted in Watchy](./photos/full-back.jpg)\n![Populated PCB](./photos/pcb-front.jpg)\n\n[![Schematic](./schematic.png)](./schematic.pdf)\n\n![Board inputs](./pinout.png)\n\nThis board is designed to be used with the\n[Watchy](https://watchy.sqfmi.com/) Open Source E-Paper Watch.\nA matching case can be found at\n[cscott/watchy-co2-case](https://github.com/cscott/watchy-co2-case#readme),\nand a watchface using this board can be found at\n[cscott/watchy-c4](https://github.com/cscott/watchy-c4#readme),\n\nWhen wiring to Watchy, the SCL/SDA/GND inputs should be wired to the\nappropriate test points on the Watchy PCB back, as shown below.\n\n![Watchy test points](./watchy1.png)\n\nFor Vin, there are three options:\n\n1. The Vin input can be connected to the +3V3 test point above, with\nJP1 in its default UNREG position.  This shares the 3.3V power supply\nwith the main ESP32.  It may (or may not) be too noisy for best SCD40\naccuracy.\n\n2. The Vin input can be connected directly to the battery +BATT at\none of the positions highlighted in pink below. JP1 would be left in\nits default UNREG position.  This provides the best battery efficiency\n(the SCD40 can tolerate the higher voltage level), but (depending on\nthe battery internal resistance) again may be too noisy for best SCD40\naccuracy.  However, this is the configuration I have used in the watches\nI've assembled.\n\n![+BAT connections](./watchy2.png)\n\n3. The Vin input can be connected directly to the battery +BATT as\nabove, and JP1 moved to its alternate REG position.  This powers the\nSCD40 by its own dedicated LDO regulator, ensuring the quietest\npossible power supply.  In this configuration you can swap JP2 as well\nto its GPIO0 position and wire up the GPIO0 input to control the power\nto the SCD40.  See the pink highlight below for the test point location\nwhich provides access to GPIO0.\n\n![GPIO0 connection](./watchy3.png)\n\nThe CP1 and CP3 capacitors will provide useful decoupling in all three\nconfigurations, although (depending on noise measurements) they may\nnot be required.  All three capacitors and U2 are required in\nconfiguration three.\n\nHere's a [digikey link](https://www.digikey.com/short/t87dq9r9) for all\ncomponents.\n\nNote that this board will work with the lower-cost SCD40 sensor, and gets\nabout a day of battery life in this configuration with the stock Watchy\nbattery, reading CO₂ levels every 30 seconds.  The slightly more expensive\nSCD41 sensor has the exact same pinout and footprint, but contains a\nlower-power mode where it can read the sensor every 5 minutes instead,\nand power consumption drops from 3.2mA to 0.5mA. (In October 2021 the SCD42\nwas added to the product lineup which is also footprint-compatible, but\nthis part drops the low power modes and requires 15mA which would make\nit incompatible with wearable use.)\n\nThis board was designed using [KiCad 5](https://www.kicad.org/).\n\n![PCB render front](./board1.png)\n![PCB render back](./board2.png)\n\n(See also [this doc from TI](https://www.ti.com/lit/an/scaa048/scaa048.pdf)\non decoupling techniques using a ferrite bead if further noise reduction\nis necessary.  The\n[Sensirion datasheet for the SCD40](https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/9.5_CO2/Sensirion_CO2_Sensors_SCD4x_Datasheet.pdf) suggests less than 30mV of power supply noise.)\n\n### More photos of installed board\n\nNote that I've connected GPIO in these photos, even though I'm not using\nregulator (I'm using power option 2).  I also added an extra capacitor,\nwhose high side is *supposed* to be connected to pins 5 and 6 of the CP2104\nto fix the dreaded \"USB death\" problem of the first release of the Watchy,\nbut instead (due to a confusion I had about the `PWR_FLAG` symbol on the\nWatchy schematic, it's connected across the input to U2, the watchy voltage\nregulator -- which could *also* use a capacitor to stabilize the regulator,\nbut wasn't what I was intending to do...\n\nI also had issues with the watchy button switches popping open because\nthey are not supported on the bottom side; the orangish bits of\nplastic in these photos are my impromptu shims to allow the bottom\nside of the switches to be supported by the bottom case half.\n\n![View of connections to Watchy](./photos/full-wiring.jpg)\n\n![Back of PCB assembly](./photos/nylon2.jpg)\n\n![Board mounted and positioned](./photos/nylon.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcscott%2Fwatchy-co2-pcb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcscott%2Fwatchy-co2-pcb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcscott%2Fwatchy-co2-pcb/lists"}