Open Universal Remote (OUR)

Under $10 open source Universal Remote. Bluetooth to IR bridge with ESP32.

Similar projects worth following
Open Universal Remote(OUR)

Well, before you get too excited about this, this is not a serious project. It is something I want to build for my self.

Oh, what's that?

There are numerous crowdfunded Smartphone controlled Universal Remotes, that have not delivered! I want to build a under $10 blue-tooth based Remote. No wifi/internet. No certifications. No fancy case.

So what's the Plan?

ESP32, will use Bluetooth and BLE to receive signals from phone and route them to the phone using built in Remote Periperhals and few passives.

I also want to figure out why some of the huge campaigns have failed to deliver while building this. Everything that I build for the project or use will be open-source. So that project can remain alive for a longer time and hopefully somebody will also make it.

ESP32 has built-in Remote Peripheral (actual built in hardware to encode and decode the IR signals.) and Bluetooth Radio (both classic and BLE). These can be used to build a single chip OUR.

(If you'd like to follow our expeditions with ESP32 sign up here or check these tutorials.)

  • The App and the hardware is working!

    Sandeep Patil03/02/2017 at 05:09 0 comments

    I was able to make quite some progress with both the phone app as well as hardware. Check the repo here:

    When I started out with this project, I wanted to know why some of the well funded Kickstarter projects did not deliver. Here are my reasons!

    • Complexity: Adding all the remotes out there in the wild is an up-heal task. Especially for a closed source project. There is a database of remotes called which hosts most of these remotes which could be utlilzed
    • Generic UI: Simply listing all the buttons on the pane will not make a good UI and customize all the remotes is also quite a lot of work. So trying to build custom UI even for all the major brands out there would have been a huge time sunk.
    • Cost of Electronics and Plastics: If the projects were prototyped on Arduino, batteries would have gone for a toss. If the hardware used was a generic dev board, getting to a lower price point would have been challenge. Also the costs of making a mold with a fancy case!

    So this looks like a perfect DIY project for makers and hobbyist instead of a product. I will shoot a demo video soon and post it. I am thinking of making the code a bit more generic to add remotes and even support custom UIs other IR protocols etc., what do you think?

  • IR Remote Library for Arduino

    Sandeep Patil01/11/2017 at 12:55 0 comments

    There is a very good IR Remote library for Arduino. This works with most controllers that work with Arduino. ESP32 has built-in remote peripheral. The library uses a timer and an interrupt pin to accomplish send and receiving IR signals. With ESP32 this can be done with the built-in Remote peripheral. Since the approach is entirely different it will be difficult to port the same library for ESP32. I have started writing one for the ESP32. The NEC encoding is working well.

    #include "esp32_rmt.h"
    ESP32_RMT rem1, rem2;
    uint8_t cnt;
    uint16_t cmd, addr;
    void setup() 
      Serial.println("Enter Commands");
    void loop() 
              case '0': Serial.println("power"); rem2.necSend(0x3000, 0xfd02); break;
              case '1': Serial.println("volume up"); rem2.necSend(0x3000, 0x7d82); break;
              case '2': Serial.println("volume down"); rem2.necSend(0x3000, 0x7c83); break;
              default: break;

    This is my first port of Arduino Library, let's see how it goes. Any constructive feedback is much appreciated.

  • Remotes at home

    Sandeep Patil01/02/2017 at 14:46 0 comments

    This week I was able to get the builtin remote peripheral of ESP32 working. A step closer to getting rid of the 3 remotes at my home.

    The Intex (on left) is one for the Music system, the center one is for the TV and DTH on the right. The first two were NEC and was able to decode right away. Will figure out the protocol of the last one soon.

    the one with 0xf7 address is the the TV and 0xfe is the Music system. Check this cool repo of all the possible remote codes. This will make life a lot easier!

    I will try and port the IRRemote lib to use the built in Remote peripheral the next few days.

View all 3 project logs

Enjoy this project?



mutahar wrote 04/05/2020 at 14:12 point

Nice work!

I have a question, can you tell me the meaning of these two arrguments:

rem2.necSend(0x3000, 0xfd02);

in nec.cpp: void ESP32_RMT::necSend(uint16_t addr, uint16_t cmd)

what is addr?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates