Use the Onion Omega as a wifi remote to send http commands to pre-existing devices. Sorta like a remote for all of your IoTs projects.

Similar projects worth following
Using the Onion Omega, the Omega Power Dock Extension, and a series of buttons, the Omega_mote allows you to activate http commands that you can choose. This allows you to control anything that is connected to the internet.

This project is ultimately an expansion of existing projects that are around the house. Currently I have a Raspberry Pi that is a control hub for IR devices and RF switches. This control hub hosts a rest api that can take commands as http post requests. This is nice, because any device (i.e. my phone) can post to the control hub and end up controlling the device. This was originally really nice, and still is, but having been in use now for a year or so, I have found that I rely on this system more and more. So, I wanted to build a free standing remote that could be used anywhere in the house and still communicate with the control hub. Hence, the omega_mote...

omega_mote is a node js application that utilizes a few different classes.

The omega_mote contains a gpio wrapper (customGPIO) written in JavaScript that interacts with the /sys/class/gpio path and files. These files allow you to change the direction of the gpio, read the value, set the value, lock and unlock the pin.

There is a config.json file that defines the user buttons and the address to http post to.

The omega_mote main class loads the configuration file, and controls the customGPIO class. Using the configuration file the omega_mote initializes the gpio pins specified and listens on those pins, when a change is detected, the omega_mote performs an http post to the address that is specified in the config file.


  • Detect double clicks on buttons as that would effectively double the number of buttons you had.
  • Config file could specify high or low pin.


javascript - 5.55 kB - 07/23/2016 at 00:06


md - 328.00 bytes - 07/23/2016 at 00:06



JavaScript Object Notation (JSON) - 690.00 bytes - 07/23/2016 at 00:06



JavaScript Object Notation (JSON) - 522.00 bytes - 07/23/2016 at 00:06



javascript - 1.46 kB - 07/23/2016 at 00:06


  • 1 × Onion Omega The base Onion Omega
  • 1 × Power Dock The expansion dock with built in battery management
  • 7 × Buttons Buttons to be used for the remote control
  • 7 × 10k ohm resistors One for each button you use
  • 1 × Prototype Board Used to mount your buttons and ultimately connect to the omega

  • 1
    Step 1

    Get your Omega and Power Dock (or Expansion Dock) and run through the setup procedure here

  • 2
    Step 2

    Install nodejs

      1. opkg update
        opkg install nodejs
    1. 3
      Step 3

      Install git

      1. opkg update
        opkg install git git-http

    View all 8 instructions

    Enjoy this project?



    Similar Projects

    Does this project spark your interest?

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