Did you know that there is an Arduino Cloud? Whether you are a Maker building a DIY project or a professional building an IoT solution and requiring communicating, displaying data from, or controlling your devices remotely from anywhere, you will want to check this one out.
In my previous article, I described my first few minutes with the new Arduino UNO R4 WiFi and the Arduino IDE 2.x. Time now to connect this thing to the Internet and take a look at the Arduino Cloud, its Web Editor and its IoT platform and dashboards.
What is the Arduino Cloud?
When first hearing about Arduino proposing a Cloud platform, my reaction was to consider this a good news for Makers that would help them in their projects to back up and sync their sketch files, connect their devices at more affordable costs than professional Cloud platforms and/or with simpler ways, to then create simple dashboards to visualize their data and interact with their devices. I also assumed that there would be a cost to the new features, and I was correct, but after some time spent with the tools, an individual can still benefit from enough Cloud freebies (with limits) to build their DIY projects. You can find details about the plans Arduino offers for its Cloud platform here.
The Arduino Cloud landing page offers a glance at all the available features, from documentation, to a Web Editor for your sketches, to a mobile app that allows you to access your dashboards directly from your smartphone to its integration with Edge Impulse’s Machine Learning tools… Wait what? Machine Learning tools? Things are already becoming even more interesting than I initially thought they would! But let’s not get ahead of ourselves and stick to the initial plan of investigating the Arduino Cloud and we’ll get back to the more advanced and professional features later.
Documentation and developer resources are accessible through the Arduino Cloud landing page and are well structured, easy to navigate, and an open window to community projects and forums which Arduino has built strong since their inception.
Web Editor and sketch Cloud sync
The first promise of the Arduino Cloud is to allow you to have a workspace in the Cloud for all your Arduino stuff, starting with your code. From the desktop IDE, I had already used the Cloud sync feature to upload my sketch to the Cloud with a simple sign-in. Convenient and simple. Note that the push/pull concept for synchronizing code is not GitHub-like and does not allow you to visualize differences, merge code or manage versions, at least not at this point.
Going to the Web Editor I found my uploaded sketch and could resume coding where I left it. The editor is rich and functional. It allows code navigation, autocompletion, live debugging, everything you can do in the local IDE tool. I personally prefer working on the local IDE, but I can see how a Web Editor that doesn’t require installation can be practical (there is an agent extension install required to connect to your hardware from the browser). The fact that Arduino made sure connectivity with the board from the Web browser stays seamless and identical to the IDE, is certainly a great feat that will make the Web Editor a relevant option for many.
Note that the free Web Editor has limits that you will hit rapidly, like the 25 compilations/day. Arduino do have to pay their Cloud bills after all, and compilation in the Cloud does consume Compute and Storage in the Cloud. But that is a non-issue if you pull your code locally and work on your desktop.
The Arduino IoT platform
Onto some IoT fun with the new Arduino IoT Cloud! When first starting the Arduino IoT Cloud, you are offered to create your first “Thing”. As per the definition offered on the landing page, a Thing is a connected device that can communicate with the Cloud. A Thing has cloud variables, tags and can be associated with a physical device which is a concept similar to AWS IoT device Shadow or Azure IoT device Twin.
I added my UNO R4 to the devices list, updated the firmware as suggested, saved the secret device key for future use, created a Thing with a couple cloud variables, associated my UNO R4 device to the new Thing.
The IoT Cloud created a sketch that establishes connection with the Cloud, initializes the Thing variables and sets up callbacks for when Cloud variables are modified on the Cloud side. I pulled the new sketch in my local IDE (once again, you can work directly in the Web Editor if you prefer), merged the code I had created earlier to display something on the LED Matrix and output a signal on the DAC pin. Compiled, deployed… and… it worked at first try 😎.
The creation of the dashboard took about 2 minutes to add a live chart and value label and a slider for setting the signal frequency and link widgets to the Thing Cloud variables I have created earlier. Process was straight forward and convenient.
Using your smartphone as your Arduino companion
As part of the Arduino Cloud, there is a mobile app that allows you to display your dashboards as well as use your phone as a Thing taking advantage of its built-in sensors and test a dashboard or just play around with the Arduino IoT Cloud (which I obviously did 😊).
After installing the Arduino app on my Android device, I logged in and could access the dashboard I had just created, visualizing the data pushed by my UNO R4 WiFi.
To use my phone as a device, I activated the mode in the main menu of the mobile app. A new Thing was automatically created in my Arduino IoT Cloud as well as a dashboard that popped up on the phone and that I could go visualize in my browser as well.
I could then combine data from my 2 Things (the Arduino UNO R4 and my phone) into a single dashboard. All of that without a single line of code, without having to mess around with any sort of communication protocol or anything else more complex than drag and drop or selections in drop down lists.
So far, so good! The Arduino Cloud offers advanced and solid features for all kinds of Makers. Setup is straight forward, effortless, and convenient. While this is not the only IoT platform around, the Arduino Cloud is already in the lead for Makers (in my opinion). I still must dig deeper to confirm this first impression, and there is much I am sure Arduino will keep adding to their platform.
The Arduino Cloud is worth exploring even for professionals and I intend to do so myself in a future article, trying out the Arduino CLI, the Triggers, the integration APIs and more. Stay tuned, and in the meantime, if you had the chance to play around with the Arduino Cloud, feel free to share your perspective here or on social media, I’d be curious to learn from you all what you discovered and what your opinion is.