Arduino with Windows 10, Android, Raspberry etc

Hello Together,
I don't know exactly if here, is the right place to ask the following question.

I have maked already a couple of beginner Arduino projects. Nothing big until now. In the beginning the usual stuff like Blinking a Led, showing in the Serial Monitor some analog Values, Controlling some Motors, Using different type of Sensors and playing around to see how it works, making a menu for a Oled Display etc. The last thing that I engaged was the Bluetooth topic where I used the HTC 05 module.

I was thinking to myself to interact with the Arduino over Bluetooth with a external Aplication. What I mean with this is to control the Arduino for example over a App or Software. Sending and receiving commands and data and storing the data in some file for later examination.

Now to my question.
What would be the best way to go for a Beginner in Arduino and Coding?

For example.

  1. Using Windows 10 with Visual Basic
    and store the data in a Excell file.
  2. Using a Raspberry with Phyton and make some
    aplication
  3. Using Android and making some aplication.
  4. Using Linux and making some aplication.

Which would be be the better way to go in the beginning.
Right now I don't care which Plattform. I need only a direction to go and also where I would find some learning material.

Thanks in advance.

one thing micro-controls do better than PCs or other smart devices is interact with the world. at the very least using relays to turn on other devices like lamps or pumps. motor drivers can be used to control motors, stepper motors and then there are servos. they can also monitor things.

but PCs often have better human interfaces.

while the IDE has a Serial monitor, any application with a Serial interface will work. putty is a simple terminal emulator that can replace the IDE.

i'm not a fan of Visual Basic. not sure what you can do with Excell. Python has a lot of capabilities, including plotting, but is another language to learn. Of course you can run C on a PC (suggest using cygwin). Java is another option that is much closer to C and used on Android smart devices

so it may be of interest to use an Arduino (or esp32) as an I/O slave for a PC master

I think you have the question the wrong way round. You should be asking which is the most platform to use for the application I want and from there move forward. If you want a GUI on a desktop then Windows/Linux or even Mac might be appropriate. If you want something portable to carry around in your pocket then Android might be a better option, if you want something very inexpensive to get started with a Raspberry Pi might be a good start. You also should ask yourself the question what am I familiar with, if you have never programmed on Android or the Raspberry Pi should you be trying to learn that at the same time as the Arduino? It is far easier to develop and debug C/S applications when you are very familiar with one side and only having to learn new for the other side.

You could also look at the MIT App Inventor to have the Arduino interact with Android phones.
https://appinventor.mit.edu/explore/ai2

I think maybe you can use a touch screen LCD that can do GUI design and then control a microcontroller such as Arduino or raspberry pi through the LCD.

You should opt for LAN connectivity and then either go TCP or UDP. As long as you go the wired way, you could use an Ethernet Shield with a W5100 or W5500.

But as soon as you consider to use WIFI, leave the Arduino Uno way and go for an ESP8266. Don't start with a bare ESP8266, but with a makerfriendly NodeMCU or a Wemos D1. The ESP8266 does not only have wifi, but also also more SRAM, Flash and runs on higher clockrate. It can be programmed in the Arduino IDE like the Uno. Using UDP or TCP makes it quite open for connectivity to other computers. With TCP you can also use HTTP, which opens you the option to serve a webserver on the Microcontroller and make a nice user GUI with HTML. No need to struggle with a dedicated "app" for each plattform a simple webfrontend should be usable on any browser - on any plattform.