Skip to content

Conversation

@tyeth
Copy link
Member

@tyeth tyeth commented Nov 7, 2025

This adds the C5 devkit, with 2.4GHz and 5GHz WiFi 6 support.

The C5 flashed fine with platformio but had a similar issue flashing CI assets to the C6 generated when esptool wasn't pinned. Also now that we aren't pinned for lvgl, it felt like a good time to revisit using the latest BSP and ESPtool, previously held up by the flash args issue for the C6.
Our merged bin was suggested (by Jason8266) as having the wrong flash args causing the ets loader issue when using latest esptool, and looking at the arduino-IDE output for the C5 instead it uses "keep" as the args after the initial setup of the bootloader and app partition. I thought I'd tried that before with the C6 although I might have had other issues too then.

There was a mismatch with boot mode DIO and flash mode QIO which the c5 uses, compared to our fixed merge-bin command that uses a single argument. The arduino IDE generates bootloader.bin using esptool elf2image from a qio_80m.elf bootloader, but using DIO flash mode arg to that command, even though flash mode was QIO from the FQBN string - checking deeper it needs DIO for boot flash mode)

I've tested the Feather C6 and Espressif C5 devkit, using the combined.bin from CI assets after an erase. (Both now use esptool 5.1.0 instead of 4.6, with "keep" for the flash args to merge-bin, and every esp32 board is moved to BSP 3.3.3 instead of ~3.1)

Boards Repo PR:
adafruit/Wippersnapper_Boards#222

CI Arduino Branch:
https://github.com/adafruit/ci-arduino/tree/ci-wippersnapper-esp333 [Pointed at adafruit/arduino-esp32 BSP3.3.3]

@tyeth tyeth requested a review from brentru November 7, 2025 01:01
@tyeth
Copy link
Member Author

tyeth commented Nov 12, 2025

Just to add that this was verified again with the Adafruit IO installer, running locally on my machine, both the offline bin and online installer methods. Then also MQTT connection to that local VM.
That required a release to work against (my fork), which then used the wrong jobs (release ci yaml depends on adafruit/main ci steps), so the C5 release asset in my fork was manually replaced from this PR CI job for testing.

It depends on the baudrate field being added to the boards repo (Wippersnapper_Boards/#222), along with the installer PR for the baud rate overrides, and latest esptool-js (io-rails/#853). They have been tested locally by myself and briefly by Loren, but would benefit from a run through on staging (as well as a quick smoke test of each platform)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants