Main Content

ThingSpeak Write

Publish data to Internet of Things using ThingSpeak

Add-On Required: This feature requires the Embedded Coder Support Package for BeagleBone Black Hardware add-on.


The ThingSpeak Write block publishes input data from target hardware to the Internet of Things (IoT) using ThingSpeak™.

ThingSpeak is an open Internet of Things (IoT) platform with MATLAB® analytics that allows you to collect and store the sensor data in the cloud and develop IoT applications. The ThingSpeak IoT platform provides applications that allow you to analyze and visualize your data in MATLAB and then act on the data. For more information on how to use ThingSpeak, see ThingSpeak Apps, Plugins, and Tutorials.

  • ThingSpeak Write block



expand all

The block publishes the data to the nth variable in the ThingSpeak channel at each time step. The number of data channels at the block input depends on the number of variables that you select in the Number of variables to send parameter. For example, if you set the Number of variables to send parameter to 3, the block enables three input port with port names var1, var2, and var3.

Data Types: single

The block sends the location data that is specified as a three-element numeric vector of the form [latitude, longitude, altitude].


To enable this port, on the Optional tab, select Send location information and set the Coordinate source parameter to Input port.

Data Types: single | double


expand all


Enter the URL from the Add data by sending a POST or GET to parameter in To know the URL:

  1. In the website, select Channels > My Channels.

  2. Under the channel that you created for this target hardware, click Settings.

  3. Click the Data Import/Export tab.

  4. Copy the URL from Add data by sending a POST or GET to parameter.

  5. Open the ThingSpeak Write block in your Simulink® model and paste the URL in the Update URL parameter.

Enter the 16-digit write API key of the ThingSpeak channel.

Follow these steps to know the API key for your ThingSpeak channel.

  1. Sign in to ThingSpeak using your MATLAB account.

  2. Select Channels > My Channels.

  3. Select the channel to get the write API key.

  4. Click the API Keys tab and copy the key from the Write API Keys parameter.Write API Key

  5. Open the ThingSpeak Write block in your model and paste the copied API key into the Write API key parameter.

Select the number of ThingSpeak variables to publish data from the block.

Specify the time interval at which the input data is updated on the ThingSpeak channel.

Select this parameter to save the response from the ThingSpeak server to a log file for each write request. The name of the log file has the format <model_name>.log.


Select this parameter to send the location information to the ThingSpeak channel.

Select the source of the location data.

  • Block dialog — Specify the location using the Location (latitude, longitude, altitude) parameter.

  • Input port — Specify the location using the location input port.

Use decimal degrees notation to specify latitude and longitude whereas, use meters to specify altitude. For example,

  • The lowest human-sized point underground, the TauTona Mine in Carletonville, South Africa, is [-26.416111,27.4275,-3900].

  • The highest point measured from sea level, the summit of Mount Everest in Nepal, is [27.988056,86.925278,8848].

Enter the location information as a three-element numeric vector of the form [latitude, longitude, altitude] to update the ThingSpeak channel.


To enable this parameter, set Coordinate source to Block dialog.

Version History

Introduced in R2014b