Using the Data Flow Editor

The data flow editor allows you to quickly create programs using sensors. You can pass data from sensors directly to a phone or web server without doing any programming.

After you create a data flow, you can convert it into an Arduino program that you can edit in our sketch editor.

Data Flow View Modes

The Data Flow Editor has four different view modes:

Data Flow

The Data Flow view is the default mode. In this view, blocks are represented as a rectangle with blue semicircles for inputs and outputs. Inputs are on the left side of the blocks, outputs are on the right side. Connections between blocks are represented as as solid blue line from the output of one block to the input of another. You can move blocks around the Data Flow Editor by clicking on the block and dragging it.

To connect blocks, click on an output and drag away from it. A light-blue line will extend from the output and follow your cursor. Move the connection so that it touches an input on another block and release it. The connection will attach, if it's valid, and become darker blue.

To disconnect blocks, click on the connection. The connection will disappear and the blocks will no longer be connected.


In this view, blocks are shown in a table with Edit and Remove buttons for each block. Clicking Edit will allow you to change the name of the block. After you are finshed editing the name, click Done to keep the change.

To remove a block click Remove. You will be asked to confirm your choice. There is not currently a way to undo removing a block.


In this view you can view the name and description of the data flow. If you have edit permissions for this data flow, you can edit these as well. A name is required to save a data flow.


If this is your data flow, or if you have admin permissions, this view will allow you to edit the permissions of the data flow.

Data Flow Actions

The Data Flow Editor has three main actions:

Add Block

This will open a menu to add blocks to the data flow. See Block Types below for a description of the different types of blocks you can add.


This will prompt you to provide a name for your data flow if you haven't already. Once you have, it will save your data flow. It will then be available in the Your Data Flow section of the programming hub. If you've added the permission for everyone to view the data flow in the Admin view, the data flow will also be added to the Community Data Flows section of the programming hub.

Create Sketch

You must save your data flow before you can generate an Arduino sketch from it. Once you have, this will generate an Arduino sketch from your data flow. The sketch will have the same name and description as the data flow when it's created.

Once the sketch is generated, it's currently separate from the data flow. This means that every time you click Create Sketch a new sketch is created. Also, making changes to the data flow won't affect the sketch and making changes to the sketch won't affect the data flow.

Block Types

  • Sensor Blocks: various kinds of sensors that you can connect to your Arduino (we support all of the same sensors that are supported by Sensor Plotter)
  • Output Blocks: output devices that you can connect to your Arduino
  • Standard Blocks:
    • Filter Blocks:
      • mathematical operators (plus, times, etc.)
      • boolean operators (and, or, not, etc.)
      • comparisons (equals, greater than, etc.)
      • data filters (smoothing, delays, etc.)
    • Numeric Blocks: hold a fixed numeric value
    • Data Sender Blocks: transmit data to a serial port, Bluetooth connection, WiFi connection, SD memory card, or OLED display.


The Data Flow Editor is a work in progress. As always, if you have any problems or questions, please contact us at

Example Data Flow Projects