Trouble using Cloud Editor on Chromebook

I have a new Plug and Make Kit, and I'm having quite a journey trying to get it to work on a Chromebook with the Cloud Editor. I have been trying to use the template: Uno R4 WiFi Basics.

At first, it looked like I needed to update my Firmware. arduino-fwuploader wasn't working for me because espflash was timing out. After a couple tries, I was able to successfully run the updater command:
./bin/espflash write-bin -b 115200 0x0 firmware/UNOR4-WIFI-S3-*.bin

It didn't take long to update, but it looked like it was working and didn't exit with an error.

Once I got my Firmware updated, I rebooted the Chromebook, then went to app.arduino.cc and tried to create a new project from the "Uno R4 WiFi Basics" template. It guides me through choosing a port for my device, and setting the WiFi information, and then starts compiling. After some time, it fails because it is missing an auto-generated file called "thingProperties.h"

It says to contact the forum if the problem persists and I'm stuck. I can get differential behavior if I try again with a new device name, but it then drops me into a "Firmware update required" dialog even though I have just updated the firmware.

Am I missing something obvious? Have people been able to get Plug and Make to work on a Chromebook?

Is this a school environment?

It isn't. We have only Chromebooks at home, but I set up my Linux environment.

I have been able to upload sketches by working through some of the tutorial docs. It looks like it is the automatic properties that are failing for me.

I don't have a Chromebook, so I can't test the hardware part. It sounds like you are doing an Arduino Iot cloud project. Did you install the Arduino Agent?
I don't know what a 'normal' IoT cloud project looks like on a Chromebook so I am stuck.
I do know when I try to just create the empty sketch there is NO thingProperties.h created yet.

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:

  1. Give Linux access to the right USB port
  2. 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.
  3. 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.

Thanks for taking the time to share your findings @jsarapata!

The port menus in Arduino IDE 2.x are populated with data provided by a helper tool named serial-discovery.

You might be able to spot a problem with that tool by examining the logs Arduino IDE 2.x prints to the terminal while running.

If you would like to share the logs here, I'll be happy to take a look (though I don't know that I will be able to help since I am not knowledgeable about working with the Linux aspect of ChromeOS. You can share the logs by the following procedure:

  1. Close all Arduino IDE windows if the IDE is already running.
  2. Open a command line terminal in the folder that contains the AppImage file.
  3. Type the following command in the terminal window:
    ./arduino-ide_<version>_Linux_64bit.AppImage
    
    (where <version> is the Arduino IDE version number)
  4. Press the Enter key.
    Debug output should now be printed to the terminal window as Arduino IDE starts (or fails to start).
  5. Wait for Arduino IDE to finish starting, or failing to start.
  6. Switch back to the terminal window if the Arduino IDE window took the focus.
  7. Use the mouse to select all the text in the terminal window. Make sure to scroll all the way up to the top.
  8. Press the Ctrl+Shift+C keyboard shortcut.
    This will copy the selected text to the clipboard.
  9. Open a reply here on this forum topic by clicking the "Reply" button.
  10. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
  11. Press the Ctrl+V keyboard shortcut.
    This will paste the output into the code block.
  12. Move the cursor outside of the code block markup before you add any additional text to your reply.
  13. Click the "Reply" button to publish the post.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.