Google Chromebook and Arduino IDE support

I would guess that it may be possible to compile the IDE as an HTML5 Java applet but I don't think avrdude will be available in HTML5 form any time soon. It may take quite a while before the Chromebook can do anything you can't already do through your web browser.

Perhaps you could set up a small Windows or Mac computer and use GoToMyPC or GoToMyMac to control it remotely from the Chromebook.

Here is the FAQ for Chromebook:

You probably want to pay attention to the question "I use a specific piece of traditional software. Will it run on a Chromebook?"

Keep in mind the Arduino IDE is made up of several tools which all would need to be supported. Plus, device drivers for the underlying OS would need to be supported as well. (e.g. the Uno emulates a USB Modem, it is unlikely the Chromebook's OS would come with a device driver for a USB Modem.)

Thanks. So that's a "No".

New question: Is it possible to have a web app write to a USB or serial port easily? It must be ..... but how?

So if I write a web version of the Arduino IDE (which for the UI part looks like a lot of work, but not particularly hard), how would this talk to the USB port on the Chromebook?

More info: I've read this is possible in Flash, but I don't know flash. Is it possible in Silverlight || C# || Python || Javascript ?

Cheers

PS: Maybe I should retitle this question "web version of Arduino IDE" ?

magicmike:
Thanks. So that's a "No".

New question: Is it possible to have a web app write to a USB or serial port easily? It must be ..... but how?

So if I write a web version of the Arduino IDE (which for the UI part looks like a lot of work, but not particularly hard), how would this talk to the USB port on the Chromebook?

More info: I've read this is possible in Flash, but I don't know flash. Is it possible in Silverlight || C# || Python || Javascript ?

Cheers

PS: Maybe I should retitle this question "web version of Arduino IDE" ?

I wouldn't be so quick to say "No" - Chrome OS is the "officially supported" version of Chromium OS, which is the open-source, Linux-based version:

http://www.chromium.org/chromium-os

I have no doubt that once the Chromebook devices come out for general purpose, that you will see people hacking them, getting them to run anything and everything. While I doubt that the general community for Chrome will create a custom form of avr gcc (and all the other parts) for it, I'm sure there will be at least one person here that will do it.

Give it time. I wouldn't even bother with buying one at first anyhow, unless you are an "early adopter" kind of person, or you need it for a specific reason or such. Personally, I wonder why they only went with 3G (when everything else is moving to 4G) - if I ever decide to get one (heck, I don't even use my eeePC), it wouldn't be until it support both 802.11n/g -and- 4G at once (then again, I can't afford another data plan - my G1 sucks up enough of my money as it is).

:slight_smile:

Hey, I was thinking about the Chromebook too and this has been a question for me, whetherr it will work or not. I know that you can partition Linux to a Chromebook. There appatently are a few flaws with it right now, the sound doesnt work and a few things like that. So my theory is that I can use the Arduino with Linux on the Chromebook. Just a theory because I havent tested it yet.

I just recently bought a Samsung Google Chromebook. Before I bought the laptop, I knew that Chrome OS could not support Arduino code development. If I knew more about advanced computer programming, I would consider making the app. However, I hope the large and ambitious Arduino community will make an app soon. As some of the other users have mentioned, one could use a remote desktop application to run the Arduinio IDE from a Chromebook, but I do not see that being very useful.

Try codebender.cc:

"online development & collaboration platform for Arduino users, makers and engineers"

"Code: Awesome editor, fast cloud-based compiler, helpful error reporting. Code faster and easier
"Deploy: Connect your Arduino via USB, or program your Arduino Ethernet remotely over the network.
"Share: Share your work, search for existing projects and clone them, or collaborate with others.

I have not tried it myself but it's probably your best bet if you want to do Arduino development with only a smartphone, tablet, or chromebook.

johnwasser:
Try codebender.cc:

"online development & collaboration platform for Arduino users, makers and engineers"

"Code: Awesome editor, fast cloud-based compiler, helpful error reporting. Code faster and easier
"Deploy: Connect your Arduino via USB, or program your Arduino Ethernet remotely over the network.
"Share: Share your work, search for existing projects and clone them, or collaborate with others.

I have not tried it myself but it's probably your best bet if you want to do Arduino development with only a smartphone, tablet, or chromebook.

Unfortunately, codebender.cc is not supported by the Samsung Chromebook.

So, I think I might have found a way to install the Arduino IDE on the Google Samsung Chromebook. Google: "Microcontroller Development on Samsung (ARM) Chromebook". The first link should be the website you are looking for. I have not tried this yet, however I believe it should work. Basically, the author suggests installing a Linux OS onto the Chromebook. Once the Linux OS is installed, the user then can install the Arduino IDE. Thoughts? If anyone does try this, the offer recommends backing up the Chrome OS on a thumb drive or flash drive with at least 4 GB.

I just ordered a kit yesterday to start learning about arduino programming and had the same question when I realized chrome was its own operating system last night. Hope the linux fix works.

TL/DR: You can't use codebender to flash USB Arduinos from a Chromebook. However you may be able to flash an ethernet Arduino.

"chromebook doesn’t support NPapi plugins(aka you can’t use the USB flashing browser plugin). On the other hand you can write and compile code as usual and flashing through the network an Arduino Ethernet with Ariadne is also supported."

http://codebender.uservoice.com/forums/165703-general/suggestions/3386288-make-it-work-on-chromebook

The previous answer does give a way to make your -hardware- flash the USB Arduino, but you have to install Linux on your hardware.

I know this thread is a little old but just in case others are looking for this answer I thought I'd comment. I do all my arduino coding on my chromebook and can even upload sketches. To do this I use a script called crouton to install linux alongside ChomeOS so anytime I need to do something ChromeOS can't do I switch over with a short keystroke and open that application. It's very smooth and so far has been working great. Getting the IDE running was a bit tricky however so I made some instructions on what I did. You can see the full instructions on how to install crouton and then the IDE and then a few extra libraries and things you need to upload code in my blog post here:
Crouton:
http://ampere-sand.blogspot.com/2014/01/chromebook-programming.html
Arduino IDE
http://ampere-sand.blogspot.com/2014/01/installing-arduino-ide-on-chromebook.html
Hope this helps people get started on their chromebooks. I love mine!

darcoza:
I know this thread is a little old but just in case others are looking for this answer I thought I'd comment. I do all my arduino coding on my chromebook and can even upload sketches. To do this I use a script called crouton to install linux alongside ChomeOS so anytime I need to do something ChromeOS can't do I switch over with a short keystroke and open that application. It's very smooth and so far has been working great.

A friend of mine set this up with his chromebook; I've seen the crouton thing work well - he said he got the Arduino IDE set up and working on it as well, and loves it for developing Arduino projects! :slight_smile:

Is anyone still interested in this? I am considering writing an AVRDude-like program in pure HTML5/Javascript for starters so a Chromebook can load on hex files to an Arduino. Although this is not the complete package, it's a big hurdle apparently.

I have written ChromeOS USB serial applications before (actually, it works in any chrome browser incidentally). I assume that the Atmel App Note AVR068 "STK500 Communication Protocol" is what the Arduino serial port loader uses? Is there any other documentation out there?

While I have done extensive development on the Arduino platform from an end user and library perspective, I have not dove this deep into the bootloader.

I think there is still interest in this. I just bought a Samsung Chromebook 2 yesterday and this is the first thing I've tried doing with it.

Although I am also working on getting a more traditional Linux distro installed on it so if it turns out to be impossible to do MCU work on a Chromebook I will still have a sleek and sexy portable development system.

The main point is to hit the $150-200 special out of the box. Imagine the potential. I hope codebender takes a look at those chrome.serial API's.

This all being said, I am making good progress on bootloader flashing software for Chrome Browser/ChromeOS. STK500 is a terrible, terrible place.... But it'll work out eventually!

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.

Just one final update --

I now have a Chrome OS application that runs a local IDE, sends the sketch off for compiling on a remote server, and then takes the Intel Hex result and programs the Arduino locally. Takes just a few seconds for the round trip.

It does require Internet access for the Chrome App, but it works surprisingly well. Library support is very possible, but not written yet.

this new project might take a week or two to wrap up.

If you are interested, let me know, and I can set you up with a test account.

Rainyhere I am very interested as my PC is in the middle of dying on me.

myotheralt:
Rainyhere I am very interested as my PC is in the middle of dying on me.

It is now available on Chrome Store here:

I also pushed out an update this evening to support local file saving. Still a lot more to add...including error output from the compiler, library support, etc. but it will come over the next couple of weeks.

If there is a library you are interested in using, let me know, and I will make it available for the compiler.