Google Chromebook and Arduino IDE support

I have completed a serial bootloader called AVRChick for Chromebooks and really anything that can run Google Chrome as a browser. This is an "offline" app, which means you can be off the internet and run the app without any trouble.

It has very basic functionality, but you can load "blink.hex" onto an Arduino connected to USB. Or some other huge hex file. I am also going to add a "download" function so you can pull hex files off of Arduino's easily. I can also add a nice GUI to the various fuses.

While I do not think it is much of a problem, it does no hardware verification. Use at your own risk. Just as a sanity check, I loaded on a jpeg into flash of a 328, and nothing bad happened. It now requires there to be a semi-valid Intel Hex file so it will be difficult to inadvertently load on random data.

Now...the next big problem: writing and compiling sketches.

I see a couple of options:

  1. Create some sort of online API which ingests arduino sketches and outputs hex files

  2. Using Emscripten, compile the AVR-GCC toolchain into LLVM, then turn it into JavaScript and include it within a google chrome "offline" app. This is remarkably feasible. Static files can be merged into the output Javascript (there's an option for this), and objects, etc. can be stored in local storage. Stdio is one of Emscripten's core functions. I have never actually attempted this, but if jsmess was successful, this should be possible.

  3. Forget C++. Get an interpreter boilerplate, and jam in the tokenized user program directly after the interpreter in PROGMEM. Write some code to go find the user program.