Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ofabel/mp-flipper
Python support for Flipper Zero
https://github.com/ofabel/mp-flipper
adc f0 flipper-app flipper-plugin flipper-zero flipperzero gpio infrared micropython pwm python
Last synced: 1 day ago
JSON representation
Python support for Flipper Zero
- Host: GitHub
- URL: https://github.com/ofabel/mp-flipper
- Owner: ofabel
- License: mit
- Created: 2024-04-01T15:11:13.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-11-18T02:56:31.000Z (about 1 month ago)
- Last Synced: 2024-12-14T11:12:07.569Z (8 days ago)
- Topics: adc, f0, flipper-app, flipper-plugin, flipper-zero, flipperzero, gpio, infrared, micropython, pwm, python
- Language: C
- Homepage: https://ofabel.github.io/mp-flipper/
- Size: 2.14 MB
- Stars: 116
- Watchers: 8
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
![License](https://img.shields.io/github/license/ofabel/mp-flipper)
![Version](https://img.shields.io/github/v/tag/ofabel/mp-flipper)
![](https://img.shields.io/github/issues/ofabel/mp-flipper)# 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](https://lab.flipper.net/apps/upython).
For details on how to programm your Flipper with Python, check out the [documentation](https://ofabel.github.io/mp-flipper/) on GitHub pages.![MicroPython REPL](./docs/pages/assets/repl.gif)
## 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](https://github.com/flipperdevices/flipperzero-firmware/issues/3927).
> 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](https://developer.flipper.net/flipperzero/doxygen/apps_on_sd_card.html) version.
The results of the preceding research phase is still available in the [poc](https://github.com/ofabel/mp-flipper/tree/poc) branch.
The [lib](https://github.com/ofabel/mp-flipper/tree/lib) branch of this repository contains just the [MicroPython](https://github.com/micropython/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](https://github.com/ofabel/flipperzero-firmware/tree/ofa/micropython).### Requirements
* [Git](https://git-scm.com/)
* [Make](https://www.gnu.org/software/make/)
* [uFBT](https://pypi.org/project/ufbt/) available in your `PATH` (or you have to adjust the [Makefile](./Makefile))
* [Flipper Zero](https://flipperzero.one/)### Setup
```bash
git clone --recurse-submodules [email protected]:ofabel/mp-flipper.git
```### Build
Just open a terminal and run the Makefile targets:
```bash
make build
```You can also build an launch the application on the attached Flipper Zero device in one command:
```bash
make launch
```