BotDevice transforms any Android, HarmonyOS, or embedded device into a dedicated General Bots system, removing all manufacturer bloatware (Samsung, Huawei, Xiaomi, Honor, etc) and replacing it with the GB interface.
- Android (AOSP, Samsung One UI, Xiaomi MIUI, etc)
- HarmonyOS (Huawei, Honor)
- Raspberry Pi (Zero, 3, 4, 5) - Linux with LCD/HDMI display
- Orange Pi - Budget Raspberry alternative with NPU
- Banana Pi - ARM boards with display
- BeagleBone - Industrial IoT
- Arduino (with ESP32/ESP8266) - OLED/LCD display + WiFi
- ESP32 - TFT/OLED displays
- Rock Pi - RK3399/RK3588 boards
- NVIDIA Jetson - Edge AI with display
- LattePanda - x86 embedded
- ODROID - Hardkernel boards
- LCD Character (16x2, 20x4)
- OLED (128x64, 128x32)
- TFT/IPS (320x240, 480x320, 800x480)
- E-ink/E-paper
- HDMI (any resolution)
| Level | Requirements | What it does |
|---|---|---|
| 1 | ADB only | Removes bloatware, installs BotDevice as app |
| 2 | Root + Magisk | GB boot animation, BotDevice as system app |
| 3 | Unlocked bootloader | Replaces entire Android with BotDevice |
cd botdevice/rom
./install.shThe installer automatically detects the device and shows available options.
┌─────────────────────────────────────────────────────────────────────────────┐
│ LEVEL 3: GSI │
│ ┌─────────────────────────────────────────────────────────────────────────┐│
│ │ Custom Android AOSP - Zero manufacturer apps ││
│ │ GB boot animation from startup ││
│ │ BotDevice integrated as single launcher ││
│ └─────────────────────────────────────────────────────────────────────────┘│
├─────────────────────────────────────────────────────────────────────────────┤
│ LEVEL 2: MAGISK MODULE │
│ ┌─────────────────────────────────────────────────────────────────────────┐│
│ │ Original Android + Magisk ││
│ │ Bloatware removed via overlay ││
│ │ GB boot animation ││
│ │ BotDevice as privileged system app ││
│ └─────────────────────────────────────────────────────────────────────────┘│
├─────────────────────────────────────────────────────────────────────────────┤
│ LEVEL 1: DEBLOAT + APP │
│ ┌─────────────────────────────────────────────────────────────────────────┐│
│ │ Original Android (Samsung/Huawei/Xiaomi/etc) ││
│ │ Bloatware removed via ADB (no root) ││
│ │ BotDevice installed as normal app ││
│ │ Can be set as default launcher ││
│ └─────────────────────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ BotDevice App (Tauri) │
├─────────────────────────────────────────────────────────────────────────────┤
│ botui/ui/suite │ Tauri Android │ src/lib.rs (Rust) │
│ (Web Interface) │ (WebView + NDK) │ (Backend + Hardware) │
└─────────────────────────────────────────────────────────────────────────────┘
botdevice/
├── Cargo.toml # Rust/Tauri dependencies
├── tauri.conf.json # Tauri config → botui/ui/suite
├── build.rs # Build script
├── src/lib.rs # Android entry point
│
├── icons/
│ ├── gb-bot.svg # Source icon
│ ├── icon.png (512x512) # Main icon
│ └── */ic_launcher.png # Icons by density
│
├── scripts/
│ ├── generate-icons.sh # Generate PNGs from SVG
│ └── create-bootanimation.sh # Generate boot animation
│
├── capabilities/
│ └── default.json # Tauri permissions
│
├── gen/android/ # Generated Android project
│ └── app/src/main/
│ ├── AndroidManifest.xml # HOME intent (launcher)
│ └── res/values/themes.xml # GB dark theme
│
└── rom/ # Installation tools
├── install.sh # Interactive installer
├── scripts/
│ ├── debloat.sh # Remove bloatware (no root)
│ └── build-magisk-module.sh # Generate Magisk module
└── gsi/
├── README.md # GSI/AOSP instructions
└── device/pragmatismo/botdevice/ # AOSP device tree
# Rust and Android targets
rustup target add aarch64-linux-android armv7-linux-androideabi
# Android SDK and NDK
export ANDROID_HOME=$HOME/Android/Sdk
export NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653
# Tauri CLI
cargo install tauri-cli# ADB
sudo apt install adb
# To generate icons/boot animation
sudo apt install librsvg2-bin imagemagickcd botdevice
# Generate icons
./scripts/generate-icons.sh
# Initialize Android project
cargo tauri android init
# Build APK
cargo tauri android build --releasecd botdevice/rom
chmod +x install.sh
./install.sh# Connect device via USB (debug enabled)
cd botdevice/rom/scripts
./debloat.sh
# Install APK
adb install ../gen/android/app/build/outputs/apk/release/app-release.apk
# Set as launcher: Home → BotDevice → Always# Generate module
cd botdevice/rom/scripts
./build-magisk-module.sh
# Copy to device
adb push botdevice-magisk-v1.0.zip /sdcard/
# On phone: Magisk → Modules → + → Select ZIP → RebootSee detailed instructions in rom/gsi/README.md.
The debloat automatically removes:
Samsung One UI:
- Bixby, Samsung Pay, Samsung Pass
- Duplicate apps (Email, Calendar, Browser)
- AR Zone, Game Launcher
Huawei EMUI/HarmonyOS:
- AppGallery, HiCloud, HiCar
- Huawei Browser, Music, Video
- Petal Maps, Petal Search
- AI Life, HiSuite
Honor MagicOS:
- Honor Store, MagicRing
- Honor Browser, Music
Xiaomi MIUI:
- MSA (analytics), Mi Apps
- GetApps, Mi Cloud
Universal (all):
- Pre-installed Facebook, Instagram
- Pre-installed Netflix, Spotify
- Games like Candy Crush
To customize the boot animation (requires root):
# Generate animation
./scripts/create-bootanimation.sh
# Install (root)
adb root
adb remount
adb push bootanimation.zip /system/media/
adb reboot# Dev mode (connects to device)
cargo tauri android dev
# Logs
adb logcat -s BotDevice:*For devices with limited resources, use the embedded interface at botui/ui/embedded/:
# Raspberry Pi with LCD display
chromium-browser --kiosk --app=http://localhost:8088/embedded/
# ESP32 with TFT display (via WebView)
# Configure BOTSERVER_URL in firmware
# Character terminal mode
# Use botui/ui/embedded/ with CONFIG.maxMsgLen adjusted- Optimized for displays 320x240 down to 16x2 characters
- High contrast (green/black, e-ink)
- Low memory usage (max 10 messages)
- Keyboard navigation (Enter sends, Esc clears)
- Auto reconnection
- 🏠 Launcher Mode: Replaces home screen
- 🤖 Chat Interface: botui/ui/suite
- 🦀 Rust Backend: Via Tauri
- 📍 GPS: Location access
- 📷 Camera: Via Tauri plugins
- 🔔 Notifications: Push notifications
- 🌐 Internet: Communication with botserver
- 🎨 Boot Animation: Customizable with gb-bot.svg
AGPL-3.0