Documents

Get Started
Dash Concepts

Before you get stuck in, you can familiarize yourself with the definitions, concepts and information on the Dash Concepts page. Or you can dive in to one of the documents and guides below.

Dash App Quick Guide
Developing IoT devices Overview

Setup Your IoT Device

IoT devices

Get Started

1. Select the hardware for your IoT device.

2. Include the Dash library into your project or start with one of the example projects.

3. Create the functionality for you project using the Dash library.

Select Hardware

The hardware you choose must have a suitable communications peripheral. Some off-the-shelf boards, like the Arduino Uno
will need a TCP, Wi-Fi or BLE Shield to communicate, while others are already communication-enabled; like the ESP8266, ESP32, Raspberri Pi with WiFi dongle, Particle Photon or the many low cost Linux boards. Because there are BLE, TCP and WiFi shields and breakout boards that can be added to any microcontroller, there is almost no limit to the hardware that the Dash app can connect and communicate with. The Dash app can even be used to communicate with other mobile phones and tablets.

Include Dash Library
dashio_180_white

The Dash library is an open source, lightweight message processor that encodes and decodes messages for sending and receiving over a BLE, TCP or MQTT connections. It provides the following services:

  • Decodes incoming messages into the message/control type, identifier and data fields, proving all the information required by the IoT device.
  • Encodes messages to send to the IoT Dashboard, given the message/control type, identifier and data.
  • Device and connection classes for managing messages.
  • Manages configuration information configuration messages for device layout on the Dash app..
  • Control configuration structures and helper functions to simplify control configuration messages.
The Dash library (available on GitHub), software development guides and example projects are available in the following languages:
  • Arduino C++
  • Lynux Python
Create Your IoT Device

Design and build your IoT device, with help from the documents below. The software development guides show how to use the Dash library and the example projects are a great way to start your project.

Arduino software Guides

At DashIO, we are continually improving and adding to our libraries and documents. If a software guide or library doesn’t exist for the device you are working with, or you would like additional functionality, please contact us and we will look at providing what you need.

ESP32 (Arduino)

Software guide for Dash operating on an Espresif ESP32 micro-controller with BLE, TCP and MQTT connections and example Dash controls.

ESP8266 (Arduino)

Software guide for Dash operating on an Espresif ESP8266 micro-controller with TCP and MQTT connections and example Dash controls.

SAMD (Arduino NANO 33 IoT and MKR 1010)

Software guide for Dash operating on Arduino NANO 33 IoT and MKR 1010 boards with a BLE, TCP and MQTT connection and example Dash controls.

Arduino MKR NB 1500

Software guide for Dash operating on Arduino MKR NB 1500 board with example Dash controls.

Arduino NANO 33 BLE

Software guide for Dash operating on Arduino NANO 33 BLE board with example Dash controls.

Adafruit Bluefruit LE SPI Friend (Arduino)

Software guide for Dash operating on an Arduino or similar micro-controller with a Bluetooth LE (BLE) connection through and Adafruit Bluefruit LE SPI Friend.

Arduino C++ Library & Examples

Dash Arduino C++ Library documentation for Devices, Connections & Controls .

Take a look at these simple examples of how to use the Dash Arduino C++ library.

Python Software Guide

Linux Systems (including Raspberry Pi, BeagleBone etc.)

Software guide for Dash Python on Linux systems.

Python Library

Dash Python Library documentation for Devices, Connections and Controls.

Supporting Documents

Dash Controls

Description of the Dash IoT Dashboard Controls.

Dash Protocol

Complete specification for the Dash Protocol.

Colors, Icons and Sounds used within the Dash Protocol.