Just in case anybody else finds this thread, I wanted to document my journey. I believe my primary issue with the Plug and Play kit on the Chromebook is that the Web Editor isn't well supported. The biggest problem is that there is an IoT/Cloud framework that has some automatic capability detection, and a simple way to connect to a WWW dashboard. I haven't gotten this to work, and all of the getting started projects use it, so I thought it was broken. You get a misleading error message about updating the firmware. I figured that out and it didn't help. The breakthrough is that you can't run any project on the website that has a "Use template" button. Anything on project hub that let's you copy paste code, or the examples, seems to work.
ArduinoCloudAgent
There is a Linux daemon called ArduinoCloudAgent. I tried running that in my Linux environment, giving it access to the Arduino USB port, and also sharing the port that it said it was listening to. The IoT/Cloud on the Web API still didn't work for me, so this was a dead end.
Updating firmware
I was able to update the firmware on a Chromebook, but it was an adventure. The IDE has support for calling the tool, arduino-fwuploader, but it didn't work for me. When I ran it directly in the shell, the error messages told me to call espflash directly. To do that, I needed to short the DTR pin on the board while plugging it in. A side effect of shorting DTR is that it changed the USB name, so I needed to go into Linux settings and give access to that USB as well as the booted up Arduino. But once I did that, using the command in an earlier message, I successfully updated the firmware. It still didn't work.
Arduino IDE
One annoyance with the Web API on a Chromebook is that every time you upload a sketch from the web API, you need to select the right port in a dialog three times. This, I could handle, but if I unplugged the board to add sensors, then Chromebook/WebAPI would no longer see the board until I rebooted the Chromebook.
So I wanted to get the API running. I was able to get the legacy 1.8 Arduino API running, and it is a much better experience than the web API. I got the brand new 2.0 IDE up and running, but the menu item to select port is grayed out, so I can't upload any sketches. I am still hopeful that I can get this running, and along with ArduinoCloudAgent, I will be able to activate the IoT/Cloud functionality.
I didn't write down every step because I was hacking at getting things to work. I could restart from a clean install to get good instructions, but I'd rather play with the board with my son while it is working. I mainly needed to do several things:
- Give Linux access to the right USB port
- Liberal use of chmod +x. The installer didn't seem to set any, so I set it on the main API. Then when background processes and uploads failed, I went on a hunt for other tools that looked executable. I probably made things executable that shouldn't be, but it hasn't been an issue.
- I needed to install a couple libraries. In most cases I was able to find the package name and "sudo apt install". I never was able to find a package for libnss3.so, but copying a file to the root directory of the IDE let me at least start. This might be the source of my grayed out port menu, but I'm still digging around.
If anybody else finds this in frustration, I hope this helps. I have my kit working for me now.