This release adds on-device C development (run .c files), Infrared support (transmitting/receiving signals), DuckyScript interpreter (execute USB payloads), Video Player (play MJPEG movies), ZipFile support (read/compress/decompress archives), AI Agent upgrades (MCP and Session support), and miscellaneous updates to GUI classes for consistent rendering on all boards.
C Development
Thanks to the creators of the pshell project, you can now run C programs directly on the device. Add your .c files in picoware/c/* on your SD card, then open up the Library, scroll down and click C, then click on a file to run it. Outside of the standard C library, you also have access to lcd methods, so you can create GUIs in C directly. Check out our example: https://github.com/jblanked/Picoware/blob/main/tests/c.py
Infrared Support
Send and receive infrared signals. The Cardputer-ADV and Flipper Zero are the only two supported boards that can transmit signals, and the Flipper Zero is the only supported board that can receive (and save) signals. In the next release, we plan on adding external module support.
Add your .ir files into the infrared folder on your SD card, then open up the Library, scroll down and click Infrared, then either click on Remote, to list and execute files, or Learn to receive and save signals. The parser follows the Flipper Zero format, so your existing libraries are already useable.
DuckyScript
Execute USB payloads using DuckyScript. The only device this (unfortunately) does not support yet is the Flipper Zero, although it mostly follows the extended DuckyScript format from the Flipper Zero community, which has syntax from the USB Rubber Ducky 1.0. Check out our example: https://github.com/jblanked/Picoware/blob/main/tests/ducky.py
Video Player
Play MJPEG videos directly on your device. Add your .mjpeg files to the videos folder on your SD card, then open up the Library, scroll down and click Video Player, then click on a file to play it.
ZipFile
Read, compress, and decompress .zip archives directly on the device. Just open up the File Browser, navigate to a .zip file, and click on it to browse, extract, move, copy, or delete.
AI Agent
The Agent app gets a major upgrade this release. You can now add a JBlanked API key and connect to MCP Servers directly from Settings, giving the agent access to external tools. Conversations are now tracked with a new Session class, and the agent uses your entire conversation history for better context instead of just the last message. We've also added an Agent Thinking toggle in the app's settings, along with new built-in tools (time_get_current_time and storage_info) the agent can call on its own.
Changelog:
- Added pipe key parsing to the
Keyboardclass (by @Slasher006) - Updated FlipWorld with new maps, full color, bosses, and more (by @H4W9)
- Added a
JBlankedprovider to theLLMlist - Added Local API Key, JBlanked API Key, and MCP Servers to Settings
- Added
Agent Thinkingto theAgentapp's settings - Added a
date timeproperty to theTimeclass (returns date + time formatted) - Added
time_get_current_timeandstorage_infoAgent tools - Updated Agent to use the entire conversation history
- Added a
Sessionclass for tracking agent conversations - Updated the
sdC module with recursive directory creation - Added
free_spaceandtotal_spaceproperties to theStorageclass - Updated the
ListandMenuclasses with truncation to ensure all titles and items fit on screen (on all supported devices) - Updated the
App Storewith decorators, global imports, and minor bug fixes - Added a
stack_sizeparameter toHTTP.request_asyncwith a default of 8kb (previously hardcoded as 16kb within the method) - Updated Settings to alphabetical order
- Added a pshell/C compiler (write/run C code on-device)
- Updated the
Keyboardclass to set title position correctly when reset - Updated the
Drawclass to use the default font in theget_fontandlenmethods (this fixes a lot of issues with centering and rendering on the Cardputer-ADV and all supported devices) - Added a DuckyScript interpreter
- Added a Video Player (plays MJPEG videos)
- Fixed a UART exception on non-Flipper devices
- Added a ZipFile reader, compressor, and decompressor (click on a .zip within the
File Browser) - Added infrared functionality (Flipper Zero and Cardputer-ADV) and an
Infraredapp (Library -> Infrared) with aRemoteoption to load and transmit signals, andLearnfor saving received signals (Flipper only) - Added
infrared_rx_requiredandinfrared_tx_requireddecorators (picoware.system.decorators) - Updated the
Python REPLapp with command history - Added a
Fuel Logapp (by @INSCCOIN)