Behind a crowdfunding campaign for an Arduino GUI design platform emerges the ambition of Australian startup Xped to build a truly universal remote controller that can interact with any kind of device. They're calling it a device browser, DeB for short.

On the Kickstarter project page Xped CEO John Schultz is now showcasing DeB primarily as a means to turn your smart phone into a remote controller and graphical user interface (GUI) designer for your Arduino projects. After the smart phone is paired to the Arduino using NFC, you can create fully customized GUIs in the DeB app or use the available templates. With an adapter board, DeB is also available for the Raspberry Pi.



Self-describing devices
That's pretty neat but the device browser really starts to pique interest when Schultz explains the underlying technology. To give the smart phone the necessary information to control the Arduino, Schultz makes the device describe itself to the phone. And therein lies the novelty.

“Current devices have a fixed profile (a description of how they work, like all the codes for the buttons on a TV remote)”, said Schultz in an email. “All technology today relies on both the device and the devices remote needing to know this profile. This is very intuitive, you expect that the TV remote will operate the TV because they are designed to do so at the time of manufacture…they are fixed, hence fixed profile. Consortiums around the world are frantically trying to develop what they think will be all the fixed profiles needed to build all the different device types in the future. Particularly now with the Internet of Things heating up. Can you imagine how impossible this is…to predict the functionality that developers will want in future devices?”

Describe All The Things
To enable the Arduino to describe how it operates, Schultz and his colleagues developed an XML-based language called Resource Modelling Language (RML) which “is used to describe the API and data of any device no matter how complex it may be”, states the Kickstarter page. The self-describing profile is saved in a Resource Description File (RDF).

Establishing communication without prior knowledge
To transfer the RDF from the Arduino to a controlling device the Xped team took recourse to Auto Discover Resource Control (ADRC): a method to establish wireless communication between two devices that never met before, by means of – there it is again – self-description. The Arduino describes its control and interface mechanisms enabling the phone to connect.

Controlling devices of the 23rd century
“ADRC abolishes fixed profiles”, continues Schultz in the email. “In the new world, controllers (tablets, smartphone, dedicated remotes) need no prior knowledge of devices. Sounds impossible? It is possible since the user taps the controller to the device. During this tap, data is exchanged using near field communication (NFC) between the controller and the device to set up a secure wireless network. Now they can both communicate. What happens next is the controller asks the device to teach it how it works. It gets this information when the RDF is transferred from the memory of the device to the controller and processed by DeB, the device browser app on the controller. So this system allows devices to be controlled that aren’t even invented yet!”

Xped chose the name device browser because just like a web browser can interact with any HTML page, DeB can interact with any device using RML.

Universal remote control for the Internet of Things
For DeB to become the universal remote control for the Internet of Things, manufacturers will need to adopt ADRC and RML.

“We are deploying the rollout of this ADRC technology in stages,” said Schultz. “Firstly focused on Arduino and Raspberry Pi development tools.” Behind the scenes Xped is in discussion with “a number of manufacturers and a major Singapore developer/distributor and several chip companies”.

The Arduino and Pi focus is materializing in the current crowdfunding campaign on Kickstarter. Besides the DeB app pledgers will receive a ADRC shield and hub. After the shield is paired to a smartphone, it transfers data to the hub over the 802.15.4 low-power wireless protocol, the hub, in turn, communicates the data to the phone over WiFi. The hub can be used to control the Arduino over the internet and is equipped with NFC to facilitate the RDF transfer for those phones that aren't NFC-equipped.

It's a great project in itself and who knows, you may end up owning one of the very first manifestations of the browser of the Internet of Things.

The device browser crowdfunding video