Open Source Android App for Guide Thermal Cameras with AI Object Detection
A powerful alternative to the official Guide app, supporting multiple Guide Sensmart thermal camera models including the Guide TE211M Thermal Monocular.
- π₯ Live Thermal Video Stream via RTSP (LibVLC)
- π€ YOLO Object Detection with TensorFlow Lite
- π¨ Multiple Palettes: Whitehot, Blackhot, Bluehot, Greenhot, Ironred, and more
- πΈ Screenshot & Video Recording with gallery storage
- π Integrated Gallery for captured media
- πΆ Auto-WiFi Connect to camera
- β‘ Real-time Overlay with bounding boxes and labels
- π Dark Theme optimized for night use
- π‘οΈ Emissivity Control (0.01-1.0) with material presets
- π Distance Compensation for accurate temperature readings
- π§ Humidity Settings for atmospheric correction
- β¨οΈ Reflected Temperature adjustment
- π Shutter/NUC Calibration button
- π± Automatic Camera Detection - identifies model and enables features
- π REST API Integration for professional thermal settings
- π System Log Viewer - Real-time diagnostics with color-coded entries
- βοΈ Advanced Camera Settings - Brightness, Contrast, Image Enhancement
- π΅ Audio Control - Enable/disable camera microphone
- π Multi-Page Settings - Organized settings with navigation
- π Feature Bounties - Support development via in-app purchases
- π What's New Dialog - Version update announcements
- π Welcome Screen - First-run introduction for new users
| Series | Models | Features |
|---|---|---|
| TE-Series | TE211M, TE-Mini | Radiometry β |
| C-Series | C640, C400, C800 | Focus β, GPS β, Radiometry β, Audio β |
| D-Series | D400, D384, D192, D160 | Focus β, Radiometry β |
| B-Series | B320, B256, B160 | Radiometry β |
| PS-Series | PS600, PS400 | Radiometry β |
Note: Features are automatically detected based on the connected camera model.
- Minimum: Android 7.0 (API 24)
- Target: Android 15 (API 35)
- Architecture: arm64-v8a
The app automatically connects to the camera via WiFi:
| Parameter | Default Value | Description |
|---|---|---|
| SSID | TE Mini-XXXX |
Camera's WiFi hotspot |
| Password | 12345678 |
Default password for all Guide cameras |
| IP | 192.168.42.1 |
Fixed IP of camera in hotspot mode |
| RTSP | rtsp://192.168.42.1:8554/video |
Video stream URL |
| HTTP API | http://192.168.42.1 |
Camera control |
Note: The IP can be changed in Settings if your camera uses a different address.
- Download the latest APK from Releases
- Install on your Android device
- Allow installation from unknown sources if prompted
Prerequisites:
- JDK 17 or higher
- Android SDK (API 35)
- Git
# Clone repository
git clone https://github.com/nacl-dev/NoxVision.git
cd NoxVision
# Set SDK path (if not auto-detected)
echo "sdk.dir=/path/to/Android/Sdk" > local.properties
# Build debug APK
./gradlew assembleDebug
# APK location:
# app/build/outputs/apk/debug/NoxVision-v1.3-debug.apk- Turn on camera and enable WiFi hotspot
- Launch app - automatically connects to camera
- Live stream displays with object detection
- Controls:
- π· Take screenshot
- π¬ Record video
- π¨ Change palette
- π Open gallery
- Open Settings βοΈ
- Navigate to "Thermische Einstellungen"
- Adjust:
- Emissivity - Match the material you're measuring
- Distance - Set the distance to your target
- Humidity - Current ambient humidity
- Reflected Temperature - Ambient temperature
- Tap "An Kamera senden" to apply
Monitor app activity and troubleshoot issues:
- Open Settings βοΈ
- Tap "System Log"
- View real-time logs with color-coded entries (Info, Success, Error)
The app uses a trained TensorFlow Lite model for thermal detection:
| File | Description |
|---|---|
detect.tflite |
TFLite model (YOLO-based) |
labelmap.txt |
Class labels (person, vehicle, etc.) |
The model is specifically trained for thermal images and detects people and vehicles in thermal imagery.
app/src/main/
βββ java/com/noxvision/app/
β βββ MainActivity.kt # Main app entry point
β βββ CameraApiClient.kt # REST API client
β βββ CameraSettings.kt # Settings persistence
β βββ DeviceInfo.kt # Camera model detection
β βββ WhatsNewData.kt # Version changelog
β βββ ui/
β β βββ VideoStreamScreen.kt # Main livestream UI
β β βββ SettingsScreen.kt # Multi-page settings
β β βββ ThermalSettingsScreen.kt # Thermal measurement UI
β β βββ SettingsComponents.kt # Reusable components
β β βββ theme/ # Compose Theme (Material 3)
β β βββ components/ # Custom UI components
β β βββ dialogs/ # Dialog screens
β β βββ LogDialog.kt # System log viewer
β β βββ AboutDialog.kt # App information
β β βββ WelcomeDialog.kt # First-run welcome
β β βββ WhatsNewDialog.kt # Version updates
β β βββ GalleryDialog.kt # Media browser
β β βββ PreviewDialog.kt # Media preview
β βββ billing/ # In-app purchases
β β βββ BillingManager.kt
β β βββ FeatureBountyRepository.kt
β β βββ FeatureBountyScreen.kt
β βββ detection/
β β βββ ThermalObjectDetector.kt # TFLite YOLO detector
β βββ network/
β β βββ WiFiAutoConnect.kt # Auto WiFi connection
β βββ util/
β β βββ AppLogger.kt # Logging utility
β β βββ MediaUtils.kt # Media capture/download
β βββ data/
β βββ MediaModels.kt # Data classes
βββ assets/
β βββ detect.tflite # AI model (YOLOv8)
β βββ labelmap.txt # Class labels
βββ res/
βββ drawable/ # Palette images
βββ values/ # Strings, Colors
- Language: Kotlin 2.0
- UI: Jetpack Compose
- Video: LibVLC
- AI: TensorFlow Lite
- HTTP: OkHttp / HttpURLConnection
- Images: Coil
# Debug (for testing)
./gradlew assembleDebug
# Release (for distribution)
./gradlew assembleReleaseContributions are welcome! See CONTRIBUTING.md for details.
main- Stable versionbeta- Development & new features
- Settings screen for camera IP
- Support for additional camera models β v1.2
- Thermal measurement settings β v1.2
- Export to video formats
- System logging & diagnostics β v1.3
- Advanced camera settings (brightness, contrast) β v1.3
- Multi-page settings navigation β v1.3
- In-app purchase system β v1.3
- Temperature measurement display on live view
- Improved AI model with higher accuracy
- Optimized Wildlife AI Model - Training for deer, boar, fox, rabbit detection
- Distance Estimation - Approximate distance to detected animals
- Hunt Mode - Minimal UI, reduced brightness, one-hand operation
- Silent Alerts - Vibration feedback instead of sounds
- Quick Record - Hardware button mapping for instant recording
- Battery Optimization - Extended runtime for long sits
- Offline Maps - Mark hunting grounds and wildlife trails
- Moon Phase Display - Hunting conditions at a glance
- Shot Documentation - Log shots with timestamp and location
- Tracking Mode - Support for blood trailing after a shot
- Custom Palettes - User-defined color schemes for better contrast
Q: Why this app instead of the official Guide app?
The official app has performance issues and missing features. This open-source alternative offers better performance, AI detection, and professional thermal settings.
Q: Does the app work with other thermal cameras?
Yes! NoxVision supports the full Guide Sensmart lineup including C-Series, D-Series, B-Series, TE-Series, and PS-Series cameras.
Q: What is emissivity and why does it matter?
Emissivity is how well a surface emits thermal radiation. Different materials have different values (human skin β 0.95, polished metal β 0.3). Setting it correctly improves temperature accuracy.
Q: Do I need Android Studio?
No! You can build the APK with VS Code and Gradle. See Installation above.
MIT License - You can freely use, modify, and distribute the app.
- Guide Sensmart for the hardware
- LibVLC for video streaming
- TensorFlow Lite for AI inference
β If you like this project, give it a star!
