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.
Tagging along as I have two of them sitting here doing nothing.
I am actually thinking of plugging the wireless-pack into the Pico-Jumbo breadboard to have a Pico-Jumbo-W variant so to say.
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.
I think the Jumbo has always a Pico2 attached.
Yes your right, ops.
The old Product page is still there, if anybody is wondering what we are talking about.
Pico Wireless Pack
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 ) 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.
If memory (and the below pull request) serves, the wireless pack is using the Adafruit Nina-FW:
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.
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
@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?
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 (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
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).
Ok, thanks for the more detailed info. Iāll be tinkering around with it in a bit.
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.
@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?