Is It Possible to Run Windows Programs On My Arduino?

Hi there! So im trying to make a device that can run VSTs on it and was looking to find any open source code to run it with and i found a website that offers open source code and runs on C++! Exactly what I needed except when trying to download the files it says that the files only run on win32 or 64 etc.

I knnow this might sound like a dumb question but are those files in relation to the device I download them with (i.e. my computer?) or is it referring to the device I run the files with (i.e. my arduino?). And if it is referring to my computer, which is a windows 64 bit, is there any way i can use that open source for my arduino?

heres the link to that website. if you scroll down a bit you'll see a downloads section and see what im talking about

Thanks!

it is referring to PC

Juraj:
it is referring to PC

oh ok. do you think its possible to use that code for my arduino and it still work though? since it's C++ like the arduino is?

Delta_G:
Most likely not.

hmm... ok..do you know of any microcontrollers i could use that are capable of running a windows program?

reggiearthur:
hmm... ok..do you know of any microcontrollers i could use that are capable of running a windows program?

I recall hearing a few years ago when Microsoft stopped supporting XP that embedded XP would be still be supported. At the time I know it was used in some brands of ATMs. So it's very likely that there may be some embedded controllers which will run a Windows program, but the catch is they'll need to run Windows first, so that the Windows application will run in Windows. I'd expect a lot of $$$ to be involved to buy such a thing, given the mission-criticality of industrial/commercial real-life applications.

Don't fall into the trap of thinking of Arduino being a C device. The Arduino IDE is programmed in C, but what goes from there to the board is in a format that an Arduino can run. If anyone felt like it, they could devise an Arduino IDE that worked in Fortran or Cobol; the stuff coming out the back would still look like it does from the actual IDE you have right now.

And since the C in an Arduino has a particular (even peculiar?) look and feel ie setup() and loop(), and expects some specifics like digitalWrite() etc, the C from another application is not going to conform. Even if it did, a program written for a PC with memory in the GB range will never fit in a uC with memory in the kB.

kenwood120s:
Don't fall into the trap of thinking of Arduino being a C device. The Arduino IDE is programmed in C, but what goes from there to the board is in a format that an Arduino can run.

Sorry, but I think this is somewhat incorrect.

An Arduino can be programmed with standard C/c++.

The big difference between an Arduino and a Windows PC (which can also be programmed with standard C/C++) is that the Windows PC will have 2GB of RAM and the Uno has 2k and the Windows PC probably runs at 1.6GHz whereas the Uno runs at 16MHz.

The fact that the Arduino IDE simplifies things with setup() and loop() does not mean that an Uno can only use that type of program. Under the hood the Arduino IDE provides the other stuff to make your sketch into a standard C/C++ program.

Yes, the HEX code that is uploaded to an Arduino is specific to the processor on the Arduino board - but a compiler can produce HEX code for different processors from the exact same source code.

...R

Robin2:
Sorry, but I think this is somewhat incorrect.

It's not incorrect at all. C or C++ doesn't go anywhere near the Arduino, so the Arduino is no more a C device than it is Fortran or RPG: it's the IDE that makes the Arduino programmable in C and there could just have easily have been an IDE (and maybe there is) for Basic. That wouldn't make an Arduino a Basic device.

Point I was making was that just because the IDE allows Arduino programming in C, that doesn't mean you can throw any old C at the IDE and expect a downloadable Arduino program.

I think the point Robin is trying to make is more about

And since the C in an Arduino has a particular (even peculiar?) look and feel ie setup() and loop(), and expects some specifics like digitalWrite()

The C in an arduino does not have anything particular nor peculiar. It's plain C and C++ with the limits and capabilities of a micro-controller. Then you can decide or not to use helper functions, libraries etc which are bringing an abstraction layer specific to a board to make the programmers' life simpler (e.g. hadling the Serial port through the Serial class rather than having to do it manually yourself or digitalWrite instead of messing around directly with ports registers)

That being said you are right, somewhat the same could be achieved with other programming language (and natively as long as that language offers direct memory pointers access otherwise for some features you would have to rely on libraries you write in another language such as C, C++ or assembly)

kenwood120s:
It's not incorrect at all. C or C++ doesn't go anywhere near the Arduino,

That is also the case with a PC.

Point I was making was that just because the IDE allows Arduino programming in C, that doesn't mean you can throw any old C at the IDE and expect a downloadable Arduino program.

Of course you can't. But in that sense an Arduino is no different from a PC. You can "throw any old C" at a PC either.

...R

what a lively discussion :slight_smile:

I read the page about the Windows software just quick but I had the impression it is some kind of server or master for client or slave devices (music instruments).

There are source codes. Maybe some part of them is portable to some powerfull microcontroller.

VST plugins need a VST host. And a VST host is going to need a lot more resources than any arduino can provide.
Forget about using an Arduino for anything like this.
You should be looking at either an embedded Windows device, or a linux based device like a raspberry PI.
Raspberry PIs with built in Wifi start at $10 USD.

--- bill