From f7eead355c7f70028d4ee47e31f5b20667cf5480 Mon Sep 17 00:00:00 2001 From: IoTThinks Date: Sat, 27 Dec 2025 13:38:41 +0700 Subject: [PATCH] Revise I2C sensor wiring and notes for boards Updated wiring instructions for I2C sensors on various boards, including Heltec v3, T114, RAK4631, Xiao NRF52, and Xiao S3. Added notes for BME280 and BME680 sensors regarding I2C addresses and wiring requirements. --- firmware/Add-sensors-to-repeaters.md | 38 ++++++++++++++-------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/firmware/Add-sensors-to-repeaters.md b/firmware/Add-sensors-to-repeaters.md index 6a776f2..e4d8d31 100644 --- a/firmware/Add-sensors-to-repeaters.md +++ b/firmware/Add-sensors-to-repeaters.md @@ -7,38 +7,38 @@ This is the instruction to add sensors to repeaters: ## 1. Quick Wiring | Board | Wiring for I2C sensors | Notes | | ------------- | ------------- | ------------- | -| Heltec v3 / v4 / WSL3 | 3.3v => 3.3v
GND => GND
17 => SDA
18 => SCL
GND => SDO | On Heltec v3, the GPIO17 and 18 are tiny pads in the middle of the board bottom. | -| Heltec T114 | 3.3v => 3.3v
GND => GND
**41** => SDA
**42** => SCL
3.3v => SDO | [Not tested yet] PowerSaving should work with GPIO 41,42 | -| RAK4631 | 3.3v => 3.3v
GND => GND
SDA => SDA
SCL => SCL
3.3v => SDO | Both firmwares work
PowerSaving has additional features | -| Xiao NRF52 | 3.3v => 3.3v
GND => GND
D7 => SDA
D6 => SCL
3.3v => SDO | Both firmwares work
PowerSaving has additional features | -| Xiao S3 | 3.3v => 3.3v
GND => GND
D4 => SDA
D5 => SCL
3.3v => SDO | Both firmwares work
PowerSaving has additional features | +| Heltec v3 / v4 / WSL3 | 3.3v => 3.3v
GND => GND
17 => SDA
18 => SCL

GND => SDO (BME280/680) | On Heltec v3, the GPIO17 and 18 are tiny pads in the middle of the board bottom. | +| Heltec T114 | 3.3v => 3.3v
GND => GND
**0.16** => SDA
**0.13** => SCL

GND => SDO (BME280/680)| Not tested yet | +| RAK4631 | 3.3v => 3.3v
GND => GND
SDA => SDA
SCL => SCL

GND => SDO (BME280/680) | Both firmwares work
PowerSaving has additional features | +| Xiao NRF52 | 3.3v => 3.3v
GND => GND
D7 => SDA
D6 => SCL

GND => SDO (BME280/680) | Both firmwares work
PowerSaving has additional features | +| Xiao S3 | 3.3v => 3.3v
GND => GND
D4 => SDA
D5 => SCL

GND => SDO (BME280/680) | Both firmwares work
PowerSaving has additional features | + +## 2. Boards +This section is for boards with some notes. -## 2. Notes for Boards ### Heltec v3 On Heltec v3, the GPIO17 and 18 are tiny pads in the middle of the board bottom. - It is small. So solder with care. image -## 3. Notes for I2C Sensors +## 3. I2C Sensors +This section will be updated to include all supported sensors. + ### BME280 The BME280 is a compact environmental sensor by Bosch that measures temperature, humidity, and barometric pressure. -* Heltec v3 and v4 does not officially expose GPIO17 and 18. Therefore, we decided to use GPIO 41 and 42 for I2C sensor. -* The default I2C address for Adafruit BME280 is 0x77. You do not need to wire 3.3v to SDO -* For other BME280 boards, you are strongly recommended to wire 3.3v to SDO to force to use address 0x77. Else, the I2C address may jump either 0x76 and 0x77. +* MeshCore requires I2C address **0x76** for BME280 +* For Adafruit BME280, you need to solder the Addr pad to use I2C address 0x76 +* For other BME280 boards, you are strongly recommended to wire **GND to SDO** to force to use address 0x77. Else, the I2C address may jump either 0x76 and 0x77. -image image image +image image image ### BME680 The BME680 is a compact environmental sensor by Bosch that measures temperature, humidity, barometric pressure, and air quality (gas/VOC). -* Note: As of 20 Dec 2025, MeshCore app can not show the Gas telemetry properly. -* Heltec v3 and v4 does not officially expose GPIO17 and 18. Therefore, we decided to use GPIO 41 and 42 for I2C sensor. -* The default I2C address for Adafruit BME280 is 0x77. You do not need to wire 3.3v to SDO -* For other BME680 boards, you are strongly recommended to wire 3.3v to SDO to force to use address 0x77. Else, the I2C address may jump either 0x76 and 0x77. +* Note: As of 20 Dec 2025, MeshCore app can not show the Gas telemetry properly in Channel 1 or 2. +* MeshCore requires I2C address **0x76** for BME680 +* For Adafruit BME280, you need to solder the Addr pad to use I2C address 0x76. +* For other BME280 boards, you are strongly recommended to wire **GND to SDO** to force to use address 0x77. Else, the I2C address may jump either 0x76 and 0x77. image image image - - - -