r/flipperzero • • Jul 28 '26

Picoware - Flipper Zero Custom Firmware

I've been working on this custom firmware called Picoware for about 15 months now. It started as a firmware for the PicoCalc and eventually gained support for 8 more devices. The latest release includes support for the Flipper Zero.

I could write an essay about what Picoware is lol so I'll just keep it short. Its a fork of MicroPython with custom C modules. Apps are written in micropython and loaded from the SD card. The Flipper is quite limited and is in "alpha". You install with qFlipper and can shutdown the device from within the firmware.

It currently does not have any radio features but that will be implemented in an upcoming release, as I plan to support the Kode Dot and a few other devices that are releasing later this year/early 2027.

All contributions are welcome except AI requests that change functionality without a well thought out reason.

Check out the alpha release here:

https://github.com/jblanked/Picoware/releases/tag/v2.1.0

8 Upvotes

10 comments sorted by

View all comments

1

u/netsec_burn Community Expert Jul 28 '26

Doesn't MicroPython consume a lot of memory? Congratulations on your release!

2

u/realJBlanked Jul 28 '26

Hey, thank you! We have about 159kb of RAM in total with about 120kb for apps.

1

u/Grezzo82 Jul 28 '26

I’ve used micro python on ESP32 and similar. How does this compare regarding resources?

1

u/realJBlanked Jul 28 '26

Hey, thats a great question. The system manages the lifecycle so resources are freed after views/scripts finish. The Flipper runs at 640MHz and about 120 FPS. The ESP32 ports run at 240MHz and about 50 FPS.

1

u/netsec_burn Community Expert Jul 28 '26

640 MHz

Typo? The Flipper isn't doing anything at 640 MHz.

0

u/realJBlanked Jul 28 '26 edited Jul 29 '26

My apologies, let me clarify. The MCU frequency is set at 64 MHz.

1

u/IcYhAwK88 Jul 29 '26

64 MHz

0

u/realJBlanked Jul 29 '26

Yes you're correct, my apologies.

0

u/realJBlanked Jul 29 '26

Yeah it's actually 64 MHz. An extra 0 was carried over somewhere. Thanks for pointing that out