No Description

Oliver Fabel 744cc606da update SDK version, solves issue #9 9 months ago
assets 4179f75058 update changelog and readme 1 year ago
docs c5366c6d7d bump version 1 year ago
examples bec09b2492 add uart support 1 year ago
flipperzero e30bcb80ce replace speaker notes with attribute delegation function to save 1 year ago
images 70d5360562 fix build and file browser, add help qr 1 year ago
lib e30bcb80ce replace speaker notes with attribute delegation function to save 1 year ago
.gitignore 1690115d12 add basic IO support 1 year ago
.gitmodules a6694c3d0c update micropython lib 1 year ago
CHANGELOG.md e30bcb80ce replace speaker notes with attribute delegation function to save 1 year ago
LICENSE.txt de474cd47b add light and vibro api docs 1 year ago
Makefile 29a6f6a6ed add python package for code completion 1 year ago
README.md 60f06b704a update readme 1 year ago
application.fam c5af7d650d update SDK version to solve issue #6 1 year ago
flipper.json 1690115d12 add basic IO support 1 year ago
icon.png f1f768c9df add logo and readme 1 year ago
logo.svg f1f768c9df add logo and readme 1 year ago
package-lock.json 7b895773c0 update docs, readme and changelog 1 year ago
package.json 7b895773c0 update docs, readme and changelog 1 year ago
publish.sh a1cf105c60 add publish script for github pages 1 year ago
pyproject.toml c5366c6d7d bump version 1 year ago
requirements.txt 29a6f6a6ed add python package for code completion 1 year ago
splash.svg 9237153eaa improve splash screen, add examples 1 year ago
upython.c c5af7d650d update SDK version to solve issue #6 1 year ago
upython.h 744cc606da update SDK version, solves issue #9 9 months ago
upython_cli.c 744cc606da update SDK version, solves issue #9 9 months ago
upython_file.c 7c09ff36cf add confirm exit action 1 year ago
upython_repl.c 744cc606da update SDK version, solves issue #9 9 months ago
upython_splash.c 042d0bdd47 update docs 1 year ago

README.md

License Version

MicroPython Flipper Zero

Allows you to use the power of Python natively on your Flipper Zero. The application is available on the official Flipper Lab. For details on how to programm your Flipper with Python, check out the documentation on GitHub pages.

MicroPython REPL

Disclaimer

This FAP version requires about 80 kB from SRAM to start (needed for the Python runtime and compiler). Due to memory fragmentation it's possible, that the application crashes when you start it. If this happens, just try again (the crash doesn't harm your device).

[!IMPORTANT] This problem is already addressed to the firmware developers in this issue. Nevertheless, running the uPython application from the SD card is still a heavy task for the Flipper.

I'm thinking about publishing a fork of the original firmware with uPython bundled as a core service. This would mitigate all the memory problems. The SD card version would still be there and maintained, but possibly with a limited set of features.

Development

This section is only relevant, if you want to build the FAP on your own.

Branches

This branch contains the FAP version. The results of the preceding research phase is still available in the poc branch. The lib branch of this repository contains just the MicroPython library. The progress of further research on what can be achieved when moving functionality to the firmware can be found in the fork of the original firmware.

Requirements

Setup

git clone --recurse-submodules git@github.com:ofabel/mp-flipper.git

Build

Just open a terminal and run the Makefile targets:

make build

You can also build an launch the application on the attached Flipper Zero device in one command:

make launch