BITFUTURISTIC

Freelance Engineer, Husband, Father and Obsessed with Technology

Product Review - the Spark IO Board

| Comments

A bit of perspective…

I’ll have to admit, I am an avid Hack A Day reader. I love reading about like minded individuals from all walks of life, experimenting with the world around them.

One of the cool products that I’ve seen utilised in a few endeavours is the Spark core device. Initially I passed it off as an arduino accessory, for drop in wifi. Personally, I like the journey to the final destination just as much (maybe slightly more) than getting there, so I like to actually design and prototype my own hardware modules (where possible). Regardless, a few weeks later I read an article where people were using the Spark core to program their ARM boards wirelessly. Now this was a truly great idea, could this little device help me de-clutter my desk and remove at least a few of the thick black vines sprawling across it? (Probably not, but it did cross my mind)

With my interest piqued, all I needed now was a valid excuse to order one. Once I’d convinced myself that I could learn a bit about their API and remote user interface for a new project I’m putting together, I had all the excuses I needed to push the order button. Now I just had to wait.

Initial impression

After hearing so many great reviews and simple projects being constructed with the device, I was quite eager to start experimenting with my new toy. So after what appeared to be an eon, I received a little white package. I’ve got some design experience with hardware and I actually concern myself with the presentation of the packaging. To me, this is your first impression with your customer and I wasn’t disappointed with what I saw for the Spark device. The small compact form factor included reasonable packaging, style and functionality. I was quite impressed, they had a great first impression for their main board. Understandably the accompanying relay module was not their main product, the white label on anti-static bag was not the worst packaging I’ve seen.

Setup

With the device in hand, I followed the prompts on the box and headed to the start webpage. I was delighted with how simple it was to configure. Sure, all my data was being passed to and from someone else’s servers, but showing relay control of a few parts on my desk over the internet wasn’t a bad gimmick to show off with. The only let down from my perspective was their all-in-one Android app that just couldn’t connect to the device for some reason. This was resolved quite quickly with a usb cable and a few commands on the terminal.

Usability

From an end users perspective, this product opens up the world of connected ARM devices quite well. The web based IDE performs nicely, and comes with a plethora of examples to show people how to get their concepts implemented.

The default Android app allows the user to configure and control the pins with ease. From a very cursory glance the elegance of their RESTful API is fantastic. It will allow you to control the system through their servers with ease, but may be prone to attack (I’ll leave that to the security experts though).

It would be good to see the opportunity to host your own server and configure the system in interface with that (without having to port it yourself).

Customisation

The board has an assortment of IO available to the user. The fact that it comes with a small breadboard makes it a breeze to prototype new modules and experiment with the system. I’ve enjoyed watching the excitement and interest on my kids’ faces as they watch LEDs toggle.

Having the concept opensource also allows us to modify the base design into new and existing products. I look forward to being able to do this, but at the moment, I’m more concerned with the server based interface to the hardware. The beauty of using the RESTful interface, is that this will be a breeze to interface with handheld, and desktop based devices.

One option I have not yet been able to explore, is the reflashing of new firmware. While I love the interface that they’ve got, I am interested on running up a small server using NuttX for home automation projects. When I get the opportunity to do this, I’ll make sure to post the information.

What I can take away from the experience

In general, I refer to aesthetically pleasing and intuitive interfaces as being “Mac” quality. I appreciate the effort that went into designing these products for consumer markets. I think that for a new hardware device, the Spark Team has managed to achieve this level of quality in both their hardware, and software interfaces. I look forward to seeing what else they bring out in the near future.

This (to me) is an excellent and innovative concept. I believe that the simplicity of the interface protocol opens up a lot of potential, even if I’m not sold with regards to the security. The packaging and presentation of the device, and the lengths they’ve gone to polish the hardware and user experience is fantastic. Being able to pull the system out of the box, plug it in and with minimal configuration be developing on the board within 20min is fantastic. I know that for my future project, I will be designing the remote interface with this system in mind.

If you were able to host your own server on an internal network with a single external socket for interfacing with the outside world this would be a very useful product for commercial developers, or projects around the house (where the $$ permitted). At the moment, having the ability to use this as a simple and dynamic tool,is worth the expense. But due to cost alone, I would be hesitant to incorporate the module into a new project. From my perspective, when you have the ability to use a standard USB interface; by supporting various dongles you could provide wifi or bluetooth access for a fraction of the cost. Combining this design with the software and interface that the Spark team have developed would make it a very interesting and useful product with significantly more uses.

Is it worth the money?

For a development or educational tool, absolutely. For integrating with a commercial product, you would have to seriously consider your cost restrictions and design criteria to know.

Comments