fix/feat(stm32/russell): Serial2 build fix and BME680 support#10097
Merged
Conversation
The Russell board variant was missed during Initial serialModule cleanup (PR meshtastic#9465), which began requiring Serial2 to be explicitly defined via ENABLE_HWSERIAL2 and PIN_SERIAL2_TX/RX rather than relying on implicit defaults, causing a build error. Signed-off-by: Andrew Yong <me@ndoo.sg>
The BME680 is hardware footprint compatible with the BME280 already present on the Russell board, so add it as an additional lib dep to enable environment sensing (temperature, humidity, pressure, gas resistance). The STM32 target has very limited flash. Even traceroute alone causes overflow, so the following modules are excluded to stay within budget: - RANGETEST - DETECTIONSENSOR - EXTERNALNOTIFICATION - POWERSTRESS - NEIGHBORINFO - TRACEROUTE - WAYPOINT AIR_QUALITY_SENSOR is also excluded as it requires the BSEC2 library for real IAQ output, which alone overflows flash by ~44KB on this target. The Adafruit BME680 library is used instead for raw sensor readings. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 8, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 8, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
jp-bennett
approved these changes
Apr 10, 2026
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 11, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 14, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 14, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 15, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 16, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 16, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 16, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 16, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 16, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 16, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 16, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 17, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 17, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 17, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 18, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 18, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 19, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
ndoo
added a commit
to mesh-malaysia/meshtastic-firmware
that referenced
this pull request
Apr 22, 2026
RAK3172 has a built-in 32.768 kHz LSE crystal so we can expect built-in RTC to be functional. Enable HAS_RTC and configure the LSE drive level for the RAK3172. LSE drive level from here: https://github.com/RAKWireless/RAK-STM32-RUI/blob/main/variants/WisDuo_RAK3172_Evaluation_Board/rui_inner_main.c Also added the same defines for russell which uses the RAK3172 module. Build-tested on: * rak3172 * wio-e5 (no changes, just a regression test) Couldn't build test russell due to build errors fixed in meshtastic#10097. Signed-off-by: Andrew Yong <me@ndoo.sg>
mariotti
pushed a commit
to mariotti/firmware
that referenced
this pull request
May 6, 2026
…stic#10097) * fix(stm32/russell): define ENABLE_HWSERIAL2 and Serial2 pins The Russell board variant was missed during Initial serialModule cleanup (PR meshtastic#9465), which began requiring Serial2 to be explicitly defined via ENABLE_HWSERIAL2 and PIN_SERIAL2_TX/RX rather than relying on implicit defaults, causing a build error. Signed-off-by: Andrew Yong <me@ndoo.sg> * feat(stm32/russell): add BME680 support, exclude modules to fit flash The BME680 is hardware footprint compatible with the BME280 already present on the Russell board, so add it as an additional lib dep to enable environment sensing (temperature, humidity, pressure, gas resistance). The STM32 target has very limited flash. Even traceroute alone causes overflow, so the following modules are excluded to stay within budget: - RANGETEST - DETECTIONSENSOR - EXTERNALNOTIFICATION - POWERSTRESS - NEIGHBORINFO - TRACEROUTE - WAYPOINT AIR_QUALITY_SENSOR is also excluded as it requires the BSEC2 library for real IAQ output, which alone overflows flash by ~44KB on this target. The Adafruit BME680 library is used instead for raw sensor readings. Signed-off-by: Andrew Yong <me@ndoo.sg> --------- Signed-off-by: Andrew Yong <me@ndoo.sg> Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz> Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Russell board: Serial2 build fix and BME680 support
Two changes for the Russell variant (STM32WLE5 balloon tracker board).
fix: define ENABLE_HWSERIAL2 and Serial2 pins
The Russell board was missed during Initial serialModule cleanup (PR #9465), which began requiring Serial2 to be explicitly defined via
ENABLE_HWSERIAL2andPIN_SERIAL2_TX/PIN_SERIAL2_RXrather than relying on implicit defaults, causing a build error.feat: add BME680 support, exclude modules to fit flash
The BME680 is hardware footprint compatible with the BME280 already present on the Russell board, so it is added as an additional lib dep to enable environment sensing (temperature, humidity, pressure, gas resistance).
The STM32 target has very limited flash. Even traceroute alone causes overflow, so the following modules are excluded to stay within budget:
RANGETESTDETECTIONSENSOREXTERNALNOTIFICATIONPOWERSTRESSNEIGHBORINFOTRACEROUTEWAYPOINTAIR_QUALITY_SENSORis also excluded as it requires the BSEC2 library for real IAQ output, which alone overflows flash by ~44KB on this target. The Adafruit BME680 library is used instead for raw sensor readings.🤝 Attestations