Picoware (Open-Source Custom Firmware)

Hey, thanks for checking out Picoware!

Picoware’s uf2loader overwrites the entire flash, including the section used by pelrun’s.

If you wish to keep his then you’ll need to download Picoware’s uf2 and move it to your SD card. You can actually do that within Picoware if you go to LibrarySystemCheck for Updates, and let it install the update. Then once the installation is complete you can hit Back/Esc to skip flashing.

The updater saves the uf2 to pelrun’s uf2loader’s expected location.

1 Like

Downloaded to SD card and it will not load. Picocalc turns on but screen is blank.

Used to download but I need the picoware uf2 for the pico 2w. Any help appreciated. Thanks

1 Like

Got it figured out. Thanks for the videos. The PicoCalc is now running 1.8.6 without any problems. Thank you for all of your work.

1 Like

NEW Picoware update v1.8.7 :fire:

This is an update to the MicroPython version that fixes system settings saving, addresses Cardputer ADV threading and memory issues, updates Ghouls to the latest version, and adds miscellaneous updates to the Simulator, the HTTP class, the LCD class, and apps!

Check out the full release notes here:

2 Likes

how would you suggest i begin making an mp3 player section within picoware with dedicated time skip pause and scrubbing and maybe intergrating the screensavers? Something similar to mp3music player by borcelli on the cardputer?

Hey, thanks for checking out Picoware :fire:

It is possible to create a dedicated mp3 GUI, and a Picoware contributor (@Slasher006) is actually working on something similar (though I’m not sure if it is completed and/or ready yet).

You’d need to use the audio_mp driver (which already handles streaming mp3).

Maybe this is something you and slasher would like to collab on? I can help by exposing more of the audio driver to the python side.

I’ve take some time away from the Picocalc and returned to see your amazing progress with the Picoware Firmware! While im totally loving it, I found that the GPIO can’t be properly used in the Micropython REPL. Everytime I type it sends a high signal through all GPIO pins. I’m not sure if this is a bug or maybe I have done something wrong from my side

Hey, welcome back to the community and thanks for checking out Picoware!

Which pins are you trying to use?

Could you copy and paste your code here?

All of them (2,3,4,5,21,28). I did a quick REPL io pin test as follows

from machine import Pin

import time

led = Pin(2, Pin.OUT)

led.value(1)

time.sleep(1)

led.value(0)

I noticed that regardless of being in the REPL app every time I pressed a key, it will send a high signal to all pins (the LED will turn on). I’m using the BIOS version 1.6 for reference

The issue is that 2, 3, 4, 5, and 21 are all used by PSRAM.

This works for me.

from machine import Pin

import time

led = Pin(28, Pin.OUT)

led.value(1)

time.sleep(1)

led.value(0)

Oh well, that makes complete sense now. I will take that in account for future testing. Sorry and thank you for your fast response! You’re killing it!

1 Like

No need to apologize, I appreciate your support :fire:

1 Like

Picoware 2.0 is HERE :partying_face:

This is an update to the MicroPython version that adds USB video streaming to your computer with a desktop viewer, an embedded JavaScript engine with JS modules (draw, wifi, http, and more) runnable within Picoware (Library -> Scripts), a ~27% FPS boost on PicoCalc from southbridge and LCD optimizations, and an mp3player app!

Check out the full release notes here:

4 Likes

Hi! Thanks for your amazing work! The new addition of the mp3 player is awesome!

I’ve run into an error while trying to play Sudoku: “Error running view: function takes 4 positional arguments but 6 were given”

Could it be this?

def start(view_manager) → bool:
“”“Start the app”“”
from picoware.system.buttons import (
BUTTON_BACK,
BUTTON_CENTER,
BUTTON_DOWN,
BUTTON_UP,
)

def run(view_manager) → None:
“”“Run the app”“”
from time import time
from picoware.system.buttons import (
BUTTON_BACK,
BUTTON_DOWN,
BUTTON_LEFT,
BUTTON_RIGHT,
BUTTON_UP,
BUTTON_0,
BUTTON_BACKSPACE,
)

" Picoware/builds/MicroPython/apps_unfrozen/games/Soduko.py at main · jblanked/Picoware · GitHub "

Thanks and keep it up!

Hey thanks for your constant support :fire:

I tested the latest app with Picoware v2.0.0. More than likely you have an “older” version of the app. Download the latest version using Library -> App Store or copy the entire apps folder from here and merge it into your SD card (in picoware/apps, so you have picoware/apps/Soduku.mpy, picoware/apps/FlipSocial.mpy, etc)

Let me know that works for you and/or if you have any feature requests!

1 Like

Thanks for your quick reply!

Although I couldn’t figure it out how to download the folder apps from Picoware/builds/MicroPython at main · jblanked/Picoware · GitHub , I’ve used https://downgit.github.io/ to download the folder and after that I’ve copied it on my SD card . The weird part is that all the files in the apps folder are *mpy files, but somehow in the Picocalc I had 2 Sudoku files, one *mpy and the other *py and only the *py file is working. What is the difference between apps and apps_unfrozen?

Cheers!

1 Like

Awesome I’m glad that did the trick! The difference between the two folders is the unfrozen folder contains the actual source code of the apps, the other folder has the compiled versions (built using mpy-cross)

1 Like

Hi! Me again :smiley:

The app Graph is throwing an error when trying to run it: “Error running view: expected int or float”

This happens regardless if is Graph.mpy or Graph.py and I have the latest apps folder.

Thanks!

1 Like

Hey thanks for testing and reporting an issue!

I found the issue and pushed the update the App Store. Get it from there or Picoware/builds/MicroPython/apps/Graph.mpy at dev · jblanked/Picoware · GitHub