Arduino and SmartThing Shield

Can someone point me to the location of the Arduino and SmartThing shield documentation?
This new forum format is ok, but all the links are lost and a post’s code formatting is messed up.

Why doesn’t a (community) wiki exist for information vs dozens of inconsistent posts and topics?

Good suggestion and something we are considering. I do see now how older posts with code in them look all messed. We will try to correct this globally but for now I’ll do it as I find them. This link may be helpful for the Arduino stuff:

Unofficial SmartThings + Arduino Documentation Collection (updated links as I could)

Thanks for the help.
The major problem is the lack (lost) of information.

The URL goes no where!
I cant download any Arduino libraries or example code.
There is plenty of SmartThing Goovy code but no Arduino code for the shield.

I’m having the same issue, I need the Smartthing arduino library. Is there somewhere else I can download it?

I really hope SmartThings (PhysicalGraph) gets their website in order soon.
The broken links and missing data is unfortunate.
I think their new docs website is hosted by GitHub? Shouldn’t their Arduino code be there too?
I see a few repositories but its difficult to tell what’s community vs official.

We are collecting the content that did not get ported from the old Build site and will post it here shortly. For the record, all forum posts were migrated and can be searched for on this new site. Only blog posts, projects, and Wordpress “pages” have not yet been migrated.

Will surely add Arduino stuff to official docs on Github and (thus)

Interesting note, since all our docs are on Github you can make edits and pull requests there and contribute in that way.


I look forward to seeing the new documentation.

I have a few SmartThing shields and Digi XBee Series 2 (ZigBee) modules I want to experiment with.

Check this out @mcotis we can make any post a wiki post (like I just did with this one). Wonder if non-admins can do this.

Any logged in user should not be able to edit this. There is more coming to this feature but for now that looks like it.

I (@mcotis) was able to edit this post.

Not Arduino but similar topic:
I got this connected to my hub after some trial and error; it finally got assigned a ZigBee Device Network ID.
Now I am experimenting with loading the proper XB24 firmware and the ?HA profile?

After a lot of digging I found the old documentation that used to be at

Here’s the link for the waybackmachine (provides some documentation):

Here’s the Arduino library, hosted on dropbox:

Here’s some extra examples, also on dropbox (*thanks Ben):

If these dropbox links don’t work for whatever reason, let me know and I will get put them up somewhere.

Here’s a pinout for the shield:

  |              |
  |         SW[] |
  |[]RST         |
  |         AREF |-
  |          GND |-
  |           13 |-X LED
  |           12 |-
 -| RST       11 |-
 -| 3.3V      10 |-
 -| 5V         9 |-
 -| GND        8 |-
 -| GND          |
 -| Vin        7 |-
  |            6 |-
 -| A0         5 |-
 -| A1    ( )  4 |-
 -| A2         3 |-X THING_RX
 -| A3  ----   2 |-X THING_TX
 -| A4 |    |  1 |-
 -| A5 |    |  0 |-
  |____|          |____|

I “promoted” you to next user level for your awesome work! (also so you could post more than 2 links)

Thanks. Here is a more permanent home for this Arduino Info in our Knowledge Base.

Everyone, thanks for the information!
I hope to have some time to prototype this weekend.

Update for people working on building SmartShield apps:

The SoftwareSerial library did not work for me. Specifically, serial would write correctly but not read correctly. I verified this with a logic analyzer. If you can set the rgb led but don’t get any commands back, this is probably why. Consider looking for alternate software serial libraries, you can probably find a few on github. Otherwise you might try adding a delay(1500) before any other commands in setup - I read some documentation that said the Ember may take up to 1.4 seconds to boot.

I’m using an Arduino Mega ADK (multiple serial ports), so I don’t need to rely on SoftwareSerial. If you have a Mega I’ve written a small script which passes through a terminal to the Ember chip. The chip on the Arduino is set at 2400 baud, 8n1 and writes out the messages it receives like so:

T00000000:RX len 9, ep 01, clus 0x0000 (Basic) FC 00 seq 03 cmd 0A payload[0A 68 65 6C 6C 6F ]

The payload is a hex encoded string.

The script is here. Upload it your Mega, jumper Serial 1 to 2/3, and start the Arduino Serial Monitor at 115200 baud, with line ending nl+cr. If you type help at the prompt you can get a readout of the commands for the Ember Appbuilder firmware that is running on the EM357. (If you break something it’s your fault, so be careful.)

Next I’ll write a small parser for those payloads and have a full replacement for the SmartThings library. However I’m really only developing for the Mega right now. If you have a device without multiple serial ports I recommend using the shield’s switch to run on 0/1 and modify this script accordingly. The downside is that you now can’t use the serial over usb to communicate with a computer.

Here’s a quick replacement for the OnOffHello example just so you can prove to yourself it works. Also string parsing in C is so incredibly miserable :cry:

1 Like

Updated links for reference:

New Arduino Library link.