Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
3833ef4
Fixes bug,typo. Add more core devices
GOB52 Feb 10, 2026
146e89a
Delete junk files
GOB52 Feb 10, 2026
5276d53
Add an example for the SHT30 built into the M5Paper
GOB52 Feb 10, 2026
9a53b73
Add more device
GOB52 Feb 12, 2026
63f4d48
Fixes pin down the pioarduino version
GOB52 Feb 12, 2026
f128c5e
Update clang-format-action to v4.16.0
GOB52 Feb 13, 2026
9340b83
Add no-arg startPeriodicMeasurement for SHT30/SHT40, I2C_Class guards…
GOB52 Mar 3, 2026
a4d7542
Migrate tests to new test_template API and unify periodic measurement…
GOB52 Mar 3, 2026
03d45ef
Update examples to use In_I2C/Ex_I2C and add NessoN1/NanoC6 support
GOB52 Mar 3, 2026
0dfaed9
Bump M5UnitUnified dependency to >=0.4.0 and add more test devices
GOB52 Mar 3, 2026
92c34cd
Fix Doxyfile project name quoting and typo in doxy.sh
GOB52 Mar 3, 2026
901121e
Cosmetic change
GOB52 Mar 3, 2026
a16d702
Remove obsolete platform sections, unify Dial test envs, and fix mino…
GOB52 Mar 5, 2026
b35dee9
Raise version to 1.3.2
GOB52 Mar 5, 2026
d798d88
Fix missing build_flags merge for Cardputer and Tab5 environments
GOB52 Mar 5, 2026
277a756
Fix typos in Doxygen comments and rename UltraHightAccuracy to UltraH…
GOB52 Mar 5, 2026
7bed2e9
Update test to use renamed UltraHighAccuracy
GOB52 Mar 5, 2026
9ea1ad3
Fixes typo
GOB52 Mar 5, 2026
827e521
Fixes ENVIV documentation link
GOB52 Mar 5, 2026
62442a0
Bump M5UnitUnified dependency to >=0.4.1
GOB52 Mar 5, 2026
ae260df
Cosmetic change
GOB52 Mar 5, 2026
105f91a
Cosmetic change
GOB52 Mar 5, 2026
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
8 changes: 3 additions & 5 deletions .github/workflows/arduino-esp-v2-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Build(arduino-esp32:2.x)

env:
SKETCH_NAMES_FIND_START: ./examples/UnitUnified
REQUIRED_LIBRARIES: M5Unified,M5UnitUnified,BME68x Sensor library,Bsec2
REQUIRED_LIBRARIES: M5Unified,M5UnitUnified,BME68x Sensor library,bsec2

on:
push:
Expand Down Expand Up @@ -48,11 +48,11 @@ jobs:
build:
name: ${{ matrix.unit }}:${{ matrix.sketch }}:${{matrix.board}}@${{matrix.platform-version}}
runs-on: ubuntu-latest
timeout-minutes: 5
timeout-minutes: 12

strategy:
fail-fast: false
#max-parallel: 1
max-parallel: 20
matrix:
platform-url:
- https://espressif.github.io/arduino-esp32/package_esp32_index.json
Expand Down Expand Up @@ -89,8 +89,6 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

# Build
- name: Compile examples
Expand Down
24 changes: 18 additions & 6 deletions .github/workflows/arduino-esp-v3-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ jobs:
build:
name: ${{ matrix.unit }}:${{ matrix.sketch }}:${{matrix.board}}@${{matrix.platform-version}}
runs-on: ubuntu-latest
timeout-minutes: 5
timeout-minutes: 12

strategy:
fail-fast: false
#max-parallel: 1
max-parallel: 20
matrix:
platform-url:
- https://espressif.github.io/arduino-esp32/package_esp32_index.json
Expand All @@ -69,15 +69,17 @@ jobs:
- UnitENVPro

board:
- arduino_nesso_n1
- m5stack_atom
- m5stack_atoms3
- m5stack_capsule
# - m5stack_cardputer
- m5stack_cardputer
- m5stack_core
- m5stack_core2
- m5stack_coreink
- m5stack_cores3
- m5stack_dial
- m5stack_dinmeter
- m5stack_fire
- m5stack_nanoc6
- m5stack_paper
Expand All @@ -89,25 +91,35 @@ jobs:
# - m5stack_stickc
- m5stack_stickc_plus
- m5stack_stickc_plus2
- m5stack_tab5
# - m5stack_timer_cam
# - m5stack_tough
# - m5stack_unit_cam
# - m5stack_unit_cams3

platform-version:
- 3.0.4
- 3.3.6

platform:
- esp32

archi:
- esp32

include:
# Specific sketches
# Paper
- sketch: Paper
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
platform: esp32
archi: esp32
platform-version: 3.3.6
board: m5stack_paper
unit: ''

steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

# Build
- name: Compile examples
Expand Down
33 changes: 26 additions & 7 deletions .github/workflows/arduino-m5-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,11 @@ jobs:
build:
name: ${{ matrix.unit }}:${{ matrix.sketch }}:${{matrix.board}}@${{matrix.platform-version}}
runs-on: ubuntu-latest
timeout-minutes: 5
timeout-minutes: 12

strategy:
fail-fast: false
# max-parallel: 1
max-parallel: 20
matrix:
platform-url:
- https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
Expand All @@ -69,46 +69,65 @@ jobs:
- UnitENVPro

board:
- arduino_nesso_n1
- m5stack_atom
- m5stack_atoms3
- m5stack_atoms3r
- m5stack_capsule
# - m5stack_cardputer
- m5stack_cardputer
# - m5stack_chain_dualkey
- m5stack_core
- m5stack_core2
- m5stack_coreink
- m5stack_cores3
- m5stack_dial
- m5stack_dinmeter
- m5stack_fire
- m5stack_nano_c6
# - m5stack_nano_h2
- m5stack_paper
- m5stack_papers3
# - m5stack_poe_cam
# - m5stack_powerhub
# - m5stack_stamp_c3
# - m5stack_stamp_pico
- m5stack_stamp_s3
# - m5stack_stamplc
# - m5stack_station
# - m5stack_stickc
- m5stack_stickc
- m5stack_stickc_plus
- m5stack_stickc_plus2
- m5stack_sticks3
- m5stack_tab5
# - m5stack_timer_cam
# - m5stack_tough
# - m5stack_unit_c6l
# - m5stack_unit_cam
# - m5stack_unit_cams3

platform-version:
- 3.2.1
- 3.2.5

platform:
- m5stack

archi:
- esp32

include:
# Specific sketches
# Paper
- sketch: Paper
platform-url: https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
platform: m5stack
archi: esp32
platform-version: 3.2.5
board: m5stack_paper
unit: ''

steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

# Build
- name: Compile examples
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/clang-format-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,9 @@ jobs:
steps:
- name: Checkout # When pull_request is used, include it in the checkout https://zenn.dev/hkusu/articles/c731862051438b
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Run clang-format style check for C/C++/Protobuf programs.
uses: jidicula/clang-format-action@v4.10.2 # Using include-regex 10.x or later
uses: jidicula/clang-format-action@v4.16.0 # Using include-regex 10.x or later
with:
clang-format-version: '13'
check-path: ${{ matrix.path['check'] }}
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/doxygen-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
name: Deploy Doxygen docuemnt on GitHub Pages
name: Deploy Doxygen document on GitHub Pages
on: [release, workflow_dispatch]
# branches:
# - main
# - master
permissions:
contents: write
defaults:
run:
shell: bash
Expand Down
55 changes: 18 additions & 37 deletions .github/workflows/platformio-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ jobs:
build:
name: ${{ matrix.unit }}:${{ matrix.example }}@${{ matrix.board }}:${{ matrix.framework }}:${{ matrix.espressif32 }}
runs-on: ubuntu-latest
timeout-minutes: 5
timeout-minutes: 12

strategy:
fail-fast: false
#max-parallel: 1
max-parallel: 20

matrix:
example:
Expand All @@ -61,8 +61,8 @@ jobs:
- UnitCO2L
- UnitENVIII
- UnitENVIV
- UnitTVOC
- UnitENVPro
- UnitTVOC

board:
- Core
Expand All @@ -71,58 +71,39 @@ jobs:
- Fire
- StampS3
- Dial
- AtomMatrix
- Atom
- AtomS3
- AtomS3R
- NanoC6
- StickCPlus
- StickCPlus2
- StickS3
- Paper
- CoreInk
- Cardputer
- Tab5
- NessoN1

framework:
- Arduino

espressif32:
- latest
# - '5_4_0'
# - '4_4_0'

# exclude:
# - board: CoreS3
# espressif32: '5_4_0'
# - board: CoreS3
# espressif32: '4_4_0'
# - board: StampS3
# espressif32: '5_4_0'
# - board: StampS3
# espressif32: '4_4_0'
# - board: AtomS3
# espressif32: '5_4_0'
# - board: AtomS3
# espressif32: '4_4_0'
# - board: Dial
# espressif32: '5_4_0'
# - board: Dial
# espressif32: '4_4_0'
# - board: NanoC6
# espressif32: '5_4_0'
# - board: NanoC6
# espressif32: '4_4_0'
# - board: StickCPlus
# espressif32: '5_4_0'
# - board: StickCPlus
# espressif32: '4_4_0'
# - board: Paper
# espressif32: '5_4_0'
# - board: Paper
# espressif32: '4_4_0'

include:
# Specific sketches
# Paper
- example: Paper
unit: BuiltinSHT30
board: Paper
framework: Arduino
espressif32: latest


steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Build examples
uses: karniv00l/platformio-run-action@v1
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ CO2 is a photoacoustic Carbon Dioxide (CO2) Unit that will tell you the CO2 PPM

## Related Link

- [Unit ENVIV - Document & Datasheet](https://docs.m5stack.com/en/unit/ENV%E2%85%A3%20Unit)
- [Unit ENVIV - Document & Datasheet](https://docs.m5stack.com/en/unit/Unit_ENV-IV)
- [Unit ENVIII - Document & Datasheet](https://docs.m5stack.com/en/unit/envIII)
- [Unit ENVII - Document & Datasheet](https://docs.m5stack.com/en/unit/envII)
- [Unit ENV - Document & Datasheet](https://docs.m5stack.com/en/unit/env)
- [Hat ENVIII - Document & Datasheet](https://docs.m5stack.com/en/hat/hat_envIII)
- [Hat ENVII - Document & Datasheet](https://docs.m5stack.com/en/hat/hat_envII)
- [Unit BPS - Document & Datasheet](https://docs.m5stack.com/en/unit/bps)
- [Unit BPS(QMP6988) - Document & Datasheet](https://docs.m5stack.com/en/unit/BPS(QMP6988))
- [Unit BPS(QMP6988) - Document & Datasheet](https://docs.m5stack.com/en/unit/BPS%28QMP6988%29)
- [Unit CO2 - Document & Datasheet](https://docs.m5stack.com/en/unit/co2)

## Required Libraries:
Expand Down Expand Up @@ -56,7 +56,7 @@ M5UnitUnified is a library for unified handling of various M5 units products.

TVOC/eCO2 mini Unit is a digital multi-pixel gas sensor unit with integrated SGP30.

It mainly measures various VOC (volatile organic compounds) and H2 in the air. It can be programmed to detect TVOC (total volatile organic compounds) and eCO2 (equivalent carbon dioxide reading)Concentration measurement.
It mainly measures various VOC (volatile organic compounds) and H2 in the air. It can be programmed to detect TVOC (total volatile organic compounds) and eCO2 (equivalent carbon dioxide reading) Concentration measurement.

Typical measurement accuracy is 15% within the measurement range, the SGP30 reading is internally calibrated and output, which can maintain long-term stability. SGP30 uses I2C protocol communication with on-chip humidity compensation function, which can be turned on through an external humidity sensor.

Expand Down
2 changes: 1 addition & 1 deletion docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.

PROJECT_NAME = M5Unit-ENV
PROJECT_NAME = "M5Unit-ENV"

# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
Expand Down
2 changes: 1 addition & 1 deletion docs/doxy.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

# Please execute on repositry root
# Please execute on repository root

## Get version from library.properties
## Get git rev of HEAD
Expand Down
9 changes: 9 additions & 0 deletions examples/UnitUnified/Paper/Paper.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*
* SPDX-FileCopyrightText: 2026 M5Stack Technology CO LTD
*
* SPDX-License-Identifier: MIT
*/
/*
Example of Using the M5UnitUnified for SHT30 Built into M5Paper
*/
#include "main/Paper.cpp"
Loading