From e82ea9962ad4cbccb3d132e6503b2fc3f331dedc Mon Sep 17 00:00:00 2001 From: Cyclic3 Date: Thu, 29 Oct 2026 21:12:30 +0000 Subject: [PATCH 1/2] Initial attempt at fixing serial issue on Xiao ESP32-S3 Wio (#1416) --- examples/companion_radio/main.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/companion_radio/main.cpp b/examples/companion_radio/main.cpp index 839d4958336..16174c3d901 100644 --- a/examples/companion_radio/main.cpp +++ b/examples/companion_radio/main.cpp @@ -134,6 +134,8 @@ void halt() { void setup() { Serial.begin(115200); + while (!Serial.availableForWrite()) + delay(10); board.begin(); #ifdef HAS_EXTERNAL_WATCHDOG From 03043f383f9e2fd62ad3d84d6fc7411f85248179 Mon Sep 17 00:00:00 2001 From: Cyclic3 Date: Sat, 14 Nov 2026 00:35:33 +0000 Subject: [PATCH 2/2] restrict Xiao ESP32-S3 WIO fix to just that board --- examples/companion_radio/main.cpp | 2 -- variants/xiao_s3_wio/XiaoS3WIOBoard.h | 7 +++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/examples/companion_radio/main.cpp b/examples/companion_radio/main.cpp index 16174c3d901..839d4958336 100644 --- a/examples/companion_radio/main.cpp +++ b/examples/companion_radio/main.cpp @@ -134,8 +134,6 @@ void halt() { void setup() { Serial.begin(115200); - while (!Serial.availableForWrite()) - delay(10); board.begin(); #ifdef HAS_EXTERNAL_WATCHDOG diff --git a/variants/xiao_s3_wio/XiaoS3WIOBoard.h b/variants/xiao_s3_wio/XiaoS3WIOBoard.h index 7ae06a359bc..4a6353343c3 100644 --- a/variants/xiao_s3_wio/XiaoS3WIOBoard.h +++ b/variants/xiao_s3_wio/XiaoS3WIOBoard.h @@ -7,6 +7,13 @@ class XiaoS3WIOBoard : public ESP32Board { public: XiaoS3WIOBoard() { } + void begin() { + while (!Serial.availableForWrite()) + delay(10); + + ESP32Board::begin(); + } + const char* getManufacturerName() const override { return "Xiao S3 WIO"; }