Actually getting Arduino to work with Chromebook (April 2024)

(sorry if this is the wrong category)

I work for a STEM education nonprofit. We are trying to support teachers and students who have Chromebooks. As of April 3rd, 2024, we cannot get any of the currently-online directions for using Arduino with Chromebook to work. I bought a cheap refurbished Chromebook to test myself and this is what I've run into:

  1. If you go to the main software page https://www.arduino.cc/en/software and scroll down, there's an "Arduino with Chromebook" section that directs you to the Arduino Web Editor (which as far as I can tell is the "new" cloud editor, the naming is a little confusing depending on where you look on the site).

  2. The first time you open the Cloud Editor on a Chromebook, you get a pop-up prompt that says "To upload sketches via USB port, make sure you have Create App installed on your computer." I know this is the case for Windows and I've done it without issues there.

  3. If you click Install on a Chromebook then it downloads a tar.gz file. Googling "how to install tar.gz file on Chromebook" turns up a bunch of Reddit/Stackexchange et. al. threads that quickly devolve into Linux command line stuff, which is a non-starter for our users. We are talking teachers, parents, and students who have probably never used an Arduino before and have never touched a Linux command line - any installation needs to be easy. So that is a dead end.

  4. If you google "use arduino with Chromebook" you get this page as the first result: https://support.arduino.cc/hc/en-us/articles/360016495639-Use-Arduino-with-Chromebook, but as far as I can tell it is orphaned (it is no longer prominently linked from the main software page). The note at the top says there's a new app that's replacing the previous Chrome app, but the link to the app in the Play store gives a "not found" error. Searching for the app directly in the Play store doesn't turn it up either. So that's also a dead end.

  5. If you scroll down to the second section on that page - Use the Cloud Editor on Chromebook - there is a separate set of instructions that makes it look like you can use the Cloud editor without installing the Create app/agent, and that you will get a popup to authorize USB connection the first time you use it. I tried following these instructions as written (after closing the Create app popup) and got up to step 7, but then the upload button was grayed out and I could not click it. Another dead end.

So, I think I've exhaustively tried all the official instructions and ran into three separate dead ends. I may try to figure out the tar.gz thing myself but I'm not much of a Linux user and again that's not an option for our students.

Am I missing anything? Any advice would be appreciated.

2 Likes

I am currently in the same boat and was led down the same path. Thanks for sharing this! Hopefully, the Arduino team can shed some light on the solution for this.

My company Make Stuff Move provides kits to schools, makerspaces, camps etc and in a majority of the cases, they are using Chromebooks as well and as you mention it would be asking too much to deal with command line calls and tar files.

If I figure anything out I will be sure to post here.

Have a great day!
Dan

1 Like

Thanks and glad to hear others are in the same boat. If you grew up in the 90s/Windows era or do a lot of development work on a good old fashioned desktop PC like myself, I think it's easy to forget how many families may not have a computer at home at ALL now. All their internet access is through a phone - and the only computer they may have access to is their kid's Chromebook from school. I hope they make Chromebook support more of a priority for the sake of the education market. (as an aside, we have also done Raspberry Pi in the past, but overall I find Arduino much easier for new users to set up - IF the software works).

1 Like

Educator here, in the same boat. We bought about 60 microcontrollers for our kids, and now as we were about to start... they can't connect, since the Arduino Cloud for Chromebook app is taken down. I brought one controller home and somehow, but not really understanding how I did it, managed to get it to connect to that Chromebook. I did install the Arduino Create for Education Chromebook app, not sure if that helped. At least we can now see that people from the Arduino team are working with the problem, on their support page. But it would really be wonderful to be able to let the kids actually try their code on a real microcontroller. We did pay good money for it! :slight_smile:

1 Like

Thanks - kind of strange that the "Arduino Create for Education" app isn't linked anywhere (unless I missed it) from their current instructions? Anyway, I managed to find it, but the used Chromebook that I bought on Amazon is so old that it's no longer getting updates. It prompts me to update Chrome before I can install the app - I'm on version 92.something, and it looks like the current version is 123.something, but I can't figure out a way to force it to update just Chrome instead of the whole OS. Not sure if that's possible. I'll keep digging...not sure what the Chromebook landscape is like out there for schools or how long Google continues to support older models. But I assume there will be some schools out there with old ones that no longer get updates?

1 Like

Update - I tried using the cloud editor again (just in case), and it still prompted me to install the Create app, but this time instead of downloading a tar.gz file, it directed me to the Arduino Create for Education app in the Chrome web store (not the same as the Google play store). I still can't run it since I haven't figured out how to force an update to Chrome yet, but maybe that will work for people with newer Chromebooks.

1 Like

arduino.cc says to be actively trying to find a solution for using arduino´s on chromebook, hope it will be available this year or this month, the prefer the latter!

1 Like

anyone gotten ARDUINODROID to work on a chromebook? i have it but it doesn´t detect my arduino to upload, maybe easy to fix??

I suspect that this is what's going on: Google disabled the WebUSB API in the latest Chromebook update because of a security vulnerability. That API is what Chromebooks use for serial connections. As a result, Arduino Cloud for Chromebook stopped working so Arduino removed it from the Play Store.

Most of this is speculation on my part but there is some evidence.

I've been using a BBC micro:bit V2 with a Chromebook. There were two ways to get your program from the web based development environment to the board. The one step way used webUSB and stopped working when my Chromebook updated. The two step way I download the .hex file and then upload the file via USB to the device which is pretending to be a thumb drive. The two step method still works.

Well, even if it's hard to confirm, your speculation makes sense.
But the two steps workaround seems to me too hard and annoying, and IMHO Arduino should activate to solve this senseless issue with Chromebooks. But I don't know if this forum could raise a flag to the development teams. I don't have a Chromebook (yet) but maybe someone directly involved could better create an issue on Arduino Github?

Thank you for that note about Microbit. I actually just bought one to play around with and was very pleased with how effortless first time setup was - entirely from a browser with Microsoft Makecode*, no need to download or install anything (I tried following the instructions to get it to work with Scratch, which involved downloading a .hex file like you mentioned, but apparently requires connecting via Bluetooth? and ultimately could not get it to connect). BUT it stupidly hadn't occurred to me that I should also test the Microbit with a Chromebook.

*which is a lovely first-party graphical programming option that I wish we had for Arduino, that is a topic for another thread.

@docdoc I have seen official replies from the Arduino team in other threads, such as this one about a bug with servos on the R4. It looks like they are aware of the Chromebook issue already though so I guess I'm not sure if this one will catch any additional attention.

Although that is generally a good way to submit formal bug reports and feature requests for Arduino's software projects, in this case there isn't a public repository (as far as I know) for the relevant code so that won't be possible.

The policy of the Arduino Cloud developers is that bug reports and feature requests should be posted on the relevant forum categories. So we can consider this topic to be that report.

Just had my 15 year old son try with his. Got everything running except for being able to upload a sketch. We tried allowing Chrome to see serial ports in the settings, clicked it to allow but it still won't. He tells me the students are locked down from using anything at all through the USB connection to the school Chromebooks.

Edit:

  • workaround 1: there's always this, the Arduino simulator.
    https://wokwi.com/projects/344891391763022419

  • Workaround 2: use the share sketch option and share to a teacher's computer and use that computer only to upload sketches but how tedious is that?

  • Workaround 3: Have the students work in Processing instead. No microcontroller (well it can but not without access to serial), but it's like Arduino in that students can "sketch" all sorts of things and try them out.

https://processing.org/

This example sketch works with the keyboard to make a color typewriter
https://processing.org/examples/keyboardfunctions.html

This one I think works in browser
https://processing.org/examples/moveeye.html

  • BONUS fun sketch for Arduino that requires no extra hardware:
byte level;
unsigned long currentTime;
unsigned long lastTimeAround;

void setup() {
  Serial.begin(9600);
  Serial.println("millisTimedFunctionsByKatie");
  delay(500);
  Serial.println();
  level = 0;
  currentTime = 0;
  lastTimeAround = 0;
}

void loop() {
  // start free running timer
  currentTime = millis();
  // set timer whose condition is to check level every 3 seconds
  if (currentTime - lastTimeAround > 3000) {
    switch(level) {
      case 0:
        zero();
        break;
      case 1:
        one();
        break;
      case 2:
        two();
        break;
      case 3:
        three();
        break;
      case 4:
        four();
        break;
    }
    // synch the time marker to the free running clock
    lastTimeAround = currentTime;
  }
}
void zero() {
  Serial.print("\tKatie ");
  level += 1;
}
void one() {
  Serial.print("Loves ");
  level += 1;
}
void two() {
  Serial.print("Cats ");
  level += 1;
}
void three() {
  Serial.print("and ");
  level += 1;
}
void four() {
  Serial.println("Dogs:)");
  Serial.println();
  level = 0;
}

My Chromebook just updated to Version 123.0.6312.134 (Official Build) (64-bit) and both broken python.microbit.org features (easy upload and seriall) are now working.

1 Like

I'm sorry, not to be the dummy in the room, but does this mean you can now use Arduino and Chromebook together, easily?

Possibly. See my previous post for my reasoning by analogy to my experience on the microbit platform.

1 Like

A post was split to a new topic: Install Create Agent on Chromebook

@ptillisch just to clarify does that mean that all the issues discussed in this thread should be resolved now?

I see that the "Use Arduino with Chromebook" page still has a warning on it about the app being removed from the play store, and it directs people to the "Arduino Create for Education" extension.

I am using an older refurbished Chromebook that no longer gets updates (still on Chome v92.something, current version looks like 125.something). If I try to open a sketch with the Cloud editor I just get "An error occurred. We're not sure what happened." I can't install Arduino Create for Education because my browser is too out of date and there's no way to force an update (I realize that's a Google problem and not Arduino's problem). Just wanted to clarify 1) if in theory everything should be working now on an up-to-date-Chromebook and 2) the discrepancy between your instructions above to use the Cloud Editor and the instructions on the Arduino for Chromebook page to use the Arduino Create for Education extension. Thanks!

Hi @bfinio.

I'll try to address each of them to the best of my abilities. Unfortunately I am not very knowledgeable on this subject matter since historically my work for Arduino hasn't included any involvement in the work to develop Arduino software for ChromeOS users and support those users.

I'm trying to help out as I can because I see there is a need for someone to do that here on Arduino Forum, but I don't have any experience using Arduino Cloud on a ChromeOS machine and don't have access to a ChromeOS machine so I'm a bit limited in this area.

Some progress has been made towards replacing the old name "Arduino Web Editor" with the name of the "Cloud Editor" replacement's name throughout all the official web pages and content but it is not completed yet. Since the two names are quite similar, I don't think the remaining inconsistency will cause too much confusion.

I think this has been removed with the migration to Cloud Editor.

The situation with the app is now explained in that article:

Arduino Cloud for Chromebook has been removed from Google Play and is currently unavailable. We are actively working to resolve the issue.

Cloud Editor only supports uploading to the following list of boards (as well as 3rd party compatibles and derivatives of the boards on that list):

https://support.arduino.cc/hc/en-us/articles/360014779899-Boards-compatible-with-the-Cloud-Editor#cloud-editor-on-chromebook

These boards are supported:

  • Arduino UNO R4 Minima
  • Arduino UNO R4 WiFi
  • Arduino UNO (R3 and older revisions)
  • Arduino MKR WiFi 1010
  • Arduino Nano 33 IoT
  • Arduino Nano RP2040 Connect
  • Arduino UNO WiFi Rev2

"Verify Only" support is provided for many other boards. When you have one of those boards selected, you can still use Cloud Editor to develop sketches, and compile the sketches for the selected board. However, due to the unique technical challenges imposed by ChromeOS, we have not been able to provide upload support for those boards so upload button will be disabled when one of the "Verify Only" boards is selected.

At the time of the Cloud Editor migration, support had not been added for uploading from ChromeOS machines to the 3rd party compatibles and derivatives of the official boards with upload support. That deficiency has since been resolved and it is now possible to use Cloud Editor to upload to those 3rd party boards from ChromeOS machines.

I don't have any experience with the 3rd party application "ARDUINODROID". I know some members of the community use it. Since it is a fairly different subject from this Arduino Cloud focused topic, I would recommend creating a dedicated topic about "ARDUINODROID". That might get the attention of one of the forum helpers who has experience using it.

I haven't seen any other reports of this problem. Does the problem still occur if you try again now?

This type of problem might be caused by a transient network outage. These usually resolve themselves after a matter of minutes; hours at worst. If so in this case, I would expect you would no longer experience the problem now.

If it still occurs, open an "incognito" window in Chrome and then try using Cloud Editor from that window. The reason for this suggestion is that the problem might be caused by interference from a browser extension (e.g., an adblocker) you have installed. By default, extensions aren't enable in "incognito" windows, so this serves as Chrome's equivalent of a "safe mode" to get a more vanilla browser environment.

I don't have any experience with the app so I can mostly only offer speculation.

I believe that, at the time the "Arduino Create for Education" app was created years ago, the Arduino Web Editor didn't have any support for ChromeOS. So that was the only option for people with ChromeOS machines. We now have the option of using Cloud Editor in the browser without any need for an app.

I think that there might be certain contexts (e.g., students working with Arduino in a classroom) where an app would still be preferred over just using a website in the browser. So the app gives another option for using Arduino on ChromeOS machines.