Arduino integration w/o SmartThings Shield


I apologize if this article is a duplicate but I feel like I’ve never been able to find a concrete answer on this. I have a lot of projects built with Arduino UNO and MEGA and I would like to integrate them with the SmartThings Hub. I read that there used to be a shield for this but it was discontinued. A few articles I have read discuss a ST_Anything. Is this just a handler I can put directly into my UNO/MEGA code to send signals to my hub without a shield? As a note I am using the Arduino Ethernet Shield 2.



That’s exactly what ST_Anything is AFAIK. I still have yet to use it, but the intro post says:

See [RELEASE] ST_Anything v2.9 - Arduino/ESP8266/ESP32 to ST via ThingShield, Ethernet, or WiFi for more.


Read/participate in those posts on ST_Anything and all your questions will be answered…

1 Like


As the others have mentioned, ST_Anything is exactly what you’re looking for. My son and I created it originally to make it easy for users to implement an Arduino + ThingShield combination. I revised it a little over a year ago to eliminate the need for the ThingShield by adding support for an Arduino or ESP8266 to be a ‘LAN connected device’. It still sends and receives all data via the ST Hub, using very similar function calls and architecture to the old ThingShield.

If you have any questions, please post them in the main ST_Anything thread linked above and I will be happy to assist in any way possible.



I think I want to fall in love with this, but I’m struggling. I have an Arduino Uno with a W5100 ethernet shield on it. I get a compiler error looking for a type for st.

Arduino: 1.8.5 (Windows Store (Windows 10), Board: "Arduino/Genuino Uno"

In file included from C:\Users\paull\Documents\Arduino\ST_Anything_Multiples_EthernetW5100\ST_Anything_Multiples_EthernetW5100.ino:63:0:

C:\Users\paull\Documents\Arduino\libraries\ST_Anything/Everything.h:94:16: error: 'SmartThings' in namespace 'st' does not name a type

     static st::SmartThings* SmartThing; //SmartThings Shield Library object

I also had problems with some #defines for sensors… I commented them out for now to just get it to compile without problems.

Any hints?


Happy to help. I need some more information.

What hardware/microcontroller are you using?

Are you using a shield?

What sensors/devices are you trying to interface with?

I can whip up a customized sketch for you if that would help.

Arduino newbie here… does this mean that all the commands are local? Or are they still sent to the ST cloud for processing?

Thanks… I’m using an arduino Uno and a Sainsmart W5100 ethernet shield.

For the moment, I don’t care about integration with devices… just trying to compile your W5100 Multiples arduino .ino file without errors. Eventually, I’m just looking to test for TTL-level ONs and OFFs.

Thanks for engaging!


1 Like

That’s probably not specific to the Arduino. (I’m making a reference here to your comment about being an Arduino Newbie. (You won’t be for long.) From the Arduino you’re going to be sending to the ST Hub. What actually gets executed as a result depends on what you’re asking ST to do. Somethings are executed locally and some things in the cloud. But as far as the Arduino is concerned, the Hub is the edge of the universe.


1 Like

I tend to get up to speed fast… :slight_smile:

So if I were to use the ST_Anything app to say, turn on a few relays and a zwave switch… My bet is it would actually depend on the DH if things are thrown to the ST cloud or kept local?

Here’s the detail info page:

1 Like

But I’m still struggling to get one of the @ogiewon st everything arduino sketches to compile… but I’m getting this “st type” errors.

ALL custom DTH’s and SmartApp’s run in the cloud.

1 Like


I have added an example UNO/5100 sketch to my GitHub repo. Please give this a try and let me know if it works for you. I left 2 x Contact Sensors, 2 x Switches, and 2 x Timed Relays in it as examples to just get you started. The sketch still has tons of other devices in it, commented out to fit in the UNO’s 2K of RAM, as examples of the other ST_Anything devices that are supported.

If you cannot get this sketch to compile, the Arduino libraries folder is probably not set up correctly.


Well… my compile problem was completely stupid… it was just the location of files.

I had all of the libraries in


But I had the sketches in


Once I moved the sketches into ~Documents/Arduino/Sketches/ everything was A-OK.

I really appreciate your help. Might be worth putting in the documentation to check for explicit locations.

Happy Weekend!

1 Like