Ofbit - Remote-Control App for Robots
Overview
This project was built as a serious hobby project to build futuristic & intuitive Remote Controller to control any kind of Robot via Bluetooth or WiFi (as of now). And also letting implementation of any wireless protocol in future by just extending the interface contract.
Documentation about the Robot itself can be found here.
Key Features
- Dual Communication Protocols: Comes with built-in support for both Bluetooth and WiFi, ensuring broad compatibility with a wide range of hobbyist and custom-built robotic platforms.
- Intuitive Gesture-Based Joystick: Features a custom-built, haptic-enabled joystick Composable for precise, responsive, and natural analog control, moving beyond traditional button interfaces.
- Camera: Use the device's camera using Jetpack CameraX to provide control the Robot autonomously by defining the targets or actions. Or by giving the control to AI.
- Haptic Feedback System: Provides tactile feedback for user actions like joystick movement and release, making the control experience more tangible and responsive.
- Modern & Modular Architecture: Built entirely with Kotlin and Jetpack Compose, the app follows modern MVVM principles, ensuring a clean separation of concerns which makes the codebase easy to maintain and scale.
Tech Stack & Implementation
The application leverages the latest in Android development to deliver a high-performance and robust experience.
- UI Framework: The entire user interface is built declaratively with Jetpack Compose, enabling a dynamic and reactive UI that is both beautiful and efficient.
- Asynchronous Operations: Kotlin Coroutines are used throughout the app to manage background tasks, network operations, and animations, ensuring the UI remains smooth and responsive at all times.
- Architecture: The project adheres to the official MVVM (Model-View-ViewModel) architectural pattern, promoting a decoupled and testable codebase.
- Navigation: A structured and predictable user flow is managed by the Jetpack Navigation Component for Compose.
- Camera: Real-time video is handled by Jetpack CameraX, which simplifies camera implementation and ensures compatibility across a wide range of Android devices.
- Machine Learning: The app includes the Google ML Kit Object Detection library, laying the groundwork for future intelligent features like object tracking and autonomous functions.