A single Arduino shield that can link with an Android device and provide a multitude of sensors and advanced functions? Yep – that’s a thing now. The 1Sheeld, in fact.
From developers Integreight, 1Sheeld blew it’s admittedly humble Kickstarter goal of $10k out of the water 8 times over, but is now available to all from Amazon for $55. The 1Sheeld isn’t designed to replace the Arduino though – it supplements it, giving your Arduino projects access to a full complement of smartphone sensor data, and far more besides. I can’t tell you about alternatives, because there aren’t any.
No larger than any other standard Arduino shield, the 1Sheeld is based around an ATMEGA162, and includes a BlueTooth module underneath. The pin configuration is such that you’ll need an Arduino Uno revision 3 or later (other Arduino models will vary, but anything newer than the Uno rev3 should be fine). Each pin is passed through, so you can place additional shields on top, or use the standard I/O pins as needed with jump leads.
Two toggle switches are attached to the board. The first chooses between 5v and 3.3v; 5v is the standard for use with most Arduinos, so if you’re unsure which to use then stick with 5v.
The second toggle – labelled UART SWITCH – will be in constant use; it switches between BlueTooth link, and Arduino programming mode. This is due to the fact it uses the same set of serial communication pins for both functions, but it’s not difficult to figure out. If you find no sensor data is being received, toggle it over – it won’t break the board if you get it wrong.
3 micro LEDs indicate send, receive, and BlueTooth status.
All in, it’s a very professionally made shield, with solid solder joints and a well laid out design. The white on black labels are clear and easy to read, with no misprints or irregular placements.
By my count, there are currently 37 different “shields” that the 1Sheeld can emulate. 11 of those are sensor shields –things like: accelerometer, light, gyroscope, pressure. Another 10 are basic I/O operations, such as: buzzer, keyboard, microphone, gamepad, and a variety of buttons. 7 more handle communications and social networking: Twitter, Facebook, phone, email, Skype. Finally, there are 9 special function shields, including: voice recognition, speech synthesis, notifications, camera, LCD and datalogger. You simply tap them on the app to add that functionality, though some will require additional setup such as authorizing Twitter.
I think we can all agree it’s a phenomenal list of features – the sheer value for money of having all these features from a single $55 purchase is quite astonishing (not factoring in your phone, of course).
Programming The 1Sheeld
For your very first project, I’d recommend just running through the Getting Started tutorial on the 1Sheeld website. In it, you’ll load some sample code on your Arduino which listens to the smartphone mic level, and then handles the logic to Tweet out a message.
Once you’ve uploaded the sample code, switch the UART-SWITCH to the linked icon (which enables connection with your phone), and hit SCAN in the app. After that, it’s a simple case of enabling the mic and Twitter shields.
At first, my microphone level never reached above 50, so the tweet just wasn’t triggered – you may also need to adjust the sample Arduino code to work with a lower level. That worked nicely, and here’s the tweet it produced (you need to authenticate on the Android side so it knows who to send from):
It’s important to note that the logic for this was running on the Arduino itself – the 1Sheeld didn’t connect the mic and Twitter shields in any way – it merely relayed the mic level to the Arduino, and provided a function for posting tweets. At any point you would be able to drop in your physical components or replacement functions, and the program would still function as intended.
After that, I was eager to try out the voice recognition features to interact with my newly built giant LED display (a whopping 210 pixels in total – tutorial coming soon!). Integrating the example voice recognition sketch with my Adafruit Matrix library test code took all of 5 minutes, producing the voice control demo you can see in the video at the start of the review.
If I’m honest, I felt like I was cheating. Making incredible things with the Arduino really shouldn’t be this easy!
Should You Buy The 1Sheeld?
The 1Sheeld is an unbelievably clever bit of kit, no doubt about it. The range of features it adds; the sensors it can become; the sheer versatility is outstanding.
There are two situations I think the 1Sheeld is ideal for.
First, if you’ve purchased an Arduino starter kit (what to expect in your starter kit), completed all the included projects, and are starting to get bored, the 1Sheeld will keep you amused for at least another year or so – there’s just so much you can do with it. You’ll add some whole new dimensions to your project that just wouldn’t be possible with regular hardware shields (like voice recognition), so your imagination will be the new limit.
That said, it’s not going to be useful for long term embedded projects – it needs to stay tethered to your phone after all. If you’re only using some relativity simple aspect of the 1Sheeld that could be accomplished with a $5 component, it’s completely unfeasible to keep your $55 1Sheeld and Android phone dedicated to the task. Which brings me onto my second use case: when you’re desperate to get started programming, but some critical sensor or dedicated shield haven’t arrived yet. Instead of delaying the project or fudging the function to work with random numbers, you can get stuck right in.