Skip to content

Releases: jblanked/Picoware

Picoware - v1.8.3

12 May 02:09
3a39935

Choose a tag to compare

This is an update to the MicroPython version that adds an on-device REPL, a new Text Editor system app, and MP3 streaming support.

Brief Changelog:

  • On-device REPL
  • Audio speed fixes
  • MP3 support
  • Text Editor system app
  • Ctrl + Up/Down to jump up/down functionality in TextEditor and TextBox instances
  • Added contributing guide (straightforward steps for contribution)
  • Several other improvements that make the firmware lighter and faster

Notes:

  • MP3 streaming is not supported on the RP2040 (for now it's blocked in FileBrowser, but you can bypass this with a custom script)
  • The PicoW's Wi-Fi driver is failing, so you'll need a Pico2W or Pimoroni 2W for networking.
  • If exiting the Ghouls game causes the device to freeze, rebooting will resolve the issue and your stats should still be saved. The permanent fix is to delete the assets folder from picoware/apps/games/ghouls and let the firmware re-download the assets.

Picoware - v1.8.2

03 May 13:29
97ba672

Choose a tag to compare

This is an update to the MicroPython version that updates the round-based survival game Ghouls to version 0.6. Here's the changelog from the game:

  • Added 4 new maps (Maze, Forest, Tron, and Graveyard)
  • Added a map pack system (maps can be created externally and loaded into the game via a .ghoulsmap file)
  • Added a map selection screen before the game starts
  • Updated wall collision to affect the entire area of the wall
  • Increased ghoul speed
  • Many optimizations to the game engine

Picoware - v1.8.1

26 Apr 14:51
47b8010

Choose a tag to compare

This is an update to the MicroPython version that adds support for playing WAV files and updates the Ghouls game to v0.4, which introduces ground/sky rendering, sound effects, an in-game mini map, projectile effects, and many optimizations!

Notes:

  • You can use the File Browser app to select .wav files to play (8, 16, and 24-bit are supported).
  • Up to 4 WAV files can be played simultaneously (though this is only possible with a custom script).
  • Occasionally, exiting Ghouls causes the device to freeze. Rebooting will resolve the issue, and your stats should still be saved.
  • The PicoW's Wi-Fi driver is failing, so you'll need a Pico2W or Pimoroni 2W for networking.
  • For audio to work in Ghouls, you'll need to download the assets folder from here and add it to your SD card in picoware/apps/games/ghouls/. The quickest way is to download this repository as a .zip file (clicking here will start the download from GitHub) and copy and paste the folder into the directory. This process will be streamlined in future updates.

Picoware - v1.8.0

20 Apr 15:00
7f21f1c

Choose a tag to compare

This is an update to the MicroPython version that adds auto-uf2loader support (download updates over-the-air with auto-flashing), a 3D round-based survival game (Ghouls), and addresses many issues raised since v1.7.7.

Changelog:

  • updated the sdcard module with a retry loop and increased the sd_wait_ready timeout for write operations
  • fixed input handling in many views
  • set the stack size for the WebSocketAsync class to 32 KB
  • updated many C modules to fall through to locals_dict if an attribute is not found when called
  • replaced the game engine with Pico Game Engine
  • added a uf2loader C module and Python class (for flashing UF2s using PSRAM)
  • updated the ViewManager's alert method to accept (any button except Back/Esc) and deny (returns a boolean)
  • updated Desktop auto-updating to allow users to deny updates
  • added a jsmn C module (lightweight JSON parsing)
  • added http and websocket libraries for use in C modules
  • added a Server Settings menu option (sets the username/password for FlipSocial, FlipWorld, Free Roam, Ghouls, and other apps requiring a JBlanked server)
  • fixed left/right key assignment in the GameBoy Emulator

Picoware - v1.7.8

08 Apr 12:01
ba0e744

Choose a tag to compare

This is an update to the micropython version that patches reported issues in v1.7.7

Picoware - v1.7.7

05 Apr 17:36
3c1287d

Choose a tag to compare

This is an update to the MicroPython version with audio optimizations, screenshot functionality (press F1), correct font spacing, and a new button property in the ViewManager class that caches the last button pressed and resets it after the current view's run method is called.

Notes:

  • The GameBoy emulator has the best experience with an RP2350. The RP2040 is not clocked high enough to smoothly handle ROM loading through PSRAM while streaming audio on core 1. It is playable on the RP2040, but you may experience lag.
  • Screenshots can take up to 10 seconds and are saved to the root of the SD card as screenshot.bmp.
  • The methods in the Draw class now accept floats for position and size coordinates and will convert them to integers, so there is no need to cast to integer anymore — which in some cases will greatly speed up your code.
  • On WiFi-enabled devices that are connected to WiFi, files now save with the correct timestamp.

Picoware - v1.7.6

03 Apr 01:45
90aa722

Choose a tag to compare

This is an update to the MicroPython version that fixes audio in the GameBoy Emulator, updates the Desktop view with auto-check for firmware updates, USB functionality via the USBKeyboard and USBMedia classes and three USB applications (Keyboard, Numpad, and Media Keys), and adds a new Wiki Reader app that fetches, views, and stores Wikipedia articles.

Picoware - v1.7.4

29 Mar 18:11
f857bc0

Choose a tag to compare

This is an update to the MicroPython version that adds audio support to the Game Boy Emulator and with new Audio, AudioNote, and AudioSong classes, optimizes the game engine for faster performance and wireframe outlining, and cleans up LVGL to reduce our total heap by 64KB (now there's 212KB free on RP2040 and 388KB free on RP2350W).

Added:

  • audio C module with Audio, AudioNote, and AudioSong Python classes
  • Grocery Companion app by @Slasher006
  • has_audio macro/property/method to the picoware_boards module
  • audio property to the ViewManager (which is an Audio class instance)
  • Audio support to the GameBoy Emulator
  • stack_size parameter to Thread and ThreadTask classes to allow developers to set the stack size of Core 1 before their function is run

Updated:

  • C++ game engine with new setters/getters, wireframe outlining, and painter's algorithm in 3D mode, and many optimizations (pushing games over 500 FPS)
  • Multiple views and apps to use the system theme color
  • WiFi settings to show the MAC address always and allow empty passwords when connecting (open networks)
  • HTTP class to use a 32KB stack size and a 10-second timeout for "async" requests

Picoware - v1.7.3

19 Mar 19:56
5af2896

Choose a tag to compare

This is an update to the MicroPython version with a Game Boy Emulator that runs at 60 FPS and only uses PSRAM, a Text Editor GUI with cursor support, and many optimizations to several C modules.

Picoware - v1.7.2

14 Mar 01:16
23b94b8

Choose a tag to compare

This is an update to the MicroPython version that introduces a C++ game engine, a new logging system, and a significantly improved FileBrowser with copy and move support. It also brings a high-performance textbox_mp C module for near-instant text rendering, an expanded Settings app with manual time and theme controls, three new screensavers, and audio recording support via the new INMP441 app.

Changelog

Added:

  • INMP441 app (record audio to SD card)
  • copy, move, file_copy, and file_move methods to the Storage class
  • C++ game engine with MicroPython C modules
  • C++ guards to several MicroPython C modules
  • list_directory method in the sd_mp module that only returns file names instead of dicts
  • Scaling attributes to the lcd_mp C module
  • Task ID to logging in the ThreadManager class
  • fetch method to the Time class that connects via socket and syncs the NTP time on a separate thread
  • DatePicker GUI class
  • log_mp C module and Log class
  • log method to the ViewManager (and updated several system apps to use it)
  • textbox_mp C module: load and scroll text within milliseconds
  • Three new screensavers: Aurora Borealis, Color Tunnel, and Lissajous
  • LatheCalc app (by @Slasher006): machinist calculator and shop reference multi-tool

Updated:

  • Egg Timer, Unit Converter, and bohrgesch app optimizations (by @Slasher006)
  • UART class defaults to GP0, GP1, and UART0
  • System class with simplified BOARD_ID tracking
  • file_write, file_open, and file_seek within the Storage class with try/catch and correct return values
  • freq method of the ViewManager class with a frequency parameter that allows devs to change the frequency to a custom value instead of the presets
  • sd_read_block method in the sdcard driver to retry up to 3 times to handle transient SPI/card-busy failures
  • fat32 driver to advance the next-free hint and find the actual last/free cluster
  • sd_mp read methods to use the heap
  • vfs_unmount method of the Storage class with the correct function call
  • read_directory method of the Storage class with an additional field for is_directory
  • size method of the Storage class to return 0 if the path is a directory
  • FileBrowser GUI class with a two-pane window with new copying and moving features (by @Slasher006 and Gemini AI, with many optimizations by @jblanked)
  • HTTP class to check if the request should close and close the socket if so
  • Menu and List classes with updated styling
  • Choice class with a two-column list
  • Settings app: users can manually set the time, choose their theme color, enable/disable debug, and all settings from before
  • Desktop app to use NTP time and saved GMT offset
  • Textbox GUI class to use the new textbox_mp C module
  • JB-News app to parse back button presses in View mode and use the system's selected color
  • Big Buck Bunny app with an info screen explaining how to compile the movie so the app can run it
  • SSH Terminal app to track history, colorize the terminal, and simplify input