Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
aa506ce
Migrate esp32 families to pioarduino platform
vidplace7 Dec 12, 2025
14e9cb0
ESP32c6 align text.handler_execute same as C3
vidplace7 Jan 2, 2026
778090a
Merge branch 'develop' into pioarduino
vidplace7 Jan 5, 2026
86cdff4
Use pioarduino `develop`
vidplace7 Jan 13, 2026
028f781
Merge branch 'develop' into pioarduino
vidplace7 Jan 13, 2026
c997e3b
Merge branch 'develop' into pioarduino
vidplace7 Jan 21, 2026
ef7036e
preliminary esp32p4.ini
mverch67 Jan 21, 2026
7235afe
pioarduino: Update LovyanGFX
vidplace7 Jan 21, 2026
fbeabe2
pioarduino 3.3.6
vidplace7 Jan 21, 2026
814dc2d
pioarduino 3.3.6 *release*
vidplace7 Jan 21, 2026
f1ca363
pioarduino: Fix OG ESP32 duplicate libs
vidplace7 Jan 21, 2026
5c2afbf
pioarduino: T-Beam 1W CDC mode
vidplace7 Jan 22, 2026
3cbc9c9
pioarduino: disable network provisioning (wifiprov)
vidplace7 Jan 22, 2026
67726f9
pioarduino: use legacy esptoolpy naming (forward-compatible)
vidplace7 Jan 22, 2026
d235d3f
Merge branch 'develop' into pioarduino
vidplace7 Jan 22, 2026
a3f39de
Merge branch 'develop' into pioarduino
vidplace7 Jan 23, 2026
b24a667
Update lovyangfx from `develop` commit to 1.2.19
vidplace7 Jan 23, 2026
9fdeec1
fix esp32p4.ini
mverch67 Feb 3, 2026
bc31161
check for esp32 w/ wifi
mverch67 Feb 3, 2026
6bde1d5
esp32-p4 specific adaptations
mverch67 Feb 3, 2026
5c1e5f3
Merge branch 'develop' into pioarduino
vidplace7 Mar 2, 2026
8d649e9
Merge branch 'develop' into pioarduino
vidplace7 Mar 30, 2026
edb975d
Switch to meshtastic/esp32_https_server fork (idf5 branch)
vidplace7 Mar 30, 2026
3e5f95f
don't ignore esp_lcd
mverch67 Apr 8, 2026
a6f6175
config for MUI
mverch67 Apr 8, 2026
35e4a87
Merge branch 'develop' into pioarduino
mverch67 Apr 9, 2026
e22a22b
fix/workaround SDMMC
mverch67 Apr 9, 2026
483bb33
Merge branch 'develop' into pioarduino
mverch67 Apr 13, 2026
c9fc1ed
revert a6f6175, update to 3.3.8
mverch67 Apr 13, 2026
e85ebc6
enable esp_hosted for esp32-p4 (experimental)
mverch67 Apr 13, 2026
61bab08
Pioarduino 55.03.38-1
vidplace7 Apr 14, 2026
9da0ee9
NimBLE-Arduino -> Arduino "BLE" (3.3.x) migration (#10164)
vidplace7 Apr 21, 2026
fc871f4
Add extension from pioarduino nag
vidplace7 Apr 21, 2026
6f1d611
Merge branch 'develop' into pioarduino (resolve conflicts favoring pi…
Copilot Apr 21, 2026
621aeb2
Cleanup after merge
vidplace7 Apr 21, 2026
814773f
ESP32: Disable classic bluetooth
vidplace7 Apr 21, 2026
fb7d34a
Cleanup: Fix ADC channels on new variants
vidplace7 Apr 21, 2026
6c74052
InkHUD: Fix type casting for message size in saveToFlash method
vidplace7 Apr 21, 2026
74f7d9c
Merge branch 'develop' into pioarduino
mverch67 Apr 22, 2026
e49dab1
update p4 esp_hosted for BT
mverch67 Apr 22, 2026
41df7ef
Merge branch 'develop' into pioarduino
vidplace7 Apr 22, 2026
96538b4
I thought I fixed this
vidplace7 Apr 22, 2026
8dc82c4
fix linker error using response file (p4 only)
mverch67 Apr 22, 2026
b0d7440
fix infinite loop
mverch67 Apr 22, 2026
f586824
Fix Power.cpp check warning
vidplace7 Apr 22, 2026
6847f23
Build ESP32 original with NimBLE ('custom_sdkconfig' approach). (#10235)
cpatulea Apr 22, 2026
3f35f2c
Re-enable littlefs json manifest
vidplace7 Apr 22, 2026
c6282d3
Re-add tool-mklittlefs
vidplace7 Apr 23, 2026
acb7ac6
sensecap indicator fixes after upgrade arduino-esp & lovyanGFX libs
mverch67 Apr 23, 2026
f85ed3e
Merge branch 'develop' into pioarduino
mverch67 Apr 24, 2026
dc478d2
hackaday fix
mverch67 Apr 24, 2026
e66fcde
robot tbeam cache error fix
mverch67 Apr 24, 2026
095838f
trunk fmt
mverch67 Apr 24, 2026
527e2dc
ignore trunk
mverch67 Apr 24, 2026
0256309
BLEDevice::deinit() added
mverch67 Apr 24, 2026
bec00b0
platformio-custom: Modify mtjson target dependency to prevent fake-su…
vidplace7 Apr 24, 2026
13ee648
Fix ESP32-C6 linker errors.
vidplace7 Apr 25, 2026
e470723
tlora-c6: Disable Screen
vidplace7 Apr 25, 2026
894a2f4
Merge branch 'develop' into pioarduino
vidplace7 Apr 25, 2026
16f2ff8
Merge branch 'develop' into pioarduino
vidplace7 Apr 25, 2026
a0a7209
Use mverch's iram_memset hack for all OG-ESP32
vidplace7 Apr 25, 2026
ee796c7
Refactor watchdog timer initialization and handling
mverch67 Apr 27, 2026
aa89faa
Merge branch 'develop' into pioarduino
vidplace7 Apr 28, 2026
6d31915
use adc_channel_t in variant.h
mverch67 Apr 28, 2026
aef13be
Merge branch 'develop' into pioarduino
mverch67 Apr 28, 2026
0bb8964
Merge branch 'develop' into pioarduino
vidplace7 May 5, 2026
9a63eb7
Merge branch 'develop' into pioarduino
vidplace7 May 10, 2026
20eaefe
Merge branch 'develop' into pioarduino
vidplace7 May 13, 2026
f0a30f7
Merge branch 'develop' into pioarduino
vidplace7 May 13, 2026
c360815
Merge branch 'develop' into pioarduino
Copilot May 13, 2026
05e6a7e
Fix variant headers
thebentern May 13, 2026
23065a1
More idiomatic default ethernet that doesn't break the build
thebentern May 13, 2026
9af3d74
Elecrows: Delete problematic variant.cpp
vidplace7 May 13, 2026
4bc1078
Merge branch 'develop' into pioarduino
vidplace7 May 13, 2026
948c867
Merge branch 'develop' into pioarduino
thebentern May 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bin/build-esp32.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@ cp bin/device-install.* $OUTDIR/
cp bin/device-update.* $OUTDIR/

echo "Copying manifest"
cp $BUILDDIR/$basename.mt.json $OUTDIR/$basename.mt.json || true
cp $BUILDDIR/$basename.mt.json $OUTDIR/$basename.mt.json
12 changes: 8 additions & 4 deletions bin/platformio-custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,9 +293,12 @@ def load_boot_logo(source, target, env):
board_arch = infer_architecture(env.BoardConfig())
should_skip_manifest = board_arch is None

# For host/native envs, avoid depending on 'buildprog' (some targets don't define it)
mtjson_deps = [] if should_skip_manifest else ["buildprog"]
if not should_skip_manifest and platform.name == "espressif32":
# Most platforms can generate the manifest as part of the default 'buildprog' target.
# Typically this passes success/failure properly.
mtjson_deps = ["buildprog"]
if platform.name == "espressif32":
# On ESP32, we need to explicitly depend upon the binary to prevent fake-success upon failure.
mtjson_deps = ["$BUILD_DIR/${PROGNAME}.bin"]
# Build littlefs image as part of mtjson target
# Equivalent to `pio run -t buildfs`
target_lfs = env.DataToBin(
Expand All @@ -309,7 +312,8 @@ def skip_manifest(source, target, env):

env.AddCustomTarget(
name="mtjson",
dependencies=mtjson_deps,
# For host/native envs, avoid depending on 'buildprog' (some targets don't define it)
dependencies=[],
actions=[skip_manifest],
title="Meshtastic Manifest (skipped)",
description="mtjson generation is skipped for native environments",
Expand Down
2 changes: 1 addition & 1 deletion boards/CDEBYTE_EoRa-S3.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"extra_flags": [
"-D CDEBYTE_EORA_S3",
"-D ARDUINO_USB_CDC_ON_BOOT=1",
"-D ARDUINO_USB_MODE=0",
"-D ARDUINO_USB_MODE=1",
"-D ARDUINO_RUNNING_CORE=1",
"-D ARDUINO_EVENT_RUNNING_CORE=1",
"-D BOARD_HAS_PSRAM"
Expand Down
2 changes: 1 addition & 1 deletion boards/bpi_picow_esp32_s3.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"core": "esp32",
"extra_flags": [
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1",
"-DBOARD_HAS_PSRAM"
Expand Down
2 changes: 1 addition & 1 deletion boards/hackaday-communicator.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/heltec_vision_master_e213.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/heltec_vision_master_e290.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/heltec_vision_master_t190.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/heltec_wireless_tracker.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"extra_flags": [
"-DHELTEC_WIRELESS_TRACKER",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/heltec_wireless_tracker_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"core": "esp32",
"extra_flags": [
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/seeed-xiao-s3.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=0"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/t-beam-1w.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"-DBOARD_HAS_PSRAM",
"-DLILYGO_TBEAM_1W",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/t-deck.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/tbeam-s3-core.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"-DBOARD_HAS_PSRAM",
"-DLILYGO_TBEAM_S3_CORE",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
2 changes: 1 addition & 1 deletion boards/tlora-t3s3-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"extra_flags": [
"-DLILYGO_T3S3_V1",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1",
"-DBOARD_HAS_PSRAM"
Expand Down
2 changes: 1 addition & 1 deletion boards/unphone.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"-DBOARD_HAS_PSRAM",
"-DUNPHONE_SPIN=9",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
Expand Down
7 changes: 7 additions & 0 deletions default_16MB.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x640000,
app1, app, ota_1, 0x650000,0x640000,
spiffs, data, spiffs, 0xc90000,0x360000,
coredump, data, coredump,0xFF0000,0x10000,
7 changes: 7 additions & 0 deletions default_8MB.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, ota_0, 0x10000, 0x330000,
app1, app, ota_1, 0x340000,0x330000,
spiffs, data, spiffs, 0x670000,0x180000,
coredump, data, coredump,0x7F0000,0x10000,
17 changes: 3 additions & 14 deletions extra_scripts/esp32_extra.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,17 +70,6 @@ def esp32_create_combined_bin(source, target, env):

env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp32_create_combined_bin)

esp32_kind = env.GetProjectOption("custom_esp32_kind")
if esp32_kind == "esp32":
# Free up some IRAM by removing auxiliary SPI flash chip drivers.
# Wrapped stub symbols are defined in src/platform/esp32/iram-quirk.c.
env.Append(
LINKFLAGS=[
"-Wl,--wrap=esp_flash_chip_gd",
"-Wl,--wrap=esp_flash_chip_issi",
"-Wl,--wrap=esp_flash_chip_winbond",
]
)
else:
# For newer ESP32 targets, using newlib nano works better.
env.Append(LINKFLAGS=["--specs=nano.specs", "-u", "_printf_float"])
# Enable Newlib Nano formatting to save space
# ...but allow printf float support (compromise)
env.Append(LINKFLAGS=["--specs=nano.specs", "-u", "_printf_float"])
23 changes: 23 additions & 0 deletions extra_scripts/ld_response_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/env python3
# trunk-ignore-all(ruff/F821)
# trunk-ignore-all(flake8/F821): For SConstruct imports

# force linker response file instead of command line arguments

Import("env")


def wrap_with_tempfile(command_key):
command = env.get(command_key)
if not command or not isinstance(command, str):
return
if "TEMPFILE(" in command:
return
env.Replace(**{command_key: "${TEMPFILE('%s')}" % command})


# Force SCons to spill long commands into response files on this target.
env.Replace(MAXLINELENGTH=8192)

for key in ("LINKCOM", "CXXLINKCOM", "SHLINKCOM", "SHCXXLINKCOM"):
wrap_with_tempfile(key)
2 changes: 1 addition & 1 deletion platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
; https://docs.platformio.org/page/projectconf.html

[platformio]
default_envs = tbeam
default_envs = heltec-v3

extra_configs =
variants/*/*.ini
Expand Down
5 changes: 2 additions & 3 deletions src/DebugConfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,8 @@ extern "C" void logLegacy(const char *level, const char *fmt, ...);
#include <RAK13800_W5100S.h>
#endif // HAS_ETHERNET

#if HAS_ETHERNET && defined(USE_WS5500)
#include <ETHClass2.h>
#define ETH ETH2
#if HAS_ETHERNET && defined(ARCH_ESP32)
#include <ETH.h>
#endif // HAS_ETHERNET

#if HAS_WIFI
Expand Down
2 changes: 1 addition & 1 deletion src/FSCommon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ void fsInit()
*/
void setupSDCard()
{
#if defined(HAS_SDCARD) && !defined(SDCARD_USE_SOFT_SPI)
#if defined(HAS_SDCARD) && !defined(SDCARD_USE_SOFT_SPI) && !defined(HAS_SD_MMC)
concurrency::LockGuard g(spiLock);
SDHandler.begin(SPI_SCK, SPI_MISO, SPI_MOSI);
if (!SD.begin(SDCARD_CS, SDHandler, SD_SPI_FREQUENCY)) {
Expand Down
Loading
Loading