theisolinearchip / flipperzero_stuff

A bunch Flipper Zero apps and random tinkering

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A bunch Flipper Zero apps and random tinkering...

Some things Flipper Zero-related I've been working on (mostly standalone plugins and applications)

Apps

Under the /applications folder there's a (small) collection of different apps:

  • MultiConverter, a multi-unit converter written with an easy and expandable system for adding new units and conversion methods (it has it's own README file with more info)
  • Dec/Hex Converter, a decimal to hexadecimal (and vice versa) converter with "real-time" conversion and built-in keyboard (some pics here!). Updates on this one will be probably stopped since the MultiConverter covers this scenario (and lots more with more units!)
  • Conway's Game of Life, simple implementation on a full-screen 32 x 16 cell grid (video and pics here!)

Each app can be added as a plugin on a regular flipperzero firmware source:

  1. Copy the plugin folder (ex: /applications/game_of_life) to the main /applications one
  2. Modify the /applications/meta/application.fam main manifest and add the plugin entry in the proper section:
App(
    appid="basic_plugins",
    name="Basic applications for plug-in menu",
    apptype=FlipperAppType.METAPACKAGE,
    provides=[
        "music_player",
        "snake_game",
        "bt_hid",
        "game_of_life", // <<--- here's the new definition (use the appid from the app application.fam manifest)
    ],
)
  1. Compile the firmware and install

Firmware build

I usually use a standard updater_package build that creates an executable file I can push to my Flipper and run it as a new update:

$ ./fbt --with-updater COMPACT=1 DEBUG=0 VERBOSE=1 updater_package

(this requires all the proper dependencies, check the docs from the official repo for more info!)

Notes

  • The order option on the application.fam for each app sets the priority order on the menu list
  • Nope, currently it's not possible to "install apps" without reflashing the entire firmware with everything inside :(
  • My idea is to keep everything here up-to-date with the new firmware releases, so let me know if something doesn't work or anything related!
  • To work on a full flipperzero source folder while having my stuff in my own repo I like to create symlinks to the folders inside the /applications main dir:
~/flipper_zero/flipperzero-firmware/applications$ ln -s ~/flipper_zero/flipperzero_stuff/applications/dec_hex_converter/ dec_hex_converter
~/flipper_zero/flipperzero-firmware/applications$ ln -s ~/flipper_zero/flipperzero_stuff/applications/game_of_life/ game_of_life

and so on...

Links and references

  • Official firmware
  • Hello World Tutorial, I used this one as the starting point for my firsts projects. It may be a little bit outdated, but combined with any other "current" app (like the Snake minigame) it should be more than enough to start tinkering with the system.

Contact

You can reach me on twitter, instagram or by mail

About

A bunch Flipper Zero apps and random tinkering

License:The Unlicense


Languages

Language:C 100.0%