M5STICKからM5STICK-Cに進化した部分で、ボタンが1つ増えたのと、GROVE以外に、接続できる端子が付加されたところなのかな?と思っています。
増えた端子を使って、I2C接続のセンサーを繋いでみます。
手元の部品箱から出てきたCO2センサーであるCSS811ブレイクボード(SparkFun Air Quality Breakout – CCS811)を使って、お部屋の二酸化炭素の濃度を測定して、M5STICK-Cのディスプレイに出力してみたいと思います。
CSS811ブレークボードとM5STICK-Cの接続は、下記の写真を参照ください。


ソースコード
SparkFun CS811のライブラリを利用してサクサクと!
// M5STICK-Cで、CCS811のセンサーの値を取得する
// Programed by Kazuyuki Eguchi
#include <M5StickC.h>
#include <Wire.h>
#include "SparkFunCCS811.h"
#define CCS811_ADDR 0x5B //Default I2C Address
CCS811 myCCS811(CCS811_ADDR);
void setup() {
  M5.begin();
  M5.Axp.ScreenBreath(9); // バックライトの明るさ(7-15)
  M5.Lcd.setRotation(1);
  M5.Lcd.fillScreen(TFT_BLACK);
  M5.Lcd.setTextSize(2);
  M5.Lcd.setTextColor(TFT_WHITE);
  M5.Lcd.setCursor(0, 0);
  
  Wire.begin(0,26);  // SCL-0,SDA-26
  CCS811Core::status returnCode = myCCS811.begin();
  if (returnCode != CCS811Core::SENSOR_SUCCESS) {
    Serial.println(".begin() returned with an error.");
    while (1);
  }
}
void loop() {
  if (myCCS811.dataAvailable()) {
    myCCS811.readAlgorithmResults();
    uint16_t co2 = myCCS811.getCO2();
    uint16_t tvoc = myCCS811.getTVOC();
    unsigned long sec = millis() / 1000;
    M5.Lcd.fillScreen(TFT_BLACK);
    
    if(sec >= 1200) {
      M5.Lcd.setTextColor(TFT_YELLOW);
    } else {
      M5.Lcd.setTextColor(TFT_BLUE);
    }
    M5.Lcd.setCursor(0, 0);
    M5.Lcd.print("Co2= ");
    M5.Lcd.print(co2);
    M5.Lcd.println(" ppm");
    M5.Lcd.print("TVOC= ");
    M5.Lcd.print(tvoc);
    M5.Lcd.println(" ppb");
    
    M5.Lcd.print("Time= ");
    M5.Lcd.print(sec);
    M5.Lcd.println(" sec");
    Serial.print("CO2[");
    Serial.print(co2);
    Serial.print("]ppm , tVOC[");
    Serial.print(tvoc);
    Serial.print("]ppb , Timec[");
    Serial.print(sec);
    Serial.println("]sec");
  }
  delay(10);
}
動作イメージ
センサーであるCS811は、20分経過しないと、まともな値を出力しないことになっているので、測定時間が1200秒を超えたのか?を文字の色でわかるようにしました。


以上、ご参考までに