Every now and then, I am lucky enough to run across a real game changer that puts a spring in my step, a twinkle in my eye, and makes my creative juices start to flow. Such an occurrence just came my way. This new technology will make it possible for just about anyone to quickly and easily create, develop, and deploy “things” for use with the Internet of Things (IoT). O frabjous day!
Note: The awesomely cunning technology discussed in this article will be demonstrated at the forthcoming ESC Silicon Valley and ESC Minneapolis events, which are to be held in July and November, respectively.
Now, before we plunge headfirst into the fray with gusto and abandon, let me take a step back and set the scene. One of my ongoing hobby projects involves a mega-cool antique television cabinet that I've had refinished by a chum we'll call Philip (because that's his name) who specializes in this sort of thing.
I currently have a little “Kilroy Was Here” cardboard figure with flashing LED eyes in the TV as a placeholder. In the fullness of time, however, when I've finished all of my ongoing projects (see So Many Projects; So Little Time), I have big plans for this little beauty.
The idea is to build a diorama depicting a caveman scene. We will be looking through the TV's screen from the viewpoint of the back of a cave. In the middle of the cave will be a group of cave people huddled around a fire. I'm toying with the idea of including a model of myself hanging out with them (my character will be easy to spot — tall, dark-haired, outrageously handsome, Hawaiian shirt), with an H.G. Wells-type time machine in the corner of the cave.
Toward the back of the diorama we will see the entrance to the cave. This will actually be located a couple of inches from the back of the TV cabinet itself. I'll be using a flat-screen LCD computer monitor to form the back of the cabinet. This will be displaying a scene showing computer-generated snow-capped mountains in the background and pterodactyls flying around in the sky (artistic license is a wonderful thing).
Of particular interest is the fact that I want to be able to link the scene being displayed to the Internet. If its daylight in the real world, then I want it to be daylight in the diorama; if it's nighttime for me, I want it to be nighttime for them (although they will have a bigger moon — maybe two or more moons — and lots of shooting stars). And if it's stormy and raining outside my house… well, you wouldn't believe the lightening you're going to see in my diorama.
The only thing holding me back from realizing this masterpiece is the fact that that I haven't had a clue how to actually make this happen… until now.
All of which brings us to the clever guys and gals at RF Digital. These little scamps have come up with something so mind-bogglingly clever that I'm currently bouncing off the walls with excitement.
This little rascal, which is known as Simblee, encompasses a whole range of things, including the Simblee Cloud, the Simblee Ecosystem, and Simblee Modules. Below we see a Simblee BLE Module, which is tiny in size (10mm x 7mm x 2.2mm) and awesome in potential.
Let's start with the Simblee BLE Module itself. This boasts a 32-bit ARM Cortex-M0 processor augmented with a built-in AES encryption engine for secure communications and a Bluetooth Low-Energy (BLE) transmitter-receiver-stack (the whole thing is FCC, IC, CE, and TELEC compliance approved). According to the Simblee website, the physical range of the Bluetooth communications is adjustable from a few inches to hundreds of feet.
Of particular interest to hobbyists and embedded systems designers is that we have 29 general-purpose input/outputs (GPIOs) with which to interface the Simblee to the outside world. In addition to supporting regular digital input/output, these GPIOs can also be used to implement six ADC inputs, four PWM outputs, two SPI master/slave interfaces, two I2C interfaces, and a traditional UART interface.
The Simblee BLE Module on its own costs $19 for a one-off (the pricing will be sub $6 in quantity). In this case, you could embed the module directly into your hobby project or IoT product. You can also purchase a Simblee BLE Module mounted on an adapter to the RFduino Ecosystem for $29.
Now, this is really rather clever. The RFduino is itself an Arduino-compatible, BLE wireless enabled microcontroller. If you visit RFduino.com, you'll see that — in addition to the RFduino itself — there are also a plethora of shields available, including USB shields (used for programming), battery shields, a servo shield, a relay shield, a MicroSD shield, a prototyping shield, and so forth. Furthermore, a lot of other companies and individuals have created their own offerings to add to the RFduino Ecosystem.
This means that the Simblee BLE Module presented on an RFduino adapter can take full advantage of all the RFduino shields that are out there — the only one that is not of interest to us here, ironically, is the core RFduino module itself. Now, this is not to say anything negative about the RFduino, which is a wonderful device in its own right, it's just that it doesn’t really form part of our tale here. Actually, having said this, the Simblee BLE Module won't be commercially available until in June 2015, but the RFduino is available today, so you could start playing with the RFduino now and then swap it out for a Simblee BLW Module in a few months' time; however, I fear we are in danger of wandering off into the weeds…
“But why would you want to use Simblee as opposed to an RFduino,” I hear you cry. Well, this is where the really clever stuff starts to come in. We begin with the fact that just about everyone on the planet who is interested in creating or using devices on the IoT has access to a smartphone or a tablet. We are already familiar with using these devices for all sorts of activities, and they can be ideal platforms for monitoring, controlling, and displaying data from IoT “things.”
One big problem for most of us is that that we don't have the time, energy, or knowledge to create apps for smartphones and tablets. Well, fear not, because we don't have to. One really cunning aspect to all of this is that, when using the Simblee development environment, anyone can now create apps for use on iOS devices (iPhone, iPad) or Android-based products without having to use Xcode or the Android SDK, and without having to get their apps into the iTunes or Google Play stores.
Now I can hear you thinking: “But how can this be possible?” Well, I'm glad you asked. Here's how this works in a nutshell. First you download a free Simblee app from the iTunes or Google Play stores into your iOS or android device, respectively. We can think of this app as being a sort of “Browser” for Simblee apps. Next, you use the Arduino IDE to create your Simblee app. This app includes both the GUI (graphical user interface) that will be displayed on a smartphone or tablet screen, along with the code that will “sit under” the GUI in the form of an Arduino sketch. The next step is to load your app — both the GUI and underlying code — into your Simblee BLE Module. You can do this using a USB shield, or via a wireless dongle, or… but let's not dive too deeply into the nitty-gritty details here.
This is the part that I cannot emphasize enough, which explains why I'm about to repeat it for the third time — the fact that the app you just created contains both the GUI and the underlying code, and that this app now resides on your Simblee BLE Module.
A treasure-trove of Simblee-enabled devices
Now, suppose you happen to wander into a room containing a treasure-trove of Simblee-enabled devices. Let's further assume that each of these devices was created by a different inventor, and each has its own unique app boasting its own unique GUI. Do you have to load all of these apps into your smartphone or tablet? No! You certainly do not!
Remember that you previously installed the main Simblee app on your smartphone or tablet. This app “sees” all of the Simblee-enabled devices in the room and presents you with a list giving their names and functions. When you tap on an item in this list, that Simblee-enabled device passes its GUI to your smartphone or tablet, and you then use this GUI to issue commands to, and display results from, the Simblee. When you exit this app, it “evaporates” (disappears) from your device, returning you to the list of other Simblee apps/devices that are in range.
Before we go any further, this might be a good time for you to watch This Video, after which we'll continue:
Now, I really want to emphasize that I've only scratched the surface of this technology here, because I didn't want to confuse the issue with too much detail. Do you remember my talking about my Caveman Diorama at the beginning of this column — especially the fact that I want it to have access like the current weather in my area from the Internet?
Well, in addition to my being able to use a Simblee BLE Module to control various aspects of this diorama using my iPad, for example, I can also use it to access the cloud. That is, I can use a Simblee-enabled device to store data in the cloud, to retrieve data from the cloud, to share data with other Simblee applications and users, and — in particular — to access data from the wider Internet, like determining the current weather local to my area from The Weather Channel (just to pick an example out of thin air, you understand).
Actually, I can envisage Simblee BLE Modules being deployed in just about all of my projects (again, see So Many Projects; So Little Time). Take my BADASS Display , for example:
I added the smaller control panel on the bottom in order to provide a mechanism for choosing between different effects. Whilst doing this, I use the main display are to reflect where I am in my menu hierarchy. It's too late to remove this now, but I can certainly duplicate all of this functionality using a Simblee BLE Module, then I can use my iPad to modify the BADASS Display's settings from the comfort of my arm chair.
I am currently performing my Happy Dance (it's not a pretty sight), because — for your delectation and delight — I've managed to persuade Armen Kazanchian, the Founder and President of RF Digital Corporation, to give presentations on Simblee at the forthcoming ESC Silicon Valley and ESC Minneapolis events. In these talks, Armen will demonstrate the Simblee environment and Simblee-enabled devices in action and discuss the various design decisions that brought Simblee BLE Modules to fruition.
In closing, all I can say is that you can bet your little cotton socks that I will be writing further on this technology in the not-so-distant future, not the least that I have my very own Simblee BLE Module racing towards me as we speak — which means I now have to perform my Happy Dance all over again (avert your eyes).
Join over 2,000 technical professionals and embedded systems hardware, software, and firmware developers at ESC Boston May 6-7, 2015, and learn about the latest techniques and tips for reducing time, cost, and complexity in the development process.
Passes for the ESC Boston 2015 Technical Conference are available at the conference's official site, with discounted advance pricing until May 1, 2015. Make sure to follow updates about ESC Boston's talks, programs, and announcements via the Destination ESC blog on Embedded.com and social media accounts Twitter, Facebook, LinkedIn, and Google+.
The Embedded Systems Conference, EE Times, and Embedded.com areowned by UBM Canon.