Feature request: Programming Arduino directly from Tinkercad Circuits

If you search the forum there are many requests from educators looking for a good graphical programming option for Arduino. Tinkercad Circuits is a great browser-based Arduino/circuit simulator that includes both graphical and text-based programming options, but you cannot upload code directly to your Arduino from Tinkercad - you'd need to copy your code to the IDE and upload from there. I reached out to Autodesk and asked them what it would take to upload code directly from Tinkercad, and this is the reply I received:

"There currently isn’t a way to program an Arduino directly from within Tinkercad. Arduino has an installable plug-in that allows their web editor to program a physical Arduino attached to the machine. I’ve looked into what it would take to do the same from Tinkercad. It would require the Arduino organization to enable tinkercad.com as an accepted source to trigger programming for their plug-in. While it is not a technically challenging thing to do, it would require a partnership with Tinkercad and Arduino that doesn’t currently exist."

So, I'm not really in a position to broker such a partnership, but I can cross my fingers that maybe if enough people in the education community ask nicely, Arduino will consider it? No idea if this is the right place to post this or if there's somewhere else to submit feature requests, but I figured it would be better to have this as a public forum post that other people could comment on instead of a feature request that only the Arduino team would see. Tagging @ptillisch since you replied in a recent thread about issues with the Chromebook app (not sure if you monitor education-related posts more closely or if that was a coincidence).

Thanks!

1 Like

Hi @bfinio.

I think they are referring to Arduino Create Agent:

I am not super knowledgeable about this subject, but I think the claim is incorrect. This can be configured via the origins field of Arduino Create Agent's configuration file. The user can access the file by starting Arduino Create Agent, clicking on the icon, then selecting "Open Configuration" from the menu.

In fact, this approach is already being used by the 3rd party "Hack Pack IDE", which uses Arduino Create Agent to upload the program binaries compiled by their IDE to the boards.

They provide the users with the following instructions:

How to Setup the Arduino Create Agent.

The agent is what allows your boards to be able to talk to, and be programmed, through Crunchlabs' tools.

  1. Install the ArduinoCreateAgent (link).
  2. Once the agent is running you should see it in the agent tray:
    • On macOS, this will be a little Arduino logo at the top right of the screen.
    • On Windows, this will be an Arduino logo at the bottom right of the screen.
    • On Linux this varies, but it's likely at the top of your screen, like for macOS.
  3. Click the agent, and select 'Open Configuration'.
  4. Once the text file opens up, replace what you see with the following contents instead.
    gc = std # Type of garbage collection
    hostname = unknown-hostname # Override the hostname we get from the OS
    regex = usb|acm|com # Regular expression to filter serial port list
    v = true # show debug logging
    appName = CreateAgent/Stable
    updateUrl = https://downloads.arduino.cc/
    origins = https://ide.crunchlabs.com,https://local.arduino.cc:8000,http://localhost:3000
    #httpProxy = http://your.proxy:port # Proxy server for HTTP requests
    crashreport = false # enable crashreport logging
    autostartMacOS = true # the Arduino Create Agent is able to start automatically after login on macOS (launchd agent)
    
  5. Save your changes, and close the text file.
  6. Click the agent icon again, and select 'Pause Agent', followed by clicking again to select 'Resume Agent'.
    • You can also restart your computer, as this will also restart the agent.
  7. Your new configuration will be in place, and you're ready to start coding!

If you think putting the responsibility of configuring Arduino Create Agent on the user is not appropriate, Tinkercad can simply distribute their own version of this free open source application, with the appropriate configuration out of the box.

I'm not in the role of making such decisions authoritatively, but I can tell you that a similar request for the ElectroBlocks project was declined. The decision was based on the following facts:

  • The necessary configurability is already provided for Arduino Create Agent to be used with arbitrary 3rd party services
  • Arduino is responsible for ensuring the security of the application we distribute when used with the default configuration, and adding 3rd party services would greatly increase that burden
1 Like

Got it, thank you! Having our users manually edit a config file isn't ideal, but I will relay to Autodesk that they don't actually need Arduino's "permission" to do this.

You are welcome. I'm glad if I was able to be of assistance.

Regards,
Per

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