From c72e2b113b13332eb7f10133429cfa9935aa7da4 Mon Sep 17 00:00:00 2001 From: Aleksei Mamlin Date: Tue, 4 Aug 2026 09:08:59 +0300 Subject: [PATCH 1/2] rpi picow: Fix i2c pins assignment Arduino-Pico SDK uses setSDA and setSCL for i2c pins assignment instead of setPins Signed-off-by: Aleksei Mamlin --- variants/rpi_picow/PicoWBoard.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/variants/rpi_picow/PicoWBoard.cpp b/variants/rpi_picow/PicoWBoard.cpp index f345f96dfb..aa263dd4dd 100644 --- a/variants/rpi_picow/PicoWBoard.cpp +++ b/variants/rpi_picow/PicoWBoard.cpp @@ -27,7 +27,8 @@ void PicoWBoard::begin() { #endif #if defined(PIN_BOARD_SDA) && defined(PIN_BOARD_SCL) - Wire.setPins(PIN_BOARD_SDA, PIN_BOARD_SCL); + Wire.setSDA(PIN_BOARD_SDA); + Wire.setSCL(PIN_BOARD_SCL); #endif Wire.begin(); From c1fdbb76d24636f20bb20d2d23cdf3d063df5a60 Mon Sep 17 00:00:00 2001 From: Aleksei Mamlin Date: Tue, 4 Aug 2026 09:10:42 +0300 Subject: [PATCH 2/2] rpi picow: Enable environment sensors and define preffered i2c pins Define preffered i2c pins for PicoW targets Build PicoW targets with sensors enabled Use environment sensor manager instead of just sensor manager Signed-off-by: Aleksei Mamlin --- variants/rpi_picow/platformio.ini | 14 +++++++++++++- variants/rpi_picow/target.cpp | 2 +- variants/rpi_picow/target.h | 4 ++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/variants/rpi_picow/platformio.ini b/variants/rpi_picow/platformio.ini index 0fe8c43696..ecceebabf0 100644 --- a/variants/rpi_picow/platformio.ini +++ b/variants/rpi_picow/platformio.ini @@ -22,10 +22,22 @@ build_flags = ${rp2040_base.build_flags} -D USE_SX1262 -D RADIO_CLASS=CustomSX1262 -D WRAPPER_CLASS=CustomSX1262Wrapper + -D PIN_BOARD_SCL=5 + -D PIN_BOARD_SDA=4 + -D ENV_INCLUDE_AHTX0=1 + -D ENV_INCLUDE_BME280=1 + -D ENV_INCLUDE_BMP280=1 + -D ENV_INCLUDE_INA3221=1 + -D ENV_INCLUDE_INA219=1 build_src_filter = ${rp2040_base.build_src_filter} - + + + +<../variants/rpi_picow> lib_deps = ${rp2040_base.lib_deps} + adafruit/Adafruit AHTX0 @ ^2.0.5 + adafruit/Adafruit BME280 Library @ ^2.3.0 + adafruit/Adafruit BMP280 Library @ ^2.6.8 + adafruit/Adafruit INA3221 Library @ ^1.0.1 + adafruit/Adafruit INA219 @ ^1.2.3 [env:PicoW_repeater] extends = rpi_picow diff --git a/variants/rpi_picow/target.cpp b/variants/rpi_picow/target.cpp index 9318b7f0f7..12bbe74134 100644 --- a/variants/rpi_picow/target.cpp +++ b/variants/rpi_picow/target.cpp @@ -10,7 +10,7 @@ WRAPPER_CLASS radio_driver(radio, board); VolatileRTCClock fallback_clock; AutoDiscoverRTCClock rtc_clock(fallback_clock); -SensorManager sensors; +EnvironmentSensorManager sensors; bool radio_init() { rtc_clock.begin(Wire); diff --git a/variants/rpi_picow/target.h b/variants/rpi_picow/target.h index eb918441ee..4bb0a01aae 100644 --- a/variants/rpi_picow/target.h +++ b/variants/rpi_picow/target.h @@ -6,12 +6,12 @@ #include #include #include -#include +#include extern PicoWBoard board; extern WRAPPER_CLASS radio_driver; extern AutoDiscoverRTCClock rtc_clock; -extern SensorManager sensors; +extern EnvironmentSensorManager sensors; bool radio_init(); mesh::LocalIdentity radio_new_identity();