Presto V2 Firmware - Write Issue

Bit of a strange one this…

I got a Presto last week which I’ve been doing some experimenting with, playing with the examples etc.

It arrived with the v1 firmware installed (Aug 2025), which works fine. Today I updated to the v2 Firmware (Aug 2026) for the latest updates and everything still works fine except saving/writing files.

It all runs fine, connects to Thonny, I can read and run code via Thonny but anything involving a write hangs indefinitely.

I tried reflashing the v2 firmware, rebooted everything but the problem remains. I reflashed the original v1 firmware and this resolved it so it’s v2 related for sure.

Not seen any other reports of this issue. I’m going to try a Thonny alternative next but open to any other suggestions.

Do you mean writing files by Thonny, or using micropython to write files in running code?

I’ve got a Presto flashed with presto-v2.0.0-micropython.uf2 and using Thonny 4.1.7 on a Windows 11 machine and it’s working fine. I’ve saved .py .af .png and .jpg onto the Presto flash using Thonny, and my code writes (and reads) text files (though with variously .txt and .csv extension) and .png files to a uSD card when running.

Just tried

with open("/foobar.txt", "a") as f:
    f.write("aha\n")

in the shell on Thonny and it did what it ought.

A new Presto V2 firmware, I missed that, I wonder if there’s a way to get notified on new updates. I updated a Presto, but like @achrn I have no problem writing and reading to/from newly created files saved to the Presto when running the program via Thonny. (if indeed that was where you were writing your files to). Don’t forget you may have to click the ‘refresh’ in the micropython file window to see the latest files you have created. Let us know exactly where your write problem manifested itself and we can see if we can reproduce.

Might be worth trying flashing this .uf2 file to the board to completely clear the flash memory, and then copying the new firmware over again?

If you click on this button in the Presto Github repo you can sign up for email notifications of new releases):

Thanks for getting back to me, I’ve tried a couple of further tests to see if I can pinpoint the issue.

I flashed the .uf2 to clear the flash and reflashed the v2 firmware but unfortunately that didn’t fix it.

I’ve been using Thonny 5.0.0 which is the latest but I went back to 4.1.7 (got the portable version) but this is doing the same thing.

I tried the write test but it just hangs and doesn’t return to the >>> prompt. As a test I wrote a reverse test to read the first line from secrets.py and that works fine - full output below:

Traceback (most recent call last):
  File "main.py", line 330, in <module>
KeyboardInterrupt: 
MicroPython feature/presto-wireless-august-2026,   on 2026-08-26; Presto with RP2350
Type "help()" for more information.
MicroPython feature/presto-wireless-august-2026,   on 2026-08-26; Presto with RP2350

Type "help()" for more information.

>>> with open("/secrets.py", "r") as f:
    ln = f.readline(20)
    print('Read Data: ', ln)
    
Read Data:  WIFI_SSID = ""

>>> with open("/foobar.txt", "a") as f:
    f.write("aha\n")
    

I wasn’t able to interrupt execution but doing a CTRL+C a few times raised a serial timeout error:

serial.serialutil.SerialTimeoutException: Write timeout

I’m going to try getting another copy of the v2 firmware in case there is something wrong with the copy I obtained. I’ll repeat the above tests with the v1 firmware as well to check that still works.

Fresh download of the v2 firmware didn’t resolve the issue. This is the ‘with-filesystem’ firmware at this link: Release Version 2.0.0 · pimoroni/presto · GitHub

I reloaded the v1 firmware and did the above testing again and it works fine, I can see the newly created file and can even read the written file back in code:

Traceback (most recent call last):
  File "main.py", line 330, in <module>
  File "presto.py", line 92, in update
  File "touch.py", line 65, in poll
KeyboardInterrupt: 
MicroPython feature/presto-wireless-august-2025,   on 2025-08-18; Presto with RP2350
Type "help()" for more information.
MicroPython feature/presto-wireless-august-2025,   on 2025-08-18; Presto with RP2350

Type "help()" for more information.

>>> with open("/secrets.py", "r") as f:
    ln = f.readline(20)
    print('Read Data: ', ln)
    
Read Data:  WIFI_SSID = ""

>>> with open("/foobar.txt", "a") as f:
    f.write("aha\n")
    
4
>>> with open("/foobar.txt", "r") as f:
    ln = f.readline(20)
    print('Read Data: ', ln)
    
Read Data:  aha

>>> 

(above via Thonny 4.1.7)

I’ll stick on the v1 firmware for the moment but any suggestions do let me know and I’ll give them a try!

Hmm. I agree that’s very odd. It looks beyond me.

For completeness I’ve tried Thonny 5.0.0 and that also works fine for me. I recognise that doesn’t help you.

Yeah… it’s either a v2 firmware issue that hasn’t been spotted - it seems unlikely but it is quite new (Aug 26th)… Alternatively, it’s something with my device.

Appreciate the assistance though - this is my 2nd MicroPython device (after my Badger 2350) so I’m still in the learning phase but troubleshooting this sort of thing is a great way to learn!

I could not reproduce your write error and it appeared to work ok. But I only updated with the firmware and not the firmware + filesystem as I’ve got some wip on that presto I did not want to zap.

I was using Thonny 5.0

I suspect, on your Presto, it was something to do with what you were running before trying your code snippet on the REPL that was not cleared up when you quit that program. Maybe theres some changes in the downloaded example files. I suggest you rename any main.py file on your Presto so it wont auto run, restart the Presto and try your REPL code again from a fresh start.

Just received my Presto from Adafruit yesterday. Opened the box and plugged it in. It works!

I connected it to Thonny 4.1.4 on my Mac running Monterey. No problem. Was able to edit the secrets.py file and save it.

I then looked for firmware update since it came with 1.0.0. Saw that 2.0.0 was released in August, 2026. Great, I will update the firmware to 2.0.0. Updated without issue.

I started Thonny back up. Refreshed the Thonny terminal to confirm it was running the 2.0.0 August, 2026 release.

Next, I opened the secrets.py file. Saw the addition of UTC_OFFSET to change the time. OK, updated the WiFi credentials and the UTC_OFFSET variable. Cmd-S to save. Uh-Oh, not saving. Hangs on the secrets.py file save.

Downloaded the version 1.0.0 firmware. Installed it, updated the secrets.py file. Joy. It saved the file.

Reinstalled the 2.0.0 firmware with and without filesystem. Tried updating the secrets.py file. No joy. Thonny hung. Tried creating a new file and saving it. Again, no joy. File save hung.

Reinstalled the 1.0.0 firmware again. Edited the secrets.py file. Saved it. Joy. It saved.

The 2.0.0 firmware is not working in Thonny 4.1.4 on Mac OS Monterey for file saves.

@rantley When you copied the firmware without a file system to your Presto did you also take steps to stop Presto reading a main.py file on power up. Thonny does have a reputation for causing some issues and if you were reporting the problem on the micropython github discussions web site the first thing that would probably be suggested is to run the program outside of Thonny.

I’m not blaming Thonny as yet but its worth checking the possibility as I had no problem with updating my Presto with the V2 no filesystem version (so far anyway :) ) and its main.py is nothing to do with the example files. Even if it turns out to be a Thonny problem I expect Pimoroni would still want to ensure their examples run within the Thonny editor, and it would be nice to hear where the problem lies. I will probably have a go loading up the V2 with filesystem to check it for myself later this week if there are no updates posted.

@rantley That sounds like exactly the same thing that I’m experiencing, except on Mac rather that Windows.

My next plans was to try the tests/updates with mpremote rather than Thonny and also switch over to Linux and try it there. If it’s happening on Mac then I suspect the Linux test will also fail though…

I tried to setup mpremote this morning, doesn’t seem to be working quite right - seems to hang for me (on v1 firmware). I was doing it in a bit of a rush so I may have done it wrong.

@SirFico I’ll see if I can do that - not sure if I’ll be able to rename/edit the main.py file because of the write issue though (unless I can do it via mpremote or some other option).

Not 100% but I’m sure the problem presented when running a different example (e.g. launching an example via Thonny then going and trying to save something. I’ll check this properly though.

I’ve hit the file.write bug with the Presto V2. I was amending a rather large program that used a few print statements to view the state of various things to both show the info directly to a Presto Screen and to write the info to a log file. And on adding the info to the log file the program hung and was only recoverable after a power cycle.
I then used VSC with the MicroPico extension to run the program and it also hung at the file write. (and using the VSC with a large amount of files on the Presto highlighted how nice the Thonny file viewing system is)

My code incorporated some rather large library imports of widget classes I was using to put the info on the screen so at the moment my program is too large to be used as a test snippet to forward to Pimoroni to highlight the issue, but nevertheless I put an issue in the Presto Releases and referred to this Buccaneers post chain.

Presto V2 firmware - File Write Issue. #121

I did some Googling on this issue. Google Gemini returned some possible causes of the issue. One cause was corrupted flash. The recommendation was to nuke the flash on the RP2350. Searching turned up a nuke flash .uf2 file from the Raspberry Pi organization: nuke_universal.uf2

I used the .uf2 and then installed the Presto V2 firmware with filesystem. I was able to edit and save the secrets.py file this time using Thonny. But I am not sure nuking the flash was the solution.

What I did differently this time was press the STOP button before trying to edit and save the secrets.py file. When running the V1 firmware, I did not press the STOP button before editing the secrets.py file. I was able to save the file and with launcher screen visible on the Presto.

When running the V2 firmware, attempting to save the secrets.py file with the launcher screen visible results in a hang. Resetting the Presto, then pressing the STOP button in Thonny which causes a soft reboot will stop main.py from running. Then editing and saving the secrets.py file works.

@SirFico, you are right to say that main.py shouldn’t be running for V2. But the V1 firmware running main.py while editing and saving the secrets.py file worked without issue.

So I have learned that I should always press the STOP button in Thonny first, see the soft-reboot message in the console, then do my editing.

Note that I also tested out using mpremote to edit the secrets.py file in the V2 firmware. The save of the file worked. But again, no main.py file was running. In fact, any use of mpremote will stop main.py from running on the Presto.

@rantley Just tried this and confirmed that I can save changes after first pressing the STOP button on v2 now.

With v1 when saving it would automatically interrupt the program currently running (usually main.py), you could see this as the screen would no longer accept input. With the STOP button it fully resets the Presto and the screen is totally blank.

I think the problem is when interrupting execution specifically, and the Stop to soft reboot works fine.

The behaviour definitely changed between v1 and v2 though…

@frasergj @frasergj I should have put a link to the issue rather than just copy paste the name :)

If you peep at it you can see issues have been identified and are in the process of being fixed. @gadgetoid was working on it in the wee small hours of the day. Heroic stuff.

@SirFico Yeah I did see the issue on GitHub as I went looking for it when you said you’d raised it. That was before @gadgetoid had picked it up though.

Glad it’s been identified and resolved, I work in software so I know that it’s one of those things. Hats off for the heroics pushing it through overnight though!

Big fan of Pimoroni, the care and passion for all their products really shines through, there will be many more orders coming from me!