SmartThings Arduino ThingShield Docs

Using the SmartThings Arduino Shield (ThingShield), you can add SmartThings capability to any Arduino compatible board with the R3 pinout. Including the Uno, Mega, Duemilanove, and Leonardo.

Installing the Library

To install, copy the entire SmartThings directory into the ‘libraries’ directory in your sketchbook. Your sketchbook location is set in the Arduino IDE preferences, by default, the location will be:

Windows:
‘My Documents\Arduino\libraries\SmartThings’

OSX:
‘~/Documents/Arduino/libraries/SmartThings’

You can download the SmartThings Arduino Library here

For more information about installing Arduino libraries see http://arduino.cc/en/Guide/Libraries

Pairing the Shield

To join the shield to your SmartThings hub, go to “Add SmartThings” mode in the
SmartThings app by hitting the “+” icon in the desired location, and then press the Switch button on the shield. You should see the shield appear in the app.

To unpair the shield, press and hold the Switch button for 6 seconds and release. The shield will now be unpaired from your SmartThings Hub. Make sure to delete from your account if you plan to re-pair it!

Changing the Device Type

By changing the device type in the SmartThings cloud you can change how to interact with your Arduino + ThingShield. When a shield first pairs, it has no functionality and only serves to help identify the device in the mobile app. We have some pre-built device types that you can use for most functionality. One pre-built Arduino device handler is the “On/Off Shield (example)”

To change your device type, log into http://graph.api.smartthings.com/ and click on “Devices” Navigate to and click on the Arduino ThingShield then click on “Edit” on the bottom left of the page.

Select the “Type” drop down menu.

Choose “On/Off Shield (example)”

Hit the “Update” button

Your Arduino will now be able to accept the commands “on” “off”, and “hello”

See what the Arduino code for this looks like and here is the device handler for it.

Here is a different device type that can read a string sent from an Arduino and display it in a tile.

Arduino Examples

We have created some example Arduino Sketches (code) to use as a reference for building your own devices. The following is meant to go with the ”On/Off Shield (example)” device type.

Download all of our examples here.

4 Likes