Arduino-Pico (Earlephilhower) support, PicoProbe Debugging by maxgerhardt · Pull Request #36 · platformio/platform-raspberrypi

· GitHub

2 min read Original article ↗

and others added 30 commits

July 14, 2021 01:00
 because of the logic selecting elf or firm (bin), we need to default to no offset on normal firmware upload because we already defaulted to elf a few lines below if upload.offset_address is not user set so when no offset is needed. 
programming fails otherwise
Unfortunately, my way of modifying the code probably sucks because I've never written anything in python but I assumed the second arg is the default n case the first is missing. Haven't had time to dig too much into it.

@britannio

@maxgerhardt

@maxgerhardt

update arduino-pico to Release 3.7.2
change default picoprobe speed to 5000 kHz

@maxgerhardt

@maxgerhardt

@maxgerhardt

This was referenced

Sep 6, 2024

@Hedda Hedda mentioned this pull request

Sep 23, 2024

@wymcg wymcg mentioned this pull request

Aug 10, 2025

mill1000 pushed a commit to mill1000/esphome-winix-c545 that referenced this pull request

Aug 16, 2026
…n pin (#35)

ESPHome renamed the `rp2040:` platform key to `rp2:` -- the component is now
esphome/components/rp2/, covering the whole RP2 family (RP2040 and RP2350).
`rp2040` survives only as a deprecated alias with
ALIAS_REMOVAL_VERSION = "2027.7.0".

Both Pico examples also overrode `platform_version` with an unpinned git HEAD
of maxgerhardt/platform-raspberrypi, under a comment saying it was required
until platformio/platform-raspberrypi#36 merges. That is no longer true --
ESPHome now pins a matched framework/platform pair itself:

    RECOMMENDED_ARDUINO_FRAMEWORK_VERSION = 5.6.1
    RECOMMENDED_ARDUINO_PLATFORM_VERSION  = "v1.4.0-gcc14-arduinopico460"

Overriding that with a moving HEAD pulls a toolchain whose newlib lacks
thread-local reent, and the build fails while compiling the arduino-pico core:

    cores/rp2040/malloc-lock.cpp:122:19: error: '__getreent' was not declared
    in this scope; did you mean '_reent'?

Dropping the override resolves it. Verified by a successful build of a
Pico 2 W (board: rpipico2w, RP2350) config on ESPHome 2026.7.4.

Additionally:

- example_pico-w.yaml still declared `auto:` and `sleep:` switches. Those
  moved to fan presets in 122b048 and are no longer in switch.py's schema, so
  the example failed validation. This was flagged in 6ddba37 but not fixed.

- README gave ESPHome 2026.1 as the minimum, but winix_c545.h calls
  Fan::wire_preset_modes_(), which was added in 2026.7. Earlier releases
  cannot compile the component.


Claude-Session: https://claude.ai/code/session_01SezvUzk6wDCP2Zrgwaw58c

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>