Wiki¶
- Table of contents
- Wiki
- Connecteur
- USB <-> I2C
- Composants
- AGS10 TVOC (total volatile organic compounds)
- SHT45 Digital humidity and temperature sensor
- SGP41 Air Quality Sensor for VOC and NOx Measurements
- SCD4x Breaking the size barrier in optical CO2 sensing
- Bosch BME680 sensor and get temperature, humidity, pressure and gas readings
- SPS30
- INA219
- INA226
- INA3221 High-Side Measurement
- PCF8563 Real-time clock/calendar
- TCA9555 and TCA9535 I/O Expander 16-Bit
- ADS1115 Quad ADCs
- LTC2635 Quad DACs
- IP5306 Battery Management System (FM5324GA)
- 24LC512 EEPROM 512Kbit
- SC18IS606 I2C-bus to SPI bridge
- PCA9515A
Connecteur¶
QWIIC¶

black for GND, red for 3.3V, blue for SDA, yellow for SCL.
style 4-pin Connecteur JST-SH avec un pas de 1 mm

Embases de circuit imprimé JST, SH, 4 pôles , 1.0mm 1 rangée, 1.0A
Code commande RS:
515-1513
Numéro d'article Distrelec:
304-01-006
Référence fabricant:
SM04B-SRSS-TB
Marque:
JST
https://www.sparkfun.com/qwiic
Wemos lolin¶

USB <-> I2C¶
SiLabs CP2112¶

Passerelle USB-I2C SiLabs CP2112
Arduino¶
#include <Arduino.h>
#include <Wire.h>
void setup(){
Wire.begin();
Serial.begin(9600);
}
void loop(){
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 8; address < 127; address++ ){
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0){
Serial.print("I2C device found at address 0x");
if (address < 16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error == 4) {
Serial.print("Unknow error at address 0x");
if (address < 16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000);
}
https://arduino-france.site/i2c-scanner/
Commande Linux¶
i2c-tools
sudo apt install i2c-tools
¶
sudo apt install i2c-tools
i2cdetect¶
i2cdetect -l
sudo i2cdetect -r -y N
N numero I2C ici 5

détection de puces I2C, TCA9535 0x20, ADS1115 0x48, PCF8563 0x51
i2cget¶
sudo i2cget 5 0x20 0x04

lecture dans le TCA9535 0x20, dans le registre 0x4
i2cset¶
sudo i2cset 5 0x20 0x02 0x01

écriture dans le TCA9535 0x20, dans le registre 0x2, les bits 0b00000001
https://www.acmesystems.it/i2c
https://www.youtube.com/watch?v=QwlqOTDAPfk
Composants¶
AGS10 TVOC (total volatile organic compounds)¶
Operating voltage 3.0±0.1 V DC

https://www.aosong.com/userfiles/files/Datasheet%20AGS10.pdf
https://github.com/gina-seth/AGS10_sensor
SHT45 Digital humidity and temperature sensor¶

Accuracies:
ΔRH = ±1.0 %RH
ΔT = ±0.1 °C
https://sensirion.com/media/documents/33FD6951/67EB9032/HT_DS_Datasheet_SHT4x_5.pdf
https://docs.arduino.cc/libraries/artronshop_sht45/
SGP41 Air Quality Sensor for VOC and NOx Measurements¶

https://sensirion.com/media/documents/5FE8673C/61E96F50/Sensirion_Gas_Sensors_Datasheet_SGP41.pdf
https://docs.arduino.cc/libraries/sensirion-i2c-sgp41/
https://github.com/Sensirion/arduino-core/
SCD4x Breaking the size barrier in optical CO2 sensing¶

▪ SCD40: Base accuracy, specified measurement range
400 – 2’000 ppm, compatible with WELL Building
Standard™ 1
▪ SCD41: Improved accuracy, specified measurement
range 400 – 5’000 ppm, additionally compatible with
California Title 24 2 and RESET® 3, features single-shot
operation mode
▪ SCD43: High accuracy, specified measurement range
400 – 5’000 ppm, additionally compatible with
ASHRAE Standard 62.1 4, features single-shot
operation mode
https://sensirion.com/media/documents/48C4B7FB/67FE0194/CD_DS_SCD4x_Datasheet_D1.pdf
Bosch BME680 sensor and get temperature, humidity, pressure and gas readings¶

Response time (𝜏0−63%) ~8 s
Accuracy tolerance ±3% r.H.
https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme680-ds001.pdf
https://docs.arduino.cc/libraries/bme680/
SPS30¶

Capteur de particules, 0 à 1000 µg/m3, Laser, I2C, UART, calibré, Alimentation 4,5 à 5,5 V
https://sensirion.com/products/catalog/SPS30
https://github.com/Sensirion/arduino-i2c-sps30
INA219¶

INA219 Zerø-Drift, Bidirectional Current/Power Monitor With I2C Interface
The INA219 senses across shunts on buses that can
vary from 0 to 26 V. The device uses a single 3- to 5.5-V supply, drawing a maximum of 1 mA of supply
Power Management current. The INA219 operates from –40°C to 125°C
https://www.ti.com/lit/ds/symlink/ina219.pdf
INA226¶



36V, 16-bit, ultra-precise i2c output current/voltage/power monitor w/alert
Operates from 2.7V to 5.5V power supply
https://www.ti.com/lit/ds/symlink/ina226.pdf
Arduino library for the INA226 power sensor.
https://github.com/RobTillaart/INA226
INA3221 High-Side Measurement¶

Triple-Channel, High-Side Measurement, Shunt and Bus Voltage Monitor
https://docs.arduino.cc/libraries/ina3221/
https://www.ti.com/lit/ds/symlink/ina3221.pdf
PCF8563 Real-time clock/calendar¶

VDD = 1.8 V to 5.5 V
400-kHz Fast I2C bus
@I2C 0x51
TCA9555 and TCA9535 I/O Expander 16-Bit¶
TCA9535 Low-Voltage 16-Bit I2C and SMBus Low-Power I/O Expander with Interrupt Output and Configuration Registers,
TCA9555 is identical to the TCA9535, except for the inclusion of the internal I/O pull-up resistor

VDD 1.65 V to 5 V
400-kHz Fast I2C bus.
@I2C
TCA9535
ADS1115 Quad ADCs¶
16-bit, 860-SPS, 4-channel, delta-sigma ADC with PGA, oscillator, VREF, comparator and I2C

VDD 2.0 V to 5.5 V
@I2C
| 0x48 | 0b1001000 | GND |
| 0x49 | 0b1001001 | VDD |
| 0x48 | 0b1001010 | SDA |
| 0x49 | 0b1001011 | SCL |
LTC2635 Quad DACs¶
Quad 12-/10-/8-Bit I2C VOUT
DACs with 10ppm/°C Reference
VDD 2.7V to 5.5V
@I2C
| 0x10 | 0b0010000 | GND |
| 0x11 | 0b0010001 | NC |
| 0x12 | 0b0010010 | VDD |
IP5306 Battery Management System (FM5324GA)¶
Fully-Integrated Power Bank System-On-Chip with 2.1A charger, 2.4A discharger
@I2C 0x75
IP5306
https://done.land/components/power/powersupplies/battery/chargers/charge-discharge/ip5306/ip5306i2c/
24LC512 EEPROM 512Kbit¶

VDD 2.5-5.5V
400-kHz Fast I2C bus
@I2C
| A2 | A1 | A0 | ||
| 0x50 | 0b1010000 | GND | GND | GND |
| 0x51 | 0b1010001 | GND | GND | VCC |
| 0x52 | 0b1010010 | GND | VCC | GND |
| 0x53 | 0b1010000 | GND | VCC | VCC |
| 0x54 | 0b1010100 | VCC | GND | GND |
| 0x55 | 0b1010101 | VCC | GND | VCC |
| 0x54 | 0b1010110 | VCC | VCC | GND |
| 0x55 | 0b1010111 | VCC | VCC | VCC |
SC18IS606 I2C-bus to SPI bridge¶

https://github.com/maxgerhardt/SC18IS602B-arduino
https://www.nxp.com/docs/en/data-sheet/SC18IS606.pdf
PCA9515A¶
Dual Bidirectional I2C Bus and SMBus Repeater

Updated by Frédéric Blanc about 17 hours ago · 68 revisions