The Android Gamepad APP is a mobile application that allows users to control a mini-rover remotely using an Android device.It was designed to serve as a gamepad for my project named PathFinder, available on GitHub. The app connects to a server over a TCP socket and transmits control commands based on user input.
- Real-time Control: Send movement commands to the rover with low latency.
- Intuitive Gamepad UI: Emulates a traditional game controller layout.
- Customizable Settings: Configure IP address and port for TCP communication.
- Responsive Feedback: Display connection status.
- Cross-Platform Compatibility: Works with any server running a compatible TCP listener.
- An Android device (Android 6.0 or later)
- A TCP server capable of receiving and processing control commands
- A stable network connection (WiFi or mobile hotspot)
- Start Server: Ensure the TCP server is running and listening for incoming connections.
- Launch the App: Open the app and enter the server's IP address and port.
- Connect: Tap the connect button to establish a TCP connection.
- Control the Rover:
- Use the joystick or on-screen buttons to send movement commands.
- Monitor the connection status on the UI.
- Disconnect: Tap the disconnect button when done.
- Android: Kotlin + Jetpack Compose (UI)
- Networking: Java/Kotlin Socket API
- Backend: Python (Socket server handling commands)
- Clone the repository:
git clone https://github.com/your-repo/android-gamepad-mini-rover.git
- Open the project in Android Studio.
- Build and run the app on a physical device.
- Bluetooth/BLE support configuration as an alternative connection method.
- Configurable button mappings.
- Support for additional sensors (e.g., camera streaming, telemetry data display).
This project is open-source under the MIT License.
For issues or feature requests, create a GitHub issue or reach out via aaronsalo2016@gmail.com.