Announcing the "ST_Anything" Arduino/ThingShield Project

As a tech geek, I would like to think I have a least heard of most types of tech. But I will say, I am intrigued about what you lost here. Only for my curiosity, would you be willing to elaborate on what you lost here?

Basically, it is a push-button and controller for activating a garbage disposal. What makes it unique is the fact the button is surface mounted into your counter-top, and connected via a fiber optic cable to the remote electronics. This ensures that you cannot be shocked when you press the button to start/stop the garbage disposal. My kitchen is such that I cannot install a traditional light switch in the wall, and thus this was the best solution for us.


Found these at

Can these items serve as alternative?

Can’t believe no alternative is available prior to discontinued device :confused:

Hmmm, maybe a Raspberry Pi alternative. This looks to be a controller, but maybe a client role is possible.


Anyone disgruntled enough to want to sell their shields?


Let your voice be heard!

My application for the ThingShield is just to turn off and off my swimming pool spa (take ~30 mins to warmup). So, I just need super basic communication between the Arduino and the Smartthings hub. To work around the availability issue with the ThingShield, I’ve resorted to using an Z-wave outlet and plugging in a USB power adapter into it to get it down from 120V AC to 5V DC. The Arduino just uses a digital input to measure whether the AC outlet is on or off. The Arduino sends commands to the pool controller over RS485 to turn on the spa on or off whenever the AC outlet (controlled by smartthings hub) is on or off.

So, basically, I can send one bit of information from the ST hub to the Arduino and no return communication. Limited but it does what I want for now. However, I can imagine wanting the Arduino to perform more complex interactions with the pool controller and I’d need sonething like the ThingShield to handle that.


Nice work-around!

If you’d prefer a smaller, lower cost, more flexible alternative, check out one of my other hacks for using an Arduino with SmartThings via the inner-workings of a Cree Smart Lightbulb… It is also a one-way only solution, so make sure your Arduino code has some built-in logic to handle the scenario where communications is lost some how (e.g. a built-in auto-off safety timer if the Arduino hasn’t received a “watchdog signal” for a long time from the ST Cloud/Hub.) The advantage of this solution is that you can trigger multiple actions by adjusting the “dim level” from 0 through 99. Thus, you could create up to 100 different “scenes” for the Arduino to interpret and take action.


I have seen you mention ESP8266 a few times and was wondering if you have looked further into it as it seems like a great candidate for the Arduino/ThingShield replacement? I replaced my RaspberryPI project with your ST Anything-Arduino to control my Garage Doors, and it works great. (I also use IFTT and Core to send me notifications when it’s left open under various conditions.)
Overall, the ESP8266 ESP-12E WIFI Development Board at around $10 seems like the best replacement. I have tried and just haven’t seen a good integration with RaspberryPI/BeagleboneBlack/etc. Even if ST wasn’t getting ride of the ThingShield, the ESP8266 may be a good option as the Aurduino/ThingShield gets a little pricey (ThingShield + Arduino) for smaller projects. At less than $10; with built-in Wifi; runs on micro-USB or a 3.3V power supply; and at least 10 open GPIO’s; this seems like it would work really good for many projects. Most of my projects are smaller than this and the ThingShield is overkill. There is also a small ESP that has just a few GPIO’s that can run fair off a battery (Wifi does drain it a little).
Thanks again, Garnet.

Yes, I have looked extensively at the NodeMCU ESP8266-12E based boards as a ThingShield replacement. I think I have an easy method to integrate it into the ST_Anything ecosystem while maintaining backwards compatibility. It is going to take me a little while to work on this and get it testing. Keep an eye on this discussion for future updates.

Right now, my hope is for the exact same functionality as the ThingShield provides - simply moving ASCII strings between the micro-controller and the ST Cloud via the ST HUB using Ethernet/WiFi. This would allow almost everything else to remain the same.

1 Like

That sounds great as I’ve been using ST_Anything for almost 2 years! (Mar '15) After using many other platforms/devices the ESP8266, seems the most promising. I know your ST_Anything would make my “Alexa turn on Home Theater” project much easier…and cheaper (less than $10 for ESP, IR reader, and IR LED).
Thanks again and I will keep watch.

Could the same logic allow a regular arduino with an Ethernet port to talk to ST without a thingshield?

Yes, that’s the idea. Trying to make the changes essentially transparent to existing users. That the advantage of the library design…it abstracts the heavy lifting from the end-user’s application specific code.

1 Like

Abandonedware suckST :rocket:

What I got from ST today: “At this time we are no longer making and selling the SmartThings Arduino
Shield. We will continue providing whatever official support we can. At this time we don’t have any plans for an alternative to the Arduino Shield.” :sob:

Anybody know if these two items can be used and coupled with

It almost looks identical to the ST thingshield. The ST thingshield devicr handler would need tweaks no??

I am not aware of anyone successfully getting the Xbee boards to work with ST as a ThingShield replacement. The biggest issue to overcome is that the Xbee board will need to implement the Zigbee HA protocol. I have not seen a widespread, open-source Zigbee HA protocol stack available for the masses to use.

I am not saying it cannot be done, I just haven’t seen anyone do it and share the results with the community.

Looking for some guidance on how to limit false alarms. When it rains real hard the front door (facing west) gets a tiny bit of moisture in between the sensors and triggers the alarm.
I see the variable for numReqCounts but I’m trying to figure out a good starting point for this number. 1? 5? 500? Any help would be appreciated!

Assuming you’re using an IS_Contact sensor device, the ST_Anything library simply scans the corresponding digital input pin as fast as it can looking for a change. So, the numReqCounts is equivalent to the number of times through the loop that the digital pin has to stay at the new value.

So, I’d probably start with a number like 500 and increase/decrease from there as necessary.

Thanks for the quick reply :slight_smile: