# Firmware update for Pico-Wireless Pack

**URL:** <https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272>\
**Category:** Support\
**Created:** [September 1, 2025, 10:48am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272 "2025-09-01T10:48:04Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![bablokb](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@bablokb](https://forums.pimoroni.com/u/bablokb)\
**Post date:** [September 1, 2025, 10:48am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/1 "2025-09-01T10:48:04Z")

</div>

I know that product is retired, but I have one and I want to update the firmware. Is there a ready-to-use utility available? I know how to build one myself, but I am lazy and I would prefer to use something that is already there.

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [September 1, 2025, 11:04am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/2 "2025-09-01T11:04:11Z")

</div>

Tagging along as I have two of them sitting here doing nothing.

---

<div class="post-metadata">

**Author:** ![bablokb](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@bablokb](https://forums.pimoroni.com/u/bablokb)\
**Post date:** [September 1, 2025, 12:37pm UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/3 "2025-09-01T12:37:14Z")

</div>

I am actually thinking of plugging the wireless-pack into the Pico-Jumbo breadboard to have a Pico-Jumbo-W variant so to say.

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [September 1, 2025, 4:13pm UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/4 "2025-09-01T16:13:20Z")

</div>

I like how your thinking. =-)  
I was thinking I’d like to get one or two more with no Pico attached, so I could just add a W or Pico 2 W.

---

<div class="post-metadata">

**Author:** ![bablokb](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@bablokb](https://forums.pimoroni.com/u/bablokb)\
**Post date:** [September 1, 2025, 4:22pm UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/5 "2025-09-01T16:22:09Z")

</div>

I think the Jumbo has always a Pico2 attached.

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [September 1, 2025, 4:49pm UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/6 "2025-09-01T16:49:59Z")

</div>

Yes your right, ops.

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [September 1, 2025, 5:01pm UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/7 "2025-09-01T17:01:02Z")

</div>

The old Product page is still there, if anybody is wondering what we are talking about.  
[Pico Wireless Pack](https://shop.pimoroni.com/products/pico-wireless-pack)

---

<div class="post-metadata">

**Author:** ![bablokb](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@bablokb](https://forums.pimoroni.com/u/bablokb)\
**Post date:** [September 5, 2025, 9:30am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/8 "2025-09-05T09:30:31Z")

</div>

Since non of the pirates chimed in, I created my own solution. Basically, there are three options:

- Buy or use a normal ESP32-programmer. These usually have all necessary pins broken out and you just have to wire up the correct pins (RX, TX, RST, GPIO0) to the wireless pack. Once wired up, the programmer acts as a serial bridge for the tool that actually flashes the firmware.
- Use a Pico instead. I created a special firmware for a Pico (see [Release Release 1.0.0 First Public Release · bablokb/pico-esp-programmer · GitHub](https://github.com/bablokb/pico-esp-programmer/releases/tag/1.0.0) ) that has the correct pins built in. It puts the wireless-pack into bootloader mode and then acts as a transparent USB-to-serial bridge. So no wiring necessary, just plug the pack as intended to the back of the Pico.
- Create a special Pico-firmware that has the new wireless-pack firmware as an internal payload. As soon as the Pico-firmware starts, it begins to flash to wireless-pack. The advantage is that you don’t need a special flashing tool (e.g. esptool.py). The drawback is that you need a Pico variant with more than 4MB flash, since the payload (wireless-pack firmware) is already 4MB large. I decided not to go this route.

So where do you get a newer firmware? Pimoroni does not document what firmware they use for the wireless pack. But looking at their MicroPython code, it seems to be Adafruit’s Nina-FW (or a variant thereof). Adafruit has released various updates recently, mainly to support new CA-certificates (needed to connect to hosts that use these CAs). So there could be some good reasons to update… But as always: I would only do that if it is really necessary.

Personally I use a totally different firmware (ESP-AT) and I used the second option to update my wireless-pack successfully.

---

<div class="post-metadata">

**Author:** ![ZodiusInfuser](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/zodiusinfuser/32/10546_2.png) [@ZodiusInfuser](https://forums.pimoroni.com/u/ZodiusInfuser)\
**Post date:** [September 5, 2025, 10:06am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/9 "2025-09-05T10:06:17Z")

</div>

If memory (and the below pull request) serves, the wireless pack is using the Adafruit Nina-FW:

> <https://github.com/adafruit/nina-fw/pull/33>
>
> Made two tweaks to the firmware to support an upcoming Pimoroni product. Specifi…cally:
> 
> \- Added support to pinMode for INPUT\_PULLUP, so digitalRead is easier to use with buttons
> \- Updated analogWrite to use the full PWM range, so that common anode LEDs can be turned off
> 
> Have built the firmware locally under Ubuntu 18.04 LTS and tested these two changes work.

To flash the boards I believe I had a Pico with a CircuitPython build on it. We’d then compile the ESP firmware and put it on an SD card inserted into the Pico Wireless Pack. The Pico would then read that and flash the ESP32. Sadly, I can’t seem to find the code for this anymore, but I’d guess 95% of it was based on Adafruit examples for updating boards that have ESP32s as co-processors.

---

<div class="post-metadata">

**Author:** ![bablokb](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@bablokb](https://forums.pimoroni.com/u/bablokb)\
**Post date:** [September 5, 2025, 10:13am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/10 "2025-09-05T10:13:47Z")

</div>

Good to hear, thanks. So newer versions of the Nina-FW should work. Just adding the link to newer firmwares here for those who need it: [Releases · adafruit/nina-fw · GitHub](https://github.com/adafruit/nina-fw/releases)

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [September 5, 2025, 11:05am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/11 "2025-09-05T11:05:17Z")

</div>

@bablokb If I go with option 2 above, and use your special Pico firmware; does it do the full flash, or just set up ready to be flashed?  
Also, what do I do after that to make use of the Wifi on the Wireless pack?

---

<div class="post-metadata">

**Author:** ![bablokb](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@bablokb](https://forums.pimoroni.com/u/bablokb)\
**Post date:** [September 5, 2025, 11:37am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/12 "2025-09-05T11:37:57Z")

</div>

Option 2 does not flash, it just adds a virtual USB-serial to the wireless-pack. Probably something like COMxxx on Windows (/dev/ttyACM0 on Linux). You can find a description on what do to here: [Upgrade All-in-One ESP32 AirLift Firmware | Upgrading AirLift ESP32 Firmware | Adafruit Learning System](https://learn.adafruit.com/upgrading-esp32-firmware/upgrade-all-in-one-esp32-airlift-firmware) (start with section “**Download NINA Firmware”).**

You can find some (very) basic examples here: [pimoroni-pico/micropython/examples/pico\_wireless at main · pimoroni/pimoroni-pico · GitHub](https://github.com/pimoroni/pimoroni-pico/tree/main/micropython/examples/pico_wireless)

Not very much, especially nothing useful like “download weather-data and display it”. If you google around, you will find some more examples. For CircuitPython, you will find tons of examples. Mainly because Adafruit uses the same technology in many different products (“AirLift” - available as builtin or as a separate breakout).

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [September 5, 2025, 11:49am UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/13 "2025-09-05T11:49:32Z")

</div>

Ok, thanks for the more detailed info. I’ll be tinkering around with it in a bit.

---

<div class="post-metadata">

**Author:** ![bablokb](https://avatars.discourse-cdn.com/v4/letter/b/ee59a6/32.png) [@bablokb](https://forums.pimoroni.com/u/bablokb)\
**Post date:** [September 5, 2025, 1:10pm UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/14 "2025-09-05T13:10:53Z")

</div>

Just reach out for help if you feel the need. But maybe in a new thread, since this one bugs me with those “there is already a solution”-messages.

---

<div class="post-metadata">

**Author:** ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)\
**Post date:** [September 5, 2025, 7:55pm UTC](https://forums.pimoroni.com/t/firmware-update-for-pico-wireless-pack/28272/15 "2025-09-05T19:55:38Z")

</div>

@bablokb I will start a new thread if I get ambitious enough to flash one or two of mine.

@ZodiusInfuser You don’t happen to know if there is an old version of the Pimoroni Pico uf2 still around for this Pack? The one for a Pico V1 that the examples will work with?
