An open source internet remote to control your arduino from anywhere

Similar projects worth following
All this idea came from one simple problem, how to control some devices over any distance, short and long?
My first idea was to use some bluetooth modules, but I couldn't get it to work with ios. After some more researched, I gave up the idea of a simple module, and looked for a way to control it from internet. That's how e-duino came from.

Why making a project of it?
Usually, I keep my projects for myself, but lately, I decided to make this a bigger project, so anyone can use it and modify it.

How advanced is it?
The project is already well-started, but I still work on the community side of it. You can already try it, following the instructions down there.


The project is based, on server side, on php, and data will be stored as json on side folder.

The project documents tree is simple :

  • remotes : this folder will contain every remotes configurations as a json list of 'remote-inputs'
  • values : this folder will contain every remotes actual values as json files
  • remote-inputs : this folder will contain every user made inputs. This can go from a slider to a color picker, to anything someone may need. The documents to create a 'remote-input' will be described later on

A data base will contain every remotes names and passwords, so that each remote stay independant one from another.

On the arduino side, there will of course be a need from an internet access, and a json parser. I'm still working on this part...

For the time being, the E-duino website isn't operational, except for the testing remote. After a few try of connection with the arduino, it seems the weight of the json files to download isn't too much to do it 2 or 3 times a second, which gives a good rate.

I'm considering making a way for the arduino to only ask for a specific component, in a way to remove the need of a json parser.

For the moment, I'd just like to get a few feedbacks about the idea, and I think this is the place :)


After some more research, I came out with a working prototype, a single led being controlled over internet.

For simplification, I created a new php page from which the arduino can download directly the value of a specific input. This permitted me to download data 4 times a second. Of course, it does not have to use a frequency that high. I believe I'll be able to come out with a working remote editor by the middle of next week, and maybe, a way for other users to create remotes by then. About the inputs, anyone should be able to submit some as soon as possible. To do so, I'll make a detailled explication in a side folder, and on the website.

I'm still looking forward for suggestions, if you have some :)

Just found out about log section, see more down there...


This example connects an arduino to a remote, downloads data for a single led connected to pin 3, and send a confirmation to the remote.

ino - 4.45 kB - 03/12/2017 at 19:47



This example connects an arduino to a remote, downloads data for a rgb led connected to the pins 3, 5 and 6 (red, green, blue).

ino - 3.54 kB - 03/12/2017 at 19:47



This example connects an arduino to a remote using an ethernet shield, downloads data from a slider tolight up a led on pin 5 to a certain point, and light up or not a led on pin 3, using a button.

ino - 5.10 kB - 03/08/2017 at 19:26


  • 1 × Any internet connection, such as ethernet shield. Electronic Components / Misc. Electronic Components
  • 1 × Any component you wish to control Electronic Components / Misc. Electronic Components

  • I need help to design the website(Seriously, it's terrible...please help)

    Etienne03/14/2017 at 18:15 0 comments

    Hey, I was just reconsidering how ugly the website was, and I came up with this only solution. Ask for help. It costs me a lot actually. But yeah, whatever. If you're good with website design or just better than me (that's not hard, I can tell you), please mp me or leave a comment, I'll send you the files, or an html version of the files (the php can take a lot of space sometime).

    Speaking of the website, I've started the contribute page, explaining how to create input types by yourself, to fit what you exactly need. I'll try to finish it by the week-end, and if I can't, at last for the middle of next week.

  • Device Feedback and Color Picker

    Etienne03/12/2017 at 19:41 0 comments

    Over the last few days, I worked on a few things. firstly, a color picker input type. It simply consists of three sliders, one by color. The value from the input is saved as 3 decimals bytes formatted in a string as "red;green;blue". An example file can be found in the files section.

    The other interesting thing I worked on is the device feedback feature. It present itself as a simple input type on the website. However, for the device (arduino, raspberry or whatever...), there is a new possibility. By connecting to the page saveRemoteSingleValue.php with 4 get arguments, the device will save the provided value, and display it on the remote(it actualise once per second). Those arguments are :

    • remoteId : the id of the remote
    • password : the password of the remote
    • input : the name of the input you want to change the value.
    • value : the new value to assign to this input

    The syntax for this is simple :

    This feature can, for example, allow you to confirm that the device has received the order from the remote. You can find an example of this exact case in the files section.

    However, take care of the spaces you might send in the value, since any space will modify the http request, and create a 400 error. To solve this, replace all spaces by '%20', which will be converted back by the php page(this is a php feature, I didn't changed it).

    The next feature I want to develop is an input type explorer and a way for you to create input types.

    If you think another feature should come first, just comment. If you find a bug, please do so too.

  • Open for you to test!!

    Etienne03/08/2017 at 19:26 0 comments

    Here we go!!!

    You can from now on create a new remote here, using the code 'hackaday'. Right after creating the remote, you'll be able to add inputs to it. The actual possible inputs are :

    -Text : a simple text input, nothing special here

    -Switch : A simple button that you can turn on and off, still very basic

    -Slider : A slider with a default range of [0; 255], which can be modified with two arguments :

    -min: the minimum value

    -max : the maximum value

    The slider uses jquery ui.

    The possibility for users to create some inputs is the next thing on my list, but if you need one quickly, feel free to ask.

    Here's the arduino code to control some leds witha slider and/or a button. You can find it in the files section too.

    Read more »

  • Remote Editor finished, moving on to database

    Etienne03/07/2017 at 18:27 0 comments

    Finally done with the remote editor, It is now possible to modify a remote from the website, having the website to write the json (see in gallery).

    I started the database part, which will only contain the names and passwords of the remotes. It should be possible for anyone to create a remote by the end of the week.

View all 4 project logs

  • 1
    Step 1

    Go on the e-duino website and create a new remote, using the security code 'hackaday'

  • 2
    Step 2

    Modify your remote to add the inputs you'll need. Here's the actual possibilities :

    -Text : a simple text input, nothing special here

    -Switch : A simple button that you can turn on and off, still very basic

    -Slider : A slider with a default range of [0; 255], which can be modified with two arguments :

    -min: the minimum value

    -max : the maximum value

    The slider uses jquery ui.

  • 3
    Step 3

    Connect your arduino(or any other device) to internet, via an ethernet shield or any wifi solution.

View all 4 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

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