Getting Started with Arduino Cloud

Get started with the Arduino Cloud, an online platform that makes it easy for you to code, deploy and monitor IoT projects.

The Arduino Cloud is a platform for developing Arduino projects and connecting them to the world. It supports secure connections with boards via Wi-Fi®, LoRa®, Ethernet and Cellular (GSM/NB-IoT), and lets you create a system for sending any variable information you can think of from one board to another within minutes of unboxing them.

The Arduino Cloud platform includes:

  • an Integrated Development Environment (IDE) for programming your boards,
  • a cloud backend service for synchronizing data from Arduino boards, but also from Python & JavaScript clients,
  • a graphical tool (dashboard) for controlling and monitoring your board (as well as an mobile app).
  • REST API and command line tools for larger scale automations.

Very simply explained, with the Arduino Cloud you can:

  1. Create a program for an Arduino based on a brilliant idea you just hatched.
  2. Upload the program to your board and synchronize any data you want to (most commonly through Wi-Fi®).
  3. Create a dashboard with a set of widgets to control and monitor your data.

Developing a sketch made for the Arduino Cloud is almost just like developing any other sketch. You have your setup, and loop just like normal. But you are also able to select variables to be automatically synced to the Arduino Cloud.

Once a variable is synced to the Arduino Cloud you can access it from any of your other devices connected to the Arduino Cloud.

Once you have setup your project, this is how you could interact & monitor it.

For example, turning ON / OFF a light connected to a device would work like this:

Interacting with your device
Interacting with your device

And if you want to read the value of a sensor connected to your device, it would work like this:

Monitoring your device.
Monitoring your device.

Networking code and data synchronizing is automatically done, so just focus on the project, and let the Arduino Cloud handle the rest.

This document will help you get familiar with the Arduino Cloud service, and once you've got a good hang of it, you can explore the rest of the documentation.

Compatible Boards

Throughout the documentation, we will often refer to a "board" as a "device". A board is your physical hardware or virtual setup (Python/JS), and a "device" is how it is configured in the Cloud.

Compatibility with the Arduino Cloud is divided into two categories:

  • Cloud Editor Support - you can program any official Arduino board in the Cloud editor. The editor also supports a large amount of third party boards.
  • IoT Support - board with a radio module (e.g. Wi-Fi®) are supported. ESP32 based boards are also supported.

For more information and list of supported boards, see the links below:

You can also create something called manual devices, which allows you to create a virtual instance directly on your computer using JavaScript, Python or MicroPython.

Overview

The Arduino Cloud home page.
The Arduino Cloud home page.

Anything in the Arduino Cloud can be accessed via the left action bar. In the list below, some with links to a documentation pages.

  • Sketches - your sketches (programs) are stored here, divided into either a "normal" or "cloud" sketch.
  • Devices - here you can configure your Arduino boards, ESP32 devices, manual devices (Python, JavaScript and more).
  • Things - a Thing is a project configuration, where you select device, create variables to synchronize, and enter credentials.
  • Dashboards - dashboards are used to monitor & control your board through widgets. There's also a mobile version available to view your dashboards from a smartphone.
  • Triggers - triggers can be used to send emails and push notifications based on a value change of a variable.
  • Resources - helpful links and resources. You might have found this article here.
  • Courses - tailored content for specific products and kits connected to the Arduino Cloud.
  • Templates - templates are ready-made project that will automatically configure your device, Thing,
  • Integrations - third party services that are integrated with the Arduino Cloud.

A Walkthrough the Arduino Cloud

Setting up a project in the Arduino Cloud is easy, and can be done through a few simple steps summarized in this section.

1. Create an Account

To use the Arduino Cloud, you will need an Arduino account, which you can register here.

By default, you will have a free plan, which can be upgraded to a number of affordable plans starting at 1.99$ a month.

Read more about Arduino Cloud plans

2. Configure a Device

First you will need to connect your board to your computer, and configure your device in the Devices tab.

Devices in the Arduino Cloud.
Devices in the Arduino Cloud.

The configurations varies between boards, but everything is covered in the installation wizard.

Learn more in the documentation for Arduino Cloud Devices.

3. Create a Thing

After configuring a device, we can create a Thing, which is the virtual twin of your board. Here we configure network details, select device we want to associate and create the variables that we want to synchronize.

Things in the Arduino Cloud.
Things in the Arduino Cloud.

Variables we create will be used in the sketch, and will keep synchronizing as long as the board is connected to the Cloud.

When working with your IoT projects, consider this the "main space" for configurations, as you can access your sketches from here as well.

Learn more in the documentation for Arduino Cloud Things.

4. Write a Sketch

Once you have done the above configurations, you can move on to create a program/sketch. This is where you decide what you want to create, and what data you want sent to the Cloud.

A sketch in the Arduino Cloud.
A sketch in the Arduino Cloud.

When your program is ready, upload it to your board. If your board supports Over-the-air (OTA) uploads, you can from now on upload without your board being connected to your computer!

Learn more in the documentation for Arduino Cloud sketches.

5. Create a Dashboard

A dashboard allows you to interact with your device from a web interface or mobile app. A dashboard is composed of widgets, which you can link to a variable in your Thing.

Dashboards in the Arduino Cloud.
Dashboards in the Arduino Cloud.

Choose from switches, sliders, RGB picker, message box, gauges and much more to create dashboards. Dashboards are not linked to a specific Thing/device, meaning you can control many different boards from the same dashboard.

Some widgets can be linked to multiple variables, for example the Advanced Chart widget can graph up to 4 variables from different boards simultaneously!

Learn more in the documentation for Arduino Cloud dashboards.

6. Track Your Project

Once you done all configurations, created a program & dashboard, you can sit back and monitor & interact with your project from the web interface or the mobile app.

Arduino Cloud Dashboard & IoT Remote App
Arduino Cloud Dashboard & IoT Remote App

Guides

We recommend checking out the following guides to get started with various coding frameworks:

Features

Make sure to explore the various features of the Arduino Cloud through the links below:

  • Data Monitoring - learn how to easily monitor environmental sensor values through a dashboard.
  • Variable Synchronisation - variable synchronisation allows you to sync variables across devices, enabling communication between devices with minimal coding.
  • Scheduler - schedule jobs to go on/off for a specific amount of time (seconds, minutes, hours).
  • Over-The-Air (OTA) Uploads - upload code to devices not connected to your computer.
  • Webhooks - integrate your project with another service, such as IFTTT.
  • Amazon Alexa Support - make your project voice controlled with the Amazon Alexa integration.
  • Dashboard Sharing - share your data with other people around the world.

Suggest changes

The content on docs.arduino.cc is facilitated through a public GitHub repository. If you see anything wrong, you can edit this page here.

License

The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.