Wi-Fi Universal Remote using the ESP8266

Similar projects worth following

zmote is the world's simplest Wi-Fi Universal Remote. Hook it up to a USB power supply, place it anywhere in your living room, join it to your Wi-Fi network, and control all your gadgets from anywhere using any browser.

zmote uses ESP8266 Wi-Fi chip. More specifically, it uses the ESP-01 module.

Please visit GitHub page for all software.


  1. 6 IR LEDs, pointed every 60°, with alternating 30°/60° elevations, and 100 mA through each for maximum power and coverage
  2. Learning functionality using TSOP1738
  3. Minimal BOM cost (<$10 or so if you are prepared to use, and wait for, AliExpress)
  4. Fully open source (MIT licensed) including enclosure design
  5. Local control using simple REST API
  6. MQTT based control also available
  7. iTach protocol emulation allows it to work with several 3P Apps (example 1, example 2)

  • zmote configuration with REST APIs in Windows Powershell

    Mohan Yenigalla11/27/2015 at 13:42 0 comments

    First thing you need to do with a new zmote is to connect it to your Wi-Fi router. Every time zmote is powered ON, it configures itself as Wi-Fi access point (AP) so that one can connect to it (no password required) and configure it for connection with your router. Accesspoint (aka. hotspot) willshow up as zmote_*******. In this example it is zmote_00f2e958.

    Power on zmote and Connect your pc/laptop to zmote_******** access point (hotspot)

    When connected to zmote through its AP interface, zmote can be accessed at IP.

    Let us find out its MAC address, which we will need later:

    > Invoke-RestMethod -Uri
       ap_mac                                       sta_mac
       ------                                       -------
       1a-fe-34-f2-e9-58                        18-fe-34-f2-e9-58

    Now, let's configure zmote to connect to our Wi-Fi router with SSID router and password sample.

    > Invoke-RestMethod -Uri "" -Method Put -ContentType 'application/json' -Body "{""ssid"":""router"",""password"":""sample""}"

    Note that we have used sta_mac from earlier API here. This value is required in many APIs to make sure that our commands reach intended zmote (in case there are dynamic changes in IP by DHCP server).

    After above command, zmote will configure itself to connect to router, will restart and get an IP from the DHCP server running on router. It may take 15-30 seconds for it to get connected and register itself with server.

    Power off and power on zmote.
    Disconnect pc/laptop from zmote_******** access point (hotspot).

    After this point, you are ready to use zmote with or looking at the rest of rest REST API.

    Thank you Dougles for the time saving tip on complex double quotes needed

  • Using zmote with Home Remote

    Harikrishna10/26/2015 at 04:39 1 comment

    So we found this Android App called Home Remote that looks like it was made for hardware like zmote. It lets you design your own remote controller app for your phone (it supports Android, iOS and even WIndows Phone) with fine grained control over button placement and functionality. What really makes it unique is the remote "Designer" that it comes with, a PC based app that lets you create your own customized remote that you can then take to your phone.

    Sound interesting? Head on over to our intsructable that explains it all.

  • REST control over zmote

    Urmil Parikh10/25/2015 at 04:57 0 comments

    NOTE: This log is applicable to older, v1 version of zmote. If you bought a zmote recently (or planning to buy one) and are planning to control through REST APIs, please contact us by email for latest APIs.

    zmote is an open-source, Wi-Fi enabled IR blaster / receiver widget that offers full control through simple REST APIs.

    We will go through important APIs and learn how to configure a zmote, how to send, receive and analyze IR signals using a zmote, as well as sending IR signals to it remotely, through internet using its REST-to-MQTT bridge.

    This project will be useful to any one who wants to
    - integrate IR transmission / monitoring features into a home automation project
    - analyse IR signals from a remote for hacking or study purpose
    - find hidden (discrete) IR codes for a given IR-controlled device
    - create a web front-end or a mobile app for IR-controlled devices

    Read more »

  • Using zmote with your own MQTT broker

    Harikrishna10/12/2015 at 08:06 0 comments

    zmote is typically controlled via a REST API when you are on the same network as zmote. You can get more details about the REST API here.

    zmote does support MQTT as well, but we intended this to be used when controlling the zmote from outside its network. There's usually no other way to get through your router's firewall when you are outside of your home network without having to do additional configuration. And it wouldn't be very safe anyhow.

    MQTT makes the process safe and painless. The zmote connects to our MQTT broker and authenticates itself. It can then be controlled via the broker by sending messages as described here.

    But perhaps that is not you want. Say you have your own MQTT broker and you want zmote to connect to it instead. Turns out you can do this easily enough without having to modify zmote's firmware.

    Read more »

View all 4 project logs

Enjoy this project?



jmcservv wrote 07/06/2016 at 17:48 point

What platform are you using for developing this ? esplora ? 

  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