diff --git a/src/graphics/niche/InkHUD/docs/README.md b/src/graphics/niche/InkHUD/docs/README.md
index e7821299e..aa23f065f 100644
--- a/src/graphics/niche/InkHUD/docs/README.md
+++ b/src/graphics/niche/InkHUD/docs/README.md
@@ -273,7 +273,7 @@ _(Example shows only config required by InkHUD. This is not a complete `env` def
extends = esp32s3_base, inkhud ; or nrf52840_base, etc
build_src_filter =
-${esp32_base.build_src_filter}
+${esp32s3_base.build_src_filter}
${inkhud.build_src_filter}
build_flags =
@@ -756,12 +756,12 @@ This mapping of emoji to control characters is fairly arbitrary. Selection was i
| `0x03` | 🙂 |
| `0x04` | 😆 |
| `0x05` | 👋 |
-| `0x06` | ☀ |
+| `0x06` | ☀ |
| ~~`0x07`~~ | (bell char, unused) |
| `0x08` | 🌧 |
-| `0x09` | ☁ |
+| `0x09` | ☁ |
| ~~`0x0A`~~ | (line feed, unused) |
-| `0x0B` | ♥ |
+| `0x0B` | ♥ |
| `0x0C` | 💩 |
| ~~`0x0D`~~ | (carriage return, unused) |
| `0x0E` | 🔔 |
diff --git a/variants/esp32/esp32-common.ini b/variants/esp32/esp32-common.ini
new file mode 100644
index 000000000..15ab8ad44
--- /dev/null
+++ b/variants/esp32/esp32-common.ini
@@ -0,0 +1,88 @@
+; Common settings for ESP targets, mixin with extends = esp32_common
+[esp32_common]
+extends = arduino_base
+custom_esp32_kind =
+custom_mtjson_part =
+platform =
+ # renovate: datasource=custom.pio depName=platformio/espressif32 packageName=platformio/platform/espressif32
+ platformio/espressif32@6.12.0
+
+extra_scripts =
+ ${env.extra_scripts}
+ pre:extra_scripts/esp32_pre.py
+ extra_scripts/esp32_extra.py
+
+build_src_filter =
+ ${arduino_base.build_src_filter} - - - - -
+
+upload_speed = 921600
+debug_init_break = tbreak setup
+monitor_filters = esp32_exception_decoder
+
+board_build.filesystem = littlefs
+
+# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
+# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
+# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
+build_unflags = -fno-lto
+build_flags =
+ ${arduino_base.build_flags}
+ -flto
+ -Wall
+ -Wextra
+ -Isrc/platform/esp32
+ -std=c++11
+ -DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG
+ -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
+ -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL
+ -DAXP_DEBUG_PORT=Serial
+ -DCONFIG_BT_NIMBLE_ENABLED
+ -DCONFIG_BT_NIMBLE_MAX_BONDS=6 # default is 3
+ -DCONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED
+ -DCONFIG_NIMBLE_CPP_LOG_LEVEL=2
+ -DCONFIG_BT_NIMBLE_MAX_CCCDS=20
+ -DCONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=8192
+ -DESP_OPENSSL_SUPPRESS_LEGACY_WARNING
+ -DSERIAL_BUFFER_SIZE=4096
+ -DSERIAL_HAS_ON_RECEIVE
+ -DLIBPAX_ARDUINO
+ -DLIBPAX_WIFI
+ -DLIBPAX_BLE
+ -DHAS_UDP_MULTICAST=1
+ ;-DDEBUG_HEAP
+
+lib_deps =
+ ${arduino_base.lib_deps}
+ ${networking_base.lib_deps}
+ ${networking_extra.lib_deps}
+ ${environmental_base.lib_deps}
+ ${environmental_extra.lib_deps}
+ ${radiolib_base.lib_deps}
+ # renovate: datasource=git-refs depName=meshtastic-esp32_https_server packageName=https://github.com/meshtastic/esp32_https_server gitBranch=master
+ https://github.com/meshtastic/esp32_https_server/archive/3223704846752e6d545139204837bdb2a55459ca.zip
+ # renovate: datasource=custom.pio depName=NimBLE-Arduino packageName=h2zero/library/NimBLE-Arduino
+ h2zero/NimBLE-Arduino@2.3.7
+ # renovate: datasource=git-refs depName=libpax packageName=https://github.com/dbinfrago/libpax gitBranch=master
+ https://github.com/dbinfrago/libpax/archive/3cdc0371c375676a97967547f4065607d4c53fd1.zip
+ # renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
+ lewisxhe/XPowersLib@0.3.2
+ # renovate: datasource=git-refs depName=meshtastic-ESP32_Codec2 packageName=https://github.com/meshtastic/ESP32_Codec2 gitBranch=master
+ https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip
+ # renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
+ rweather/Crypto@0.4.0
+
+lib_ignore =
+ segger_rtt
+ ESP32 BLE Arduino
+
+; leave this commented out to avoid breaking Windows
+;upload_port = /dev/ttyUSB0
+;monitor_port = /dev/ttyUSB0
+
+; Please don't delete these lines. JM uses them.
+;upload_port = /dev/cu.SLAB_USBtoUART
+;monitor_port = /dev/cu.SLAB_USBtoUART
+
+; customize the partition table
+; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
+board_build.partitions = partition-table.csv
diff --git a/variants/esp32/esp32.ini b/variants/esp32/esp32.ini
index cc1a7b2d2..532fd4e12 100644
--- a/variants/esp32/esp32.ini
+++ b/variants/esp32/esp32.ini
@@ -1,88 +1,8 @@
-; Common settings for ESP targes, mixin with extends = esp32_base
+; Common settings for ESP32 OG (without suffix)
+; See 'esp32_common' for common ESP32-family settings
[esp32_base]
-extends = arduino_base
+extends = esp32_common
custom_esp32_kind = esp32
-custom_mtjson_part =
-platform =
- # renovate: datasource=custom.pio depName=platformio/espressif32 packageName=platformio/platform/espressif32
- platformio/espressif32@6.12.0
-extra_scripts =
- ${env.extra_scripts}
- pre:extra_scripts/esp32_pre.py
- extra_scripts/esp32_extra.py
-
-build_src_filter =
- ${arduino_base.build_src_filter} - - - - -
-
-upload_speed = 921600
-debug_init_break = tbreak setup
-monitor_filters = esp32_exception_decoder
-
-board_build.filesystem = littlefs
-
-# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
-# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
-# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
-build_unflags = -fno-lto
build_flags =
- ${arduino_base.build_flags}
- -flto
- -Wall
- -Wextra
- -Isrc/platform/esp32
- -std=c++11
- -DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG
- -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
- -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL
- -DAXP_DEBUG_PORT=Serial
- -DCONFIG_BT_NIMBLE_ENABLED
- -DCONFIG_BT_NIMBLE_MAX_BONDS=6 # default is 3
- -DCONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED
- -DCONFIG_NIMBLE_CPP_LOG_LEVEL=2
- -DCONFIG_BT_NIMBLE_MAX_CCCDS=20
- -DCONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=8192
- -DESP_OPENSSL_SUPPRESS_LEGACY_WARNING
- -DSERIAL_BUFFER_SIZE=4096
- -DSERIAL_HAS_ON_RECEIVE
- -DLIBPAX_ARDUINO
- -DLIBPAX_WIFI
- -DLIBPAX_BLE
- -DHAS_UDP_MULTICAST=1
- ;-DDEBUG_HEAP
-
-lib_deps =
- ${arduino_base.lib_deps}
- ${networking_base.lib_deps}
- ${networking_extra.lib_deps}
- ${environmental_base.lib_deps}
- ${environmental_extra.lib_deps}
- ${radiolib_base.lib_deps}
- # renovate: datasource=git-refs depName=meshtastic-esp32_https_server packageName=https://github.com/meshtastic/esp32_https_server gitBranch=master
- https://github.com/meshtastic/esp32_https_server/archive/3223704846752e6d545139204837bdb2a55459ca.zip
- # renovate: datasource=custom.pio depName=NimBLE-Arduino packageName=h2zero/library/NimBLE-Arduino
- h2zero/NimBLE-Arduino@^2.3.7
- # renovate: datasource=git-refs depName=libpax packageName=https://github.com/dbinfrago/libpax gitBranch=master
- https://github.com/dbinfrago/libpax/archive/3cdc0371c375676a97967547f4065607d4c53fd1.zip
- # renovate: datasource=custom.pio depName=XPowersLib packageName=lewisxhe/library/XPowersLib
- lewisxhe/XPowersLib@0.3.2
- # renovate: datasource=git-refs depName=meshtastic-ESP32_Codec2 packageName=https://github.com/meshtastic/ESP32_Codec2 gitBranch=master
- https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip
- # renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
- rweather/Crypto@0.4.0
-
-lib_ignore =
- segger_rtt
- ESP32 BLE Arduino
-
-; leave this commented out to avoid breaking Windows
-;upload_port = /dev/ttyUSB0
-;monitor_port = /dev/ttyUSB0
-
-; Please don't delete these lines. JM uses them.
-;upload_port = /dev/cu.SLAB_USBtoUART
-;monitor_port = /dev/cu.SLAB_USBtoUART
-
-; customize the partition table
-; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
-board_build.partitions = partition-table.csv
+ ${esp32_common.build_flags}
diff --git a/variants/esp32c3/esp32c3.ini b/variants/esp32c3/esp32c3.ini
index 07f8bcdd1..7634a4141 100644
--- a/variants/esp32c3/esp32c3.ini
+++ b/variants/esp32c3/esp32c3.ini
@@ -1,11 +1,11 @@
[esp32c3_base]
-extends = esp32_base
+extends = esp32_common
custom_esp32_kind = esp32c3
monitor_speed = 115200
monitor_filters = esp32_c3_exception_decoder
build_flags =
- ${esp32_base.build_flags}
- -DCONFIG_BT_NIMBLE_EXT_ADV=1
- -DCONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES=2
+ ${esp32_common.build_flags}
+ -DCONFIG_BT_NIMBLE_EXT_ADV=1
+ -DCONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES=2
diff --git a/variants/esp32c6/esp32c6.ini b/variants/esp32c6/esp32c6.ini
index b07a2dcd4..c1dfa4d28 100644
--- a/variants/esp32c6/esp32c6.ini
+++ b/variants/esp32c6/esp32c6.ini
@@ -1,5 +1,5 @@
[esp32c6_base]
-extends = esp32_base
+extends = esp32_common
platform =
# Do not renovate until we have switched to pioarduino tagged builds
https://github.com/Jason2866/platform-espressif32/archive/22faa566df8c789000f8136cd8d0aca49617af55.zip
@@ -35,12 +35,13 @@ lib_deps =
rweather/Crypto@0.4.0
build_src_filter =
- ${esp32_base.build_src_filter} -
+ ${esp32_common.build_src_filter} -
monitor_speed = 460800
monitor_filters = esp32_c3_exception_decoder
lib_ignore =
+ ${esp32_common.lib_ignore}
NonBlockingRTTTL
NimBLE-Arduino
libpax
diff --git a/variants/esp32s2/esp32s2.ini b/variants/esp32s2/esp32s2.ini
index 0f97408b8..c806943ee 100644
--- a/variants/esp32s2/esp32s2.ini
+++ b/variants/esp32s2/esp32s2.ini
@@ -1,19 +1,19 @@
[esp32s2_base]
-extends = esp32_base
+extends = esp32_common
custom_esp32_kind = esp32s2
build_src_filter =
- ${esp32_base.build_src_filter} - - -
+ ${esp32_common.build_src_filter} - - -
monitor_speed = 115200
build_flags =
- ${esp32_base.build_flags}
+ ${esp32_common.build_flags}
-DHAS_BLUETOOTH=0
-DMESHTASTIC_EXCLUDE_PAXCOUNTER
-DMESHTASTIC_EXCLUDE_BLUETOOTH
lib_ignore =
- ${esp32_base.lib_ignore}
+ ${esp32_common.lib_ignore}
NimBLE-Arduino
libpax
diff --git a/variants/esp32s3/esp32s3.ini b/variants/esp32s3/esp32s3.ini
index 3230323ec..92ce25084 100644
--- a/variants/esp32s3/esp32s3.ini
+++ b/variants/esp32s3/esp32s3.ini
@@ -1,10 +1,10 @@
[esp32s3_base]
-extends = esp32_base
+extends = esp32_common
custom_esp32_kind = esp32s3
monitor_speed = 115200
build_flags =
- ${esp32_base.build_flags}
- -DCONFIG_BT_NIMBLE_EXT_ADV=1
- -DCONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES=2
+ ${esp32_common.build_flags}
+ -DCONFIG_BT_NIMBLE_EXT_ADV=1
+ -DCONFIG_BT_NIMBLE_MAX_EXT_ADV_INSTANCES=2