firebit-logo
AS

ASHIM DAS

28/11/2024, 02:41 am Loading...

IR Remote Cloner App With React + ESP8266

alt-text

Angry Remote App

A universal IR remote system. You can receive IR signals from any IR remote and configure each buttons with customized labels. After that saved signals can be re transmitted like a normal remote would do. It can save any cloned remote & import it for reuse. App is built using React & WebSocket.

View Project on Github

How to use it

  • Power on the ESP8266 ESP will broadcast ANGRY REMOTE access point.

  • Connect to the network connect to network image

  • Sign in to the network A "Sign In to ANGRY REMOTE" notification will appear. Click on it to open the app. sign in to network image

  • Alternative Access If the captive portal fails, open the browser and visit 172.217.28.1 to access the app.

  • After app loads Angry remote app

  • Using the App: By default app comes with some commonly used buttons which are pre labeled. button status Buttons with red underline indicates uninitialized. Button can be configured by right clicking or long pressing it. New buttons can be added from the add button at the end.

  • Cloning a actual button: By right clicking or long pressing any button will open a dialogue. configure dialogue Then point the actual remote towards the IR receiver and keep pressing the button you want to clone until success message is shown. receiving IR signal code

    IR receiver sometimes receives noise, to prevent app from saving any noise signal I implemented a algorithm that will accept the signal which is received at least five times by pressing same button simultaneously. For making sure correct IR signal is saved.

    IR signal received Finally after correct signal is received you can save the button also change the label.

    Now the pressing the button will send command to ESP via WebSocket and ESP will transmit same signal using the IR LED.

Now clone your remotes, have fun, upload your cloned remotes and contribute. 😎

Source Code

Technical Details

Hardware

  • NodeMCU / ESP8266: Hosts the web app and acts as a WebSocket server to transmit and receive IR data.
  • 5mm IR LED: Transmits IR signals to control devices like TVs, set-top boxes, or other appliances.
  • TSOP34838 IR Receiver: Used for capturing IR signals from existing remote controls.

Technologies

  • React: Provides a dynamic and interactive user interface for the remote-control app.
  • WebSocket: Ensures real-time, bidirectional communication between the app and ESP8266.
  • Captive Portal: Ensures a seamless user experience by automatically prompting the user to open the app when they connect to the ESP8266's Wi-Fi network, eliminating the need for manual IP entry.

Circuit Diagram

Circuit diagram

Source Code

How to set up

Wiring

  • Do the wiring properly according to the circuit diagram.

Flashing ESP8266

  • Download the flash file: For the ease of use I uploaded the image file backup_flash.bin to my github repo. Download the file.

  • Connect NodeMCU with PC via USB: Use good quality USB cable.

  • Find the COM Port:

    • Press Windows + X and select Device Manager, or search for Device Manager in the Start menu.
    • In the Device Manager window, expand the Ports (COM & LPT) section. You should see an entry like "USB Serial Port (COMx)" or something similar (where x is a number, eg: COM3).
  • Install esptool using pip: Run Command Prompt as Administrator and enter command

    pip install esptool
    
  • Run the following command: replacing COMx with your ESP8266 COM port and backup_flash.bin with the path to your downloaded image file.

    esptool --port COM3 --baud 115200 write_flash 0x00000 C:\path\to\backup_flash.bin
    
  • After flashing you can follow steps with pictures above.

Source Code


    Loading comments

Team ⚡

Samrat Sarkar

Electronics Engineer

Developer

Ashim Das

Computer Engineer


Visual Stories 😲

story

Do you like pets? Welcome to pet zone!

story

Track Realtime Power Consumption 😱

story

Portable Fingerprint Attendance System 😱

story

Track Realtime BPM & Blood Oxygen Level 🧐