Any way to compile C->binary in-browser/online?

Are there any online services that let you compile C to arduino hex files online/in-browser? It seems there’re tools in development to make it easier to install arduboy games as binary files (without using the IDE), and it would be good to fit in with that pipeline.

Right now I have only released this tool http://www.flickgame.org/flickuboy.html which spits out a C file that people can compile, but if there end up being good tools for downloading compiled binary files directly to arduboy, it’d be nice to be able to generate those as well. However, right now the whole game engine is client-side (with some use of github for hosting), and I don’t want to be responsible for running gcc for people on my server. Do people know of any options?

arduino.cc has an online editor, but it requires login, which makes it unsuitable for me.
http://arduinodev.com/online-arduino-sketch-builder/ is taken offline
https://codebender.cc is offline

I guess that nobody’s built the arduino toolchain with emscripten ?

This is one piece of work.

@ekem had supposedly succeeded in hosting the make environment for arduino on a server, so all it would take is some scripting to pipe over the results to something hosted.

It’s really not that tough if you know what you’re doing unfortunately I’m not that great on backend development.

We’ve been wanting to implement something like this for a long time, and I’m happy to put as much resources towards the project as possible if someone can lead it. This is exactly what we need for an Arduboy arcade.

I suspect @flaki has most of the heavy lifting done so I’m trying to get in touch with him about how we can expand on his work best.

2 Likes

I’m not really a servery person myself either (I wouldn’t trust myself not to mess it up) - let’s see what infrastructure develops - I don’t know what I’d do if I were in your position - I think the centralized app that’s being made to browse/download games sans Arduino IDE is a great start.

Bridging the gap between code + binary, maybe that won’t be so important. Please let me know if you see any opportunities for hooking my stuff up with some larger infrastructure and I’ll see what I can do!

I haven’t heard of anyone who did this (also bootstrapping the whole of gcc and the arduino cross-compile toolchain would probably be too resource-intensive and slow to get reasonable-time compiles out of it :frowning2: ). There is a chance WebAssembly might help there but it needs to be explored more in-depth.

There is currently not really any other way around it, than running gcc in the background - be that on a server or on a local machine. Clouduboy does that.

1 Like

Totally agree @bateske. I also use a few Spark Core and Photon’s, which have their own cloud based compiler over at Particle . The libraries are referenced from github. Take a look around, maybe you can ask them?

Their forum style is the same as the one you use here too.

Oh man, the online IDE that Spark (now Particle) is like, their bread and butter. They poured many engineers and many dollars at making that strong.

We actually looked at being programmed through the spark cloud, we very nearly launched with an NRF51822 powered by bluz:

http://bluz.io/

But it required the relativly new chip that had 32k flash (which omg yes) but it was not available in large quantities yet. That’s not really a problem now, but if we’re gonna go to NRF now, might as well do the NRF32 and get wifi as well.

tldr; They compile for ARM cores and not AVR, wouldn’t work without reinventing the wheel.