Skip to content

EkagraS/RemoteControl

Repository files navigation

Remote Control Android App 📱🚗

An Android application to control a NodeMCU-based RC car over WiFi, with real-time leaderboard and announcement features using Firebase.

Android · Java · Firebase · NodeMCU · WiFi Networking

Overview

This project is an Android-based remote control system designed to interact with a NodeMCU-powered RC car over a local WiFi network. In addition to car control, the app includes real-time data features such as leaderboards and announcements powered by Firebase Realtime Database.

The app is highly configurable, allowing users to modify request codes, IP address, and port values directly from the settings screen.

Key Features

🚘 RC Car Control

• Directional controls: Forward, Backward, Left, Right, Stop

• Rotation controls: Clockwise & Anti-clockwise

• 5 configurable action buttons (e.g., speed control or custom actions)

• Communication via HTTP requests over local WiFi

⚙️ Dynamic Configuration

• Request codes for each button are user-editable

• IP address and port can be updated from the app

• Settings stored using SharedPreferences

📊 Real-Time Leaderboard

• Displays team rankings with:

  1. Team name

  2. Mentor name

  3. Leader name

  4. Time taken

  5. Points

• Automatically updates using Firebase Realtime Database

• Conflict handling using points + time logic

📢 Announcements & Notifications

• Announcements fetched from Firebase

• Push notifications sent for important updates

• Notification click opens the app directly

🔐 Authentication

• Firebase Authentication for controlled access

• Credentials managed externally (via Firebase Console)

🛠 Admin Support

• Separate admin-side workflow for:

• Adding leaderboard data

• Posting announcements

🧱 Tech Stack

Category Technologies Used
Language Java
UI XML
Backend Firebase Realtime Database
Authentication Firebase Authentication
Networking HTTP (WiFi-based local server)
Hardware NodeMCU (ESP8266)
Architecture Activity-based Android Architecture

🌐 How It Works

  1. NodeMCU creates a local WiFi hotspot

  2. The app connects to the NodeMCU using IP + port

  3. Button actions send request codes like:

       http://<ip-address>/?dir=forward
    
  4. NodeMCU parses the request and triggers hardware actions

  5. Firebase handles:

    A) Leaderboard data

    B) Announcements

    c) Notifications

📱 Screenshots

Screenshots of the app UI are provided below for reference.

🔒 Security & Privacy

• google-services.json is not included

• Sensitive keys and credentials are excluded

• Firebase rules should be configured before use

📄 License

This project is intended for learning, demonstration, and academic use.

🙌 Acknowledgements

Thanks to my team, those who contributed in making of this app, everyone who contributed in ideas, testing, and feedback during development.

About

Developed a WiFi-based IoT controller app used by 300+ users across 2 years to operate NodeMCU devices at robotics events, enabling real-time command execution over local UDP networks. Integrated Firebase for live leaderboard updates, event notifications, and authentication.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages