Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,4 @@ on:
jobs:
build_and_deploy:
uses: sensirion/.github/.github/workflows/driver.python.pypi_publish.yml@main
secrets:
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}

secrets: inherit
6 changes: 4 additions & 2 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ name: Publish Documentation
on:
workflow_dispatch:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
branches:
- main

jobs:
documentation:
uses: sensirion/.github/.github/workflows/driver.python.documentation.yml@main
with:
use-project-requirements: true
11 changes: 11 additions & 0 deletions .github/workflows/gh_workflow_metadata_update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Driver Index Metadata Update

on:
push:
branches:
- main

jobs:
driver-index-metadata-update:
uses: sensirion/.github/.github/workflows/driver.common.di_metadata_update.yml@main
secrets: inherit
4 changes: 0 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,5 @@ on:
- main

jobs:
dg-metadata-validation:
if: github.event_name == 'push' && github.ref != 'refs/head/main'
uses: sensirion/.github/.github/workflows/driver.generated.metadata_check.yml@main

test:
uses: sensirion/.github/.github/workflows/driver.python.test.yml@main
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.3.0] - 2026-6-5

### Added

- Added get_product_type command.
## [1.0.1] - 2026-2-13

### Fixed

- Version mismatch in library.properties
## [1.0.0] - 2025-3-13

### Added

- Support for all I2C commands for the SEN63C as described in the datasheet.

[Unreleased]: https://github.com/Sensirion/python-i2c-sen63c/compare/1.3.0...HEAD
[1.3.0]: https://github.com/Sensirion/python-i2c-sen63c/compare/1.0.1...1.3.0
[1.0.1]: https://github.com/Sensirion/python-i2c-sen63c/compare/1.0.0...1.0.1
[1.0.0]: https://github.com/Sensirion/python-i2c-sen63c/releases/tag/1.0.0
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2025, Sensirion AG
Copyright (c) 2026, Sensirion AG
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@

This repository contains the Python driver to communicate with a Sensirion SEN63C sensor over I2C.

<img src="https://raw.githubusercontent.com/Sensirion/python-i2c-sen63c/master/images/sen6x.png"
<img src="https://raw.githubusercontent.com/Sensirion/python-i2c-sen63c/master/images/product-image-sen6x.png"
width="300px" alt="SEN63C picture">


Click [here](https://sensirion.com/sen6x-air-quality-sensor-platform) to learn more about the Sensirion SEN63C sensor.



The default I²C address of [SEN63C](https://www.sensirion.com/products/catalog/SEN63C) is **0x6B**.
The default I²C address of [SEN63C](https://www.sensirion.com/products/catalog/SEN63C) is **0x6b**.



## Connect the sensor

You can connect your sensor over a [SEK-SensorBridge](https://developer.sensirion.com/sensirion-products/sek-sensorbridge/).
You can connect your sensor over a [SEK-SensorBridge](https://developer.sensirion.com/product-support/sek-sensorbridge/).
For special setups you find the sensor pinout in the section below.

<details><summary>Sensor pinout</summary>
<p>
<img src="https://raw.githubusercontent.com/Sensirion/python-i2c-sen63c/master/images/sen6x-pinout.png"
<img src="https://raw.githubusercontent.com/Sensirion/python-i2c-sen63c/master/images/product-pinout-sen6x.png"
width="300px" alt="sensor wiring picture">

| *Pin* | *Cable Color* | *Name* | *Description* | *Comments* |
Expand Down
26 changes: 0 additions & 26 deletions ci/checkin_doc.sh

This file was deleted.

16 changes: 0 additions & 16 deletions ci/set_git_config.sh

This file was deleted.

11 changes: 6 additions & 5 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html


import os
import sys
from datetime import datetime

import pkg_resources
import importlib.metadata as metadata
import sphinx.ext.autodoc

import sensirion_i2c_sen63c
Expand All @@ -17,16 +18,16 @@
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

# -- Project information -----------------------------------------------------
distribution = pkg_resources.get_distribution('sensirion_i2c_sen63c')
distribution = metadata.distribution("sensirion_i2c_sen63c")

project = u'sensirion_i2c_sen63c'
project = distribution.name
copyright = u'{} Sensirion AG, Switzerland'.format(datetime.now().year)
author = 'Sensirion AG'

# The short X.Y version
version = sensirion_i2c_sen63c.__version__
version = distribution.version
# The full version, including alpha/beta/rc tags
release = sensirion_i2c_sen63c.__version__
release = distribution.version

# -- General configuration ---------------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/execute-measurements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ execute a simple measurement.
python examples/example_usage_sensorbridge_sen63c.py --serial-port <your COM port>


.. _Sensirion SEK-SensorBridge: https://developer.sensirion.com/sensirion-products/sek-sensorbridge/
.. _Sensirion SEK-SensorBridge: https://developer.sensirion.com/product-support/sek-sensorbridge/
.. _SensorBridge FTDI Driver Installation: https://sensirion.github.io/python-shdlc-sensorbridge/sensor-bridge-installation.html

Example script
Expand Down
7 changes: 4 additions & 3 deletions examples/example_usage_linux_sen63c.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# (c) Copyright 2025 Sensirion AG, Switzerland
# (c) Copyright 2026 Sensirion AG, Switzerland
#
# THIS FILE IS AUTOMATICALLY GENERATED!
#
# Generator: sensirion-driver-generator 1.1.2
# Generator: sensirion-driver-generator 1.7.0
# Product: sen63c
# Model-Version: 1.2.0
# Model-Version: 1.3.0
#

import argparse
Expand All @@ -31,6 +31,7 @@
print(f"serial_number: {serial_number}; "
)
sensor.start_continuous_measurement()
time.sleep(1.1)
for i in range(100):
try:
time.sleep(1.0)
Expand Down
7 changes: 4 additions & 3 deletions examples/example_usage_sensorbridge_sen63c.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# (c) Copyright 2025 Sensirion AG, Switzerland
# (c) Copyright 2026 Sensirion AG, Switzerland
#
# THIS FILE IS AUTOMATICALLY GENERATED!
#
# Generator: sensirion-driver-generator 1.1.2
# Generator: sensirion-driver-generator 1.7.0
# Product: sen63c
# Model-Version: 1.2.0
# Model-Version: 1.3.0
#

import argparse
Expand Down Expand Up @@ -40,6 +40,7 @@
print(f"serial_number: {serial_number}; "
)
sensor.start_continuous_measurement()
time.sleep(1.1)
for i in range(100):
try:
time.sleep(1.0)
Expand Down
Binary file added images/product-image-sen6x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/product-pinout-sen6x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions metadata.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# driver generation metadata
generator_version: 1.1.2
model_version: 1.2.0
generator_version: 1.7.0
model_version: 1.3.0
dg_status: released
is_manually_modified: false
first_generated: '2025-01-20 12:05'
last_generated: '2025-03-13 10:28'
last_generated: '2026-06-05 09:32'
68 changes: 68 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
[build-system]
requires = ["hatchling >= 1.26", "wheel >= 0.45.0"]
build-backend = "hatchling.build"

[project]
name = "sensirion_i2c_sen63c"
description = "I2C driver for the Sensirion SEN63C sensor family"

readme = "README.md"
version = "1.3.0"

requires-python = ">=3.8.4,<4.0"

authors = [
{ name = "Sensirion", email = "info@sensirion.com" },
]

license = "BSD-3-Clause"
license-files = ["LICENSE"]

keywords = [
"Sensirion SEN63C",
"I2C",
"SEN63C",
]

classifiers = [
"Intended Audience :: Developers",
"Topic :: System :: Hardware :: Hardware Drivers",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
]

dependencies = [
"sensirion-driver-adapters>=2.3.0,<3.0",
"sensirion-driver-support-types>=1.2.0,<2.0",
"sensirion-i2c-driver>=1.0,<2.0",
"sensirion-shdlc-sensorbridge>=0.1.0,<2.0"
]

[project.optional-dependencies]

docs=[
"jinja2~=3.1.6",
"sphinx-rtd-theme==3.0.2",
"sphinx>=7.0,<8.0;python_version < '3.11'",
"sphinx==8.2.3;python_version >= '3.11'",
"lazy-object-proxy ~=1.7.1",
"sphinx-autoapi~=3.0.0",
]

test= [
"flake8>=7.1.0",
"mock~=5.2.0",
"pytest>=8.3.5",
"pytest-cov>=5.0.0",
"mypy~=1.13.0",
"setuptools>=73.2.0"
]

[project.urls]
Changelog = "https://github.com/Sensirion/python-i2c-sen63c/blob/master/CHANGELOG.md"
Repository = "https://github.com/Sensirion/python-i2c-sen63c"
Documentation = "https://sensirion.github.io/python-i2c-sen63c"

Loading
Loading