In the September 2013 issue of APC magazine, I wrote up my Arduino project for a Twitter-based weatherstation, which, really, was an excuse to show off the Arduino Uno’s ability to send and receive tweets, opening up all sorts of tasty possibilities.
But just before we went to press, Twitter change from 1.0 to version 1.1 of its REST API and everything broke. We were using the excellent Twitter library from Markku Rossi and while the API change broke the library, we managed to get it partly working again, sending tweets but not receiving them.
Having plenty on my plate, I haven’t had a chance to get back to it until now, but as developers who try to interact with Twitter’s API know full well, the darn thing never seems to stay still for long and unfortunately, new changes mean the library is now completely broken.
What’s more, I don’t think it can be fixed – not with an Arduino Uno at any rate. The main problem is that Twitter now requires all post interactions via the API to come via SSL (Secure Socket Layer). The poor Arduino Uno was straining under the weight of SHA1 code, Twitter library code and the everything else using up around 28KB of its 32KB flash storage – the requirement for SSL pretty much knocks Twitter activity on an Arduino Uno for six.
We all want greater security from social media, so unfortunately, this is one of the results.
That’s not to say it can’t be done with something more powerful – maybe an Arduino Due or some other ARM Cortex M-series board – but I think we’ve seen the last of Twitter happening on an Arduino Uno.