The drive disappearing as soon as a valid UF2 has been dragged and dropped to it can be confusing to those not expecting it. It really does feel like "something has gone wrong" until you get used to it.
That what had been copied does not appear on the drive when the Pico is plugged back in only serves as confirmation for a mistaken impression that something had gone wrong until you understand the behaviour - which isn't obvious unless you have read the documentation or figured it out.
While the drive presented in BOOTSEL mode is entirely virtual there is no reason it couldn't have presented a UF2 file entry which reports what was last uploaded to Flash. That could be the filename, "Unprogrammed", "Nuked" an indicator of Flash area used or simply "Unknown". It would have then been possible to copy that UF2 file from the drive without having to resort to using 'picotool' or some other app to do that. A read-protect flag could have been added to UF2 files which would have prevented it being trivially easy to 'steal images'.
It would also have been useful to have an additional TXT file paired with the UF2 which provided details of what had been uploaded, filename, build date and time, Flash area used, checksum or hash.
I can only presume there is none of that because the Boot ROM didn't have room to support it. And it's not worth suggesting it is implemented as feature requests aren't appreciated on this forum and usually lead to a thread getting locked.
I had proof of concept code which would have done all that apart from it not being completed and I appear to have lost the source in an OS upgrade. It ran as Run from RAM code so you could drag the UF2 to the drive without affecting Flash, it would reboot and present a drive and do everything above, and it should even be possible to allow files to be copied to and from the MicroPython file system if that were being used. One day I might get back to that adventure again.
That what had been copied does not appear on the drive when the Pico is plugged back in only serves as confirmation for a mistaken impression that something had gone wrong until you understand the behaviour - which isn't obvious unless you have read the documentation or figured it out.
While the drive presented in BOOTSEL mode is entirely virtual there is no reason it couldn't have presented a UF2 file entry which reports what was last uploaded to Flash. That could be the filename, "Unprogrammed", "Nuked" an indicator of Flash area used or simply "Unknown". It would have then been possible to copy that UF2 file from the drive without having to resort to using 'picotool' or some other app to do that. A read-protect flag could have been added to UF2 files which would have prevented it being trivially easy to 'steal images'.
It would also have been useful to have an additional TXT file paired with the UF2 which provided details of what had been uploaded, filename, build date and time, Flash area used, checksum or hash.
I can only presume there is none of that because the Boot ROM didn't have room to support it. And it's not worth suggesting it is implemented as feature requests aren't appreciated on this forum and usually lead to a thread getting locked.
I had proof of concept code which would have done all that apart from it not being completed and I appear to have lost the source in an OS upgrade. It ran as Run from RAM code so you could drag the UF2 to the drive without affecting Flash, it would reboot and present a drive and do everything above, and it should even be possible to allow files to be copied to and from the MicroPython file system if that were being used. One day I might get back to that adventure again.
Statistics: Posted by hippy — Fri Oct 17, 2025 11:30 am