pineflip-0.2.0 is not a library.
PineFlip 🐬

A professional Flipper Zero companion application for Linux
✨ Features
🖥️ Live Screen Mirroring
- Real-time display mirroring from your Flipper Zero
- Adjustable frame rate and scaling
- Screenshot capture with one click
- Screen recording to GIF
🎮 Remote Control
- Full D-pad control via keyboard or on-screen buttons
- Button mapping customization
- Low-latency input
📁 File Manager
- Browse internal and SD card storage
- Upload and download files
- Create, rename, and delete files/folders
- Drag-and-drop support
🔄 Firmware Management
- Check for firmware updates
- Support for official and custom firmware:
- Official Flipper firmware
- Momentum Firmware
- Xtreme Firmware
- Unleashed Firmware
- RogueMaster
- One-click firmware installation
⚙️ Modern UI
- Built with GTK4 and libadwaita
- Follows GNOME Human Interface Guidelines
- Dark/light mode support
- Responsive sidebar navigation
📸 Screenshots
| Screen Mirror | File Manager | Firmware Update |
|---|---|---|
![]() |
![]() |
![]() |
🚀 Installation
Dependencies
Fedora/RHEL:
Ubuntu/Debian:
Arch Linux:
Building from Source
# Clone the repository
# Build release version
# Install (optional)
USB Permissions
To access the Flipper Zero without root, add a udev rule:
# Create udev rule
# Reload udev rules
📖 Usage
GUI Mode (Default)
CLI Mode
# Screen mirror in terminal
# Specify port
# Enable debug logging
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Connect | Ctrl+K |
| Disconnect | Ctrl+Shift+K |
| Screenshot | Ctrl+S |
| Record | Ctrl+R |
| Refresh | F5 |
| Upload | Ctrl+U |
| Download | Ctrl+D |
D-Pad Controls
| Button | Key |
|---|---|
| Up | ↑ or W |
| Down | ↓ or S |
| Left | ← or A |
| Right | → or D |
| OK | Enter or Space |
| Back | Backspace or Esc |
🏗️ Architecture
graph TB
subgraph UI["UI Layer (GTK4 + libadwaita)"]
MainWindow[Main Window]
ScreenView[Screen View]
FilesView[Files View]
FirmwareView[Firmware View]
SettingsView[Settings View]
end
subgraph Core["Core Layer"]
Device[Device Manager]
Protocol[Protocol Handler]
Config[Configuration]
end
subgraph Hardware["Hardware Layer"]
USB[USB/Serial]
Flipper[Flipper Zero]
end
MainWindow --> ScreenView
MainWindow --> FilesView
MainWindow --> FirmwareView
MainWindow --> SettingsView
ScreenView --> Device
FilesView --> Device
FirmwareView --> Device
Device --> Protocol
Protocol --> USB
USB --> Flipper
Config --> MainWindow
🔧 Configuration
Configuration is stored in ~/.config/pineflip/config.toml:
[]
= true
= 5
= true
[]
= 10
= 4
= false
[]
= false
= true
[]
= true
= false
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📜 License
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
🙏 Acknowledgments
- Flipper Zero - The amazing multi-tool device
- GTK - The GIMP Toolkit
- libadwaita - Building blocks for modern GNOME apps
- Inspired by qFlipper and various community tools
⚠️ Disclaimer
This is an unofficial third-party application. PineFlip is not affiliated with, endorsed by, or connected to Flipper Devices Inc. Use at your own risk.
Made with 🦀 and ❤️ for the Flipper Zero community


