Picoware (Open-Source Custom Firmware)

NEW Picoware update, v1.7.1 :fire:

This is an update to the MicroPython version.

Highlights:

  • Added scaling support to the Draw class
  • Added four new apps (JB-News, Unit Converter, Drill Speed, and Egg Timer)
  • Updated the CCTV app to load the response into PSRAM and then split-decode into the JPEG parser (now less than 100 KB is used)
  • Fixed exiting/saving in the Python Editor

Check out the full release notes here:

Trying to update OTA but I don’t think it’s working. The dl process says it’s saving a .uf2 file, but I don’t see that file via File Manager and the Show Version still shows 1.7.0 Is there a step beyond choosing Update Firmware?d

Check out the guides → Picoware/guides at main · jblanked/Picoware · GitHub

As is my usual luck, that doesn’t work.

Should I be able to see the .uf2 file via the File Manager function?

And I’m assuming the “Up button” in step 3 refers to the up arrow of the direction control? Or is it another key? Following step 3 I see the System Information screen. Sorry to be such a pita all the time.

Btw, after the pico tells me the download is complete and the file is on the SD I put the SD in my PC and there aren’t any files in the root, only folders.

You need the uf2loader. Check the Updates.md

The download isn’t saved on the root of the SD card. It’s saved in the proper uf2loader folders

Believe it or not I was a software developer for decades. We had a “test” during code reviews etc that was “could my grandmother use this successfully, without support”.

Two thing - 1. I guess I’ve become my grandmother and 2. This project is obviously way beyond my being able to use successfully.

I do appreciate your work & zeal. But being a complete nag, bugging you constantly for help, isn’t fun for either of us I’m sure. For now I’ll find something else to play with. If it ever appears that picoware can pass “the granny test” I’ll try again.

There’s a video guide and written guide on the process; it’s not “picoware cant pass the granny test”. You just need to follow the guides.

If you’re having trouble with OTA updating, then just install it the normal way.

I myself am of the view that this “granny test” that supposedly basically means any non-trivial software is somehow a no-go just because someone cannot follow directions is entirely unreasonable, but to insist that people watch a “video guide” for directions is also unreasonable because a lot of people (such as myself) will not sit through a video for instructions, whereas written instructions are much more suitable for many. I personally avoid most videos aside from things like music videos on YouTube like the plague, and I bet I am not alone in that department.

3 Likes

You are not alone. I will avoid video guides in favor of a written instructions any day. Unfortunately we are the minority it would seem.

Ditto. I don’t always have a tablet handy and my phone is too small to read comfortably when I put it next to my work. In a video, they may not explain things very well so I can usually get more out of a printed text.

This is a forum for Picoware. Let’s please keep it as so.

1 Like

Interestingly, if I run

>>> import os

>> os.listdir(‘/’)

in Thonny, the Pico running Picoware gives

[‘lib’]

while the Pico 2W running Picoware gives

[]

On the Pico, also the following is possible:

os.mkdir(‘test’)
os.listdir()
[‘lib’, ‘test’]

while the Pico 2W returns:

os.mkdir(‘test’)
Traceback (most recent call last):
File “”, line 1, in
OSError: [Errno 19] ENODEV

I have no clue what the reason for this totally different behavior could be. Same Picoware version, only different boards (I also tried it with the Pico 2W removed from the Picocalc). You already said that you might be no help with this issue, and that is absolutely okay. But if these information might give you an idea, please let me know. As a workaround: Would it be possible to copy the MicroPython usb library on the SD card and point the app to the path? Again, thanks for your great work!

1 Like

This actually does help a lot. os.xxx() is reading from the flash storage (unless you add /sd/ to the path). So that lib folder is in the flash of the Pico since you copied in/created that directory on that device.

If you want to check what modules are available use help("modules") in Thonny.

Yes! If they are .py or .mpy files you could add them to a folder and the app will import them when it loads your app

Thank you for your support man :fire:

There is a USB library available in micropython that (to my knowledge) can do what you need (class USBDevice – USB Device driver — MicroPython latest documentation), however if you have a working USB-hid C project (and have it on GitHub), I could take a look at it and see how difficult it is to create a micropython C module of it.

I was looking at

because it already has a working MIDI device and is less low-level.

Well, I have a working Picocalc program written in C which is able to send a single MIDI message through the MicroUSB port. But it is not yet ready to be published online as the directory is a mess (its based on the great text-starter of @BlairLeduc and even the README is still original), the idea was just a “proof of concept”.

2 Likes

Those are perfect actually, thanks for sharing! You can just use those directly them.

I’ll probably port some of that into Picoware if we don’t go the C route. It looks like they have already figured out an esp flasher app too.

Haha well as long as it works we could still port it. Im working on porting pelrun’s uf2loader into mp

I’ve been working on Picoware for almost 11 months now. Here’s a quick review about the latest releases (v1.7.0 and v1.7.1):

1 Like