Releases: pimoroni/pimoroni-pico-rp2350
Version 1.26.1
Version v1.26.1
pimoroni-pico has been bumped, bringing bugfixes to VL53L1X, a change_addr method to VL53L5CX, in addition to text wrapping fixes and unicode glyph support in PicoVector fonts.
What's Changed
- Add Jumbo examples by @helgibbons in #9
- add lte examples by @helgibbons in #13
- add wireless examples by @helgibbons in #12
- add RM2 Breakout example by @helgibbons in #16
- Backports from wireless branch by @Gadgetoid in #24
- tweak RM2 breakout examples by @helgibbons in #19
- Add examples for the Plasma 2350 W by @thirdr in #23
- Examples: Corrected 'NUM_LEDS' to match our kit by @thirdr in #25
- Examples: adding button_control.py by @thirdr in #26
- Use hue by @lwr20 in #29
- Update download links in readme by @helgibbons in #33
- CI: Workaround silly mpy-cross build wart. by @Gadgetoid in #34
- Readme: Link to new Plasma repo by @helgibbons in #39
- Update README.md by @helgibbons in #42
- Wireless & Bluetooth Support by @Gadgetoid in #18
- CI: Bump pimoroni-pico. by @Gadgetoid in #43
New Contributors
- @helgibbons made their first contribution in #9
- @lwr20 made their first contribution in #29
Full Changelog: v0.1.0...v1.26.1
Full pimoroni-pico Changelog: pimoroni/pimoroni-pico@feature/picovector2-and-layers...main
Full MicroPython Changelog: pimoroni/micropython@pico2_w_2025_04_09...pimoroni:micropython:pico2_w_2025_09_19
Version 0.1.0 - MicroPython 1.25.0 (Preview)
This release marks PSRAM support being merged into upstream and sweeps up some additional changes for your tinkering pleasure.
- LTE & PPP Enabled for Pico 2 and Pico 2 W
- A couple of WIP sleep fixes: https://github.com/pimoroni/micropython/commits/pico2_w_2025_04_09/
- BME690 support
- Ulab bumped to 6.7.3
- PicoVector bug fixes and performance tweaks
- PimoroniBus - Support
machine.Pinarguments - PimoroniI2C - Support
machine.Pinarguments (note: this is deprecated, you should prefer:machine.I2C()) - Miscellaneous other changes from pimoroni/pimoroni-pico#1019
Full Changelog: v0.0.12...v0.1.0
Version 0.0.12
This release is mostly to fix some built in modules missing from the Pico 2 build. A few interim changes have come along for the ride!
What's Changed
- Add Jumbo examples by @helgibbons in #9
- add lte examples by @helgibbons in #13
- add wireless examples by @helgibbons in #12
- add RM2 Breakout example by @helgibbons in #16
- Backports from wireless branch by @Gadgetoid in #24
- tweak RM2 breakout examples by @helgibbons in #19
- Add examples for the Plasma 2350 W by @thirdr in #23
- Examples: Corrected 'NUM_LEDS' to match our kit by @thirdr in #25
- Examples: adding button_control.py by @thirdr in #26
- Use hue by @lwr20 in #29
- Update download links in readme by @helgibbons in #33
- CI: Workaround silly mpy-cross build wart. by @Gadgetoid in #34
New Contributors
- @helgibbons made their first contribution in #9
- @lwr20 made their first contribution in #29
Full Changelog: v0.0.7...v0.0.12
v0.0.11 - Pico 2 W Is Officially A Thing Now
This is an experimental release, cleaning up our Pico 2 and Pico 2 W builds now there are - reasonably - final authoritative configurations for these in Pico SDK 2.1.0 and almost-in-MicroPython.
Pico 2 and Pico 2 W users can now download the appropriately named builds.
You should definitely read the previous release notes if you're doing anything fancy - https://github.com/pimoroni/pimoroni-pico-rp2350/releases/tag/v0.0.10
What's Changed
- Add Jumbo examples by @helgibbons in #9
- add lte examples by @helgibbons in #13
- add wireless examples by @helgibbons in #12
- add RM2 Breakout example by @helgibbons in #16
- Backports from wireless branch by @Gadgetoid in #24
- tweak RM2 breakout examples by @helgibbons in #19
New Contributors
- @helgibbons made their first contribution in #9
Full Changelog: v0.0.7...v0.0.11
Version 0.0.10 - Why so blue, RM2?
New Since v0.0.9
This build includes fixes for Bluetooth and WL GPIO (that's GPIO provided by the wireless chip, ala Pico W's onboard LED).
For Bluetooth, bringup is similar to WiFi:
ble = bluetooth.BLE(pin_on=32, pin_out=35, pin_in=35, pin_wake=35, pin_clock=34, pin_cs=33)And to ensure you can talk to a GPIO on an external module, you must also supply the pins when creating a new Pin instance, like so:
wl_gpio0 = Pin('WL_GPIO0', Pin.OUT, pin_on=32, pin_cs=33, pin_dat=35, pin_clock=34)
wl_gpio1 = Pin('WL_GPIO1', Pin.OUT, pin_on=32, pin_cs=33, pin_dat=35, pin_clock=34)
wl_gpio2 = Pin('WL_GPIO2', Pin.OUT, pin_on=32, pin_cs=33, pin_dat=35, pin_clock=34)Note: the RM2 module has WL_GPIOs 0, 1 and 2 broken out, whereas the Pico Plus 2 Wireless uses WL_GPIO0 for the onboard LED.
Because the LED on Pico Plus 2 is driven by an RP2350 GPIO pin (25) it's known as "LED" whereas the Pico Plus 2 W's LED pin has been moved to "LEDW" and is an alias of "WL_GPIO0". We're looking into ways to iron out this wrinkle!
Note: The first bringup wins. After you have configured WiFi, Bluetooth or a GPIO pin with these custom pins, you will not need to supply them again.
Release notes form v0.0.9
This release targets our wireless branch, bringing support for PPP and WiFi (either onboard or with the RM2 module) to our RP2350-based boards.
Since the last release, RP2350 support has been merged into MicroPython so we're a step closer to a stable release (read: not a teetering tower of unmerged PRs and develop branches).
However we're still missing:
- Custom Wireless Pins Support: micropython/micropython#16057
- PSRAM Support: micropython/micropython#15620
As such these builds are still necessarily somewhat experimental where PSRAM and/or Wireless are concerned!
Combined Builds
We have dropped separate W and non-W builds since SP/CE and the RM2 module means there isn't really any meaningful distinction.
Slightly more controversially, we've dropped the non-PSRAM variant of PPP2's firmware. This was mostly a fallback while PSRAM support was highly experimental and potentially unstable. It might still be useful for users who want ALL THE PERFORMANCE, since PSRAM is slower than RAM, so let us know if you miss it.
Phil's Plasma Palaver
If you've been having trouble with your Plasma 2350 failing and requiring a reflash to work again, that's my fault- I got the flash size wrong (8MB when it's actually 4MB) in the Pico SDK board configuration, resulting in a Plasma 2350 build which would overwrite its own firmware when you save a file. Very big oof. That should be fixed in these builds.
Custom Wireless Pins
Thanks to some effort by Peter the WiFi driver and MicroPython wrapper are getting an overhaul to better support custom pins. See: micropython/micropython#16057
Thus our temporary hack, (this is for SPICE on Pimoroni Pico Plus 2):
network.wlan_set_pins(32, 35, 34, 33) # Power, Data IO, Clock, CS
wlan = network.WLAN(network.STA_IF)
Should be replaced with:
wlan = network.WLAN(network.STA_IF, pin_on=32, pin_out=35, pin_in=35, pin_wake=35, pin_clock=34, pin_cs=33)This is currently an unmerged PR subject to change and may not be the final API!
PSRAM Tweaks
This build includes some more fixes to PSRAM stability. You can find ongoing discussion about PSRAM support in MicroPython here: micropython/micropython#15620
Version 0.0.9
This release targets our wireless branch, bringing support for PPP and WiFi (either onboard or with the RM2 module) to our RP2350-based boards.
Since the last release, RP2350 support has been merged into MicroPython so we're a step closer to a stable release (read: not a teetering tower of unmerged PRs and develop branches).
However we're still missing:
- Custom Wireless Pins Support: micropython/micropython#16057
- PSRAM Support: micropython/micropython#15620
As such these builds are still necessarily somewhat experimental where PSRAM and/or Wireless are concerned!
Combined Builds
We have dropped separate W and non-W builds since SP/CE and the RM2 module means there isn't really any meaningful distinction.
Slightly more controversially, we've dropped the non-PSRAM variant of PPP2's firmware. This was mostly a fallback while PSRAM support was highly experimental and potentially unstable. It might still be useful for users who want ALL THE PERFORMANCE, since PSRAM is slower than RAM, so let us know if you miss it.
Phil's Plasma Palaver
If you've been having trouble with your Plasma 2350 failing and requiring a reflash to work again, that's my fault- I got the flash size wrong (8MB when it's actually 4MB) in the Pico SDK board configuration, resulting in a Plasma 2350 build which would overwrite its own firmware when you save a file. Very big oof. That should be fixed in these builds.
Custom Wireless Pins
Thanks to some effort by Peter the WiFi driver and MicroPython wrapper are getting an overhaul to better support custom pins. See: micropython/micropython#16057
Thus our temporary hack, (this is for SPICE on Pimoroni Pico Plus 2):
network.wlan_set_pins(32, 35, 34, 33) # Power, Data IO, Clock, CS
wlan = network.WLAN(network.STA_IF)
Should be replaced with:
wlan = network.WLAN(network.STA_IF, pin_on=32, pin_out=35, pin_in=35, pin_wake=35, pin_clock=34, pin_cs=33)This is currently an unmerged PR subject to change and may not be the final API!
PSRAM Tweaks
This build includes some more fixes to PSRAM stability. You can find ongoing discussion about PSRAM support in MicroPython here: micropython/micropython#15620
Version 0.0.8
This release targets our wireless branch, bringing support for PPP and WiFi (either onboard or with the RM2 module) to our RP2350-based boards.
Since the last release, RP2350 support has been merged into MicroPython so we're a step closer to a stable release (read: not a teetering tower of unmerged PRs and develop branches).
However we're still missing:
- Custom Wireless Pins Support: micropython/micropython#16057
- PSRAM Support: micropython/micropython#15620
As such these builds are still necessarily somewhat experimental where PSRAM and/or Wireless are concerned!
Phil's Plasma Palaver
If you've been having trouble with your Plasma 2350 failing and requiring a reflash to work again, that's my fault- I got the flash size wrong (8MB when it's actually 4MB) in the Pico SDK board configuration, resulting in a Plasma 2350 build which would overwrite its own firmware when you save a file. Very big oof. That should be fixed in these builds.
Custom Wireless Pins
Thanks to some effort by Peter the WiFi driver and MicroPython wrapper are getting an overhaul to better support custom pins. See: micropython/micropython#16057
Thus our temporary hack, (this is for SPICE on Pimoroni Pico Plus 2):
network.wlan_set_pins(32, 35, 34, 33) # Power, Data IO, Clock, CS
wlan = network.WLAN(network.STA_IF)
Should be replaced with:
wlan = network.WLAN(network.STA_IF, pin_on=32, pin_out=35, pin_in=35, pin_wake=35, pin_clock=34, pin_cs=33)This is currently an unmerged PR subject to change and may not be the final API!
PSRAM Tweaks
This build includes some more fixes to PSRAM stability. You can find ongoing discussion about PSRAM support in MicroPython here: micropython/micropython#15620
Full Changelog: v0.0.7...v0.0.8
Version 0.0.7 - PSRAM Fixed (Again)
This release fixes the bug in PSRAM I had re-introduced by missing a commit somewhere in a pull request upstream...
Note: This release (and all versions prior) is based on unmerged MicroPython RP2350 and PSRAM support, in addition to other fixes. There will probably be bugs!
- PR for RP2350 support in MicroPython - micropython/micropython#15619
- PR for PSRAM support in MicroPython - micropython/micropython#15620
Additional note: For your convenience we've also attached even more experimental (as if that were possible) builds of Plasma2350 and Pico Plus 2 which have networking support for LTE and WiFi built in. You'll find these below!
Version 0.0.6
Bump to include any bugfixes, improvements or changes to the MicroPython RP2350 pull-request which might have happened in the last few weeks.
I have lost track of what this includes, but PICO_EMBED_XIP_SETUP=1 has been enabled and should increase performance slightly.
Version 0.0.5 Will Trash Your Filesystem
This release sets less optimistic firmware sizes for all Pimoroni boards, and changes the firmware allocation for the Pico 2 and Pico 2B builds to match the upstream MicroPython config.
Since this moves the start of the user filesystem, your board will create a new filesystem on first boot and any .py files (or otherwise) will be lost. These are somewhat recoverable with picotool and a hex editor, but you don't want to have to do that!
Full Changelog: v0.0.3...v0.0.5
