Invention: Exploring SmartThings with the Ginsing Arduino Shield

Hello Smart Home Part 2, SmartThings Vimeo

We were inspired by the ease-of-use of the SmartThings platform to have a play around with the product, and to see what we could make with the technology.

Not needing to add an alarm system or flood-detection to our already well-specified office, we decided to investigate the SmartThings Maker kit and hook our hub up to an Arduino for greater hacking and inventing potential.

This would allow us to connect all the services and technology offered to us via the Arduino platform to the off-the shelf tags and sensors produced by SmartThings. With an IFTTT SmartThings channel already published, connecting our office with the multitude of services available should theoretically be easy.

Our immediate impulse for a kick-off experiment was to use the Presence Sensors pack from SmartThings to track our appearance in and disappearance from the office. Should we hook this up to Foursquare (now Swarm), to auto-check-in when we arrive? Should we create an app that can SMS you when a requested colleague arrives in a remote office location? Should we program the Arduino to record a brief video snippet of our arrival, convert to a GIF via the IFTTT Giphy service and then post it on a designated Tumblr?

Whilst the possibilities are endless, we needed a simple project to start with. Having always wanted to explore voice synthesis, I thought it would be a pleasant experience to have an automatic greeting for entering and exiting the office, somewhat in the style of the doors in The Hitch-Hikers Guide to the Galaxy.

Ginsing arduino shield

Having previously explored voice synthesis with Speakjet, I was pleased to find what appears to be a more flexible speech synth with additional musical abilities in the form of the Ginsing.

Whilst waiting for the SmartThings kit to be delivered, I decided to proceed with the Ginsing construction. Thanks to the excellent instructions and simple parts in the kit, construction of the Ginsing Shield took only an hour or so. Initial tests appeared positive, having engaged demo mode on the chip by loading the test code onto the Arduino, the chip was chirping, speaking and singing happily through a small active speaker.

Ginsing Tweaker on Vimeo.

Next steps were to install the Ginsing Tweaker software that would allow us to test out the sound synthesis without having to hand-code the correct combination of phonemes for each sound. Straightaway we ran into some difficulties as Tweaker refused to connect to Ginsing shield, despite the Arduino being able to communicate with it.

Getting closer up
Ginsing arduino shield close-up view

A series of debugging experiments and communication with the manufacturer followed, in order to track down the cause of the problem. I attempted multiple different software and driver reinstallations, the deletion of lock files, installing different Java runtime versions, and even the creation of a fresh Ginsing to take account of hard-to-diagnose hardware construction issues. None of this, however, solved the communication issues.

After a week of fruitless testing and debugging, I decided to purchase a different Arduino model from the one I had been using. Plugging the new Arduino Uno into the board solved all the problems and communication was established between the software and the Ginsing. It seems that the Arduino Leonardo has a different implementation of the Serial Library that is used for talking to the board, and that was the only thing causing the issue. The moral of the development story is, I guess, never to overlook any potential configuration issue, even when they are not documented.

Now we can look forward to the SmartThings hub arriving, as we will then be able to plug the voice synth/arduino combo into the SmartThings Shield to get the kind of synthesized salutation we’ve been looking forward to, and further explore what else this innovative technology is capable of.

Experienced by Daniel Beattie, Technology Director

Back to Latest