- Live CPU temperature with color-coded indicator
- Real-time CPU & RAM usage
- Quick status overview at a glance
- List all containers with status
- Start / Stop / Restart containers
- View container logs in real time
- Scan the local network via SSH +
nmap - Detects hostnames, IPs, MAC addresses and vendors
- Smart device icons (smartphone, laptop, router, Pi...)
- Auto-installs
nmapif not present on the Pi
- Toggle WireGuard VPN directly from the app
- Peer status and connection info
- Control GPIO pins remotely
- LED on/off with real-time feedback
- Enable / Disable Pi-hole with one tap
- Home screen widget for quick toggle
- Full VT100 / xterm-256color terminal emulator
- PTY support with sticky modifier keys (Ctrl, Alt, etc.)
- SSH session directly in the app
- CPU & RAM threshold alerts via WorkManager
- Background monitoring with configurable thresholds
- Biometric authentication (fingerprint / face unlock)
- SSH credentials stored securely
- WireGuard VPN integration for remote access
- Material You design with teal/cyan palette
- Full dark & light theme support
- Drag-and-drop shortcut reordering
- Automatic update system with changelog
| Requirement | Details |
|---|---|
| Android | 8.0+ (API 26) |
| Raspberry Pi | Any model with SSH enabled |
| Network | WireGuard VPN recommended for remote access |
| Pi packages | nmap (auto-installed by the app if missing) |
sudo systemctl enable ssh
sudo systemctl start sshInstall WireGuard on your Pi and configure a peer for your phone. The app connects over VPN when you're away from home.
Download the latest APK from the Releases page and install it on your Android device.
On first launch, enter your Pi's:
- IP address (local or WireGuard)
- SSH port (default:
22) - Username
- Password
| Layer | Technology |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose + Material 3 |
| SSH | JSch |
| Background tasks | WorkManager |
| Auth | AndroidX Biometric |
| Terminal | Custom VT100/xterm-256color renderer |
| Drag & drop | sh.calvin.reorderable |
app/src/main/java/com/rillmaster/pipanel/
├── MainActivity.kt # Entry point, navigation
├── OnboardingActivity.kt # First-launch setup flow
├── SshClient.kt # SSH connection manager
├── SettingsManager.kt # Credentials & config storage
├── ApiService.kt # API service interface
├── BiometricHelper.kt # Biometric authentication
├── UpdateManager.kt # Automatic update system
│
├── DockerScreen.kt # Docker container management
├── FileManagerScreen.kt # Remote file browser
├── TextEditorScreen.kt # In-app text/file editor
├── TerminalScreen.kt # VT100/xterm-256color terminal
├── MonitoringScreen.kt # CPU / RAM / metrics overview
├── SensorDashboardScreen.kt # Sensor data dashboard
├── GpioScheduleScreen.kt # GPIO scheduling & controls
├── PwmSliderScreen.kt # PWM control sliders
├── Wireguardscreen.kt # WireGuard VPN toggle & info
├── Piholescreen.kt # Pi-hole toggle
├── Piholeconfigscreen.kt # Pi-hole advanced config
├── UfwScreen.kt # UFW firewall management
├── Fail2BanScreen.kt # Fail2Ban monitoring
├── LogsViewerScreen.kt # System logs viewer
├── NotificationSettingsScreen.kt # Notification thresholds config
│
├── MonitoringWorker.kt # Background WorkManager worker
├── NotificationHelper.kt # Notification builder/helper
├── WidgetUpdateService.kt # Background widget refresh service
│
├── PiHoleWidget.kt # Pi-hole home screen widget
├── StatsWidget.kt # Stats home screen widget
├── SensorWidget.kt # Sensor home screen widget
├── WireGuardWidget.kt # WireGuard home screen widget
│
└── ui/theme/ # Material You theming
git clone https://github.com/RillMaster/PiPanel.git
cd PiPanel
./gradlew assembleDebugThe APK will be at app/build/outputs/apk/debug/app-debug.apk.
MIT License — see LICENSE for details.
Made with ❤️ by RillMaster
