| name | momentum-app-creator |
| description | Create new Flipper Zero applications for Momentum Firmware |
| metadata | [object Object] |
Momentum App Creator
Create new Flipper Zero applications following Momentum Firmware conventions and best practices.
Context
- Momentum Firmware uses FBT (Flipper Build Tool) for compilation
- Apps are organized in
applications/directory with subdirectories for different categories - Each app requires an
application.fammanifest file - Apps use Furi framework and GUI system
Instructions
When creating a new Flipper Zero app:
Determine app category and location:
applications/main/- Core system appsapplications/external/- Third-party appsapplications/debug/- Debug/development toolsapplications/examples/- Example applications
Create app structure:
applications/[category]/[app_name]/ ├── application.fam ├── [app_name].c ├── [app_name]_i.h (if needed) ├── scenes/ (if using scene manager) └── icons/ (if custom icons needed)Generate application.fam:
App( appid="app_name", name="App Display Name", apptype=FlipperAppType.EXTERNAL, entry_point="app_name_app", cdefines=["APP_NAME"], requires=["gui"], stack_size=2 * 1024, order=10, fap_icon="icon.png", fap_category="Category", )Create main C file with:
- Proper includes for Furi framework
- App structure definition
- Entry point function
- GUI setup and event handling
- Memory management
Follow Momentum conventions:
- Use consistent naming (snake_case for files, PascalCase for types)
- Include proper error handling
- Use Furi logging system
- Follow memory allocation patterns
- Include proper cleanup in app exit
Required Includes
#include <furi.h>
#include <gui/gui.h>
#include <gui/view_dispatcher.h>
#include <gui/scene_manager.h>
#include <gui/modules/submenu.h>
Build and Test
- Use
./fbt launch APPSRC=app_nameto build and run - Test on actual hardware when possible
- Verify memory usage and cleanup