I'm new to IoT and this is my first project, I didn't find the answer to my question anywhere. Is there an app for Android and Windows software that can control an Arduino device from different places at the same time? It has to have dynamic IP address and be controlled through the Internet and the server shouldn't be local. I want to control a LED from different location and devices.

  • 1
    Do you mean that the Android device would have a dynamic IP address? Would the Android app and Windows software go through a server to access the Android device? Commented Dec 5, 2018 at 22:37
  • 1
    Can't you make your own Android app and skip the connection to the computer by using a WiFi module attached to the Arduino? Commented Dec 5, 2018 at 22:50
  • 1
    The phone and computer should be connected to the project not just through wifi even if they have different ips like phone should get connected through data and laptop connected with wif but still both of them should be able to control the project
    – Anya
    Commented Dec 6, 2018 at 4:33
  • 1
    unfortunately my programming is not that strong ,i've just started learning java so i have no idea how to write the app
    – Anya
    Commented Dec 6, 2018 at 4:35
  • 3
    I'm voting to close this question as off-topic because the question is asking for a software recommendation, and so belongs on softwarerecs.stackexchange.com
    – Mawg
    Commented Dec 6, 2018 at 8:38

2 Answers 2


Anya - Very broad requirement you have but you can get result with something like this:

  1. Your arduino should be equipped with wifi or ethernet connection in order to communicate over internet
  2. You can use your wifi/router's port forwarding or virtual port or NAT functionality to access device from internet
  3. You can use ArduController library in your arduino program and use Android App ArduController to connect

But all the time you should keep in mind that Arduino is just a microcontroller and is limited to perform tasks like computers.


Application on Android & iOS: IFTTT (IF This Then That) you can use this app from its webpage also.

Handy website to manage online data: Adafruit IO

Instead of Arduino boards, you can use NodeMCU boards like NodeMCU esp32 or esp8266. Both of these boards support code execution via Arduino IDE and are compatible with 'C' & 'C++' same as Arduino boards.

To connect your board with a server:

  1. Create an account in IFTTT {signup} & Adafruit IO {signup}.
  2. Use IFTTT to create an Applet that you like (you will get a hold of it! just explore the features)
  3. While creating the Applet type 'adafruit' in the search bar for services.
  4. Complete the Adafruit Setup.

What you'll be doing now:

  1. Enter the data from your mobile phone.
  2. Your data goes to your adafruit dashboard.
  3. Fetch the data from adafruit.

Not the answer you're looking for? Browse other questions tagged or ask your own question.