The Internet of Things, Arduino and Android, that’s Souliss

By: Dario Dimaio of Souliss and Tom Vu of Atmel

The Internet of Things, Arduino and Android, that’s Souliss

Network connectivity is shifting from people to objects, driving the revolution of the IoT (Internet of Things).

Souliss is an open-source framework, based on Atmel technologies. In 2011, Souliss founders began searching for cheap and effective devices capable of turning objects into interconnected devices. Back then, such technology was mature and inexpensive enough, although no one method had a lead. Simply put, this few people agreed upon how the objects should be interconnected, a rather typical problem of standards and architectures.

However, once there is a unified solution for device connectivity, like the conventional Internet of today, the Internet of Things will significantly increase, both in terms of scale and pervasiveness. Remember, in any new technical development there is always room to propose a bridge or contribution to the vision. That was the basis for Souliss.

Souliss is a distributed open-source framework designed to run on the Atmel Atmega328 and Atmega32U4. It can also run on other AVR microcontrollers, like the Atmega1280 and the Atmega2560. The Souliss standard offers offers working solutions, allowing users to build a network of interconnected devices within minutes.

Starting with open-source design

Open-source hardware and software represents an amazing revolution, as it gives people the power to design and build high-level software and hardware tools, even if they don’t have a large company behind them.

For example, there are dozens of people on the Souliss team that did not do any coding. Instead, they articulated the goals for the framework. This is the power of open-source to the community of emergent Makers at Souliss.

The Souliss team designed most of the code, prototyping a board based on an Atmel Atmega328 microcontroller and a AT86RF230 2.4 GHz wireless radio microcontroller manufactured by Freaklabs. The fact that the board is Arduino-compatible is not arbitrary, as openness helps drive this project as well as other hardware designs that you often see in the Arduino community. The open-source nature of the design offers wide accessibility and abundant documentation such as user guides, schemas, application notes, and ecosystem material. This provided Souliss with an early start in its design journey.

Open-source offered a quick design and development starting point. This made it easy to transition to the next steps, including new innovations, and higher-level functionality. The openness of the AVR compilers encouraged open-source prototyping boards like Arduino. The core of this spirit creates a chain of solutions that drive the next successive achievement. Souliss is the next link in that chain.

What Souliss does

Start controlling a light bulb from remote and local switches, report the state to the Android app

Souliss offers a simplified set of tools that allows users to build a network of interconnected devices. Potentially, you don’t have to write any code. You just choose what, which, and how many devices for your internet-connected things. Then you select the proper APIs and compile. The focal idea is that your IoT should be scalable and will not rest on a single architecture. In other words, it has to be robust. For instance, communication between nodes and users need not be cloud-based. This improves reliability in case of a missing connection. Yet an individual should be able to join the cloud for functionality that he or she cannot get easily in a local network, like acting based on the weather forecast. 

Devices that run the Souliss framework can communicate directly via peer-to-peer. There is no central node or cloud service that coordinates them.  The logic driving objects is executed locally. Meaning, networking is an opportunity, but it certainly isn’t mandatory.

A Souliss example

The simplest Souliss configuration includes just two nodes, a bridge node and a peer node. The illustration below is an example of controlling a garage door:

Souliss WirelessMyGarage - Open and Close the garage door from the wall switch or the Android app

Users and Souliss

The direct interaction between the nodes is a fundamental part of the Souliss framework. But all items in the Internet of Things has to eventually be able to be controlled by a person. The Souliss team provided for this by designing an Android application that behaves as a node.

The app gets data and interacts directly with other nodes, using the same data protocol without needing to request additional devices in the middle. There is one node, called a gateway, which in the course of performing control of its own devices, collects data from all other nodes in the network. The gateway makes data available to user interfaces, including Android, Modbus or JSON. You can move functionality over nodes as you like, shifting from distributed to centralized paradigms, all without having to configure anything other than node addresses and controlled appliances.

What you can expect

Without an open standard your disparate devices have no interaction. Souliss may drive a different solution. Consider an electric coffee machine. The coffee making is handled by a microcontroller. Now consider using a microcontroller with a built-in transceiver, like the Atmel Atmega128RFA1 or Atmega256RFR2. The PCB assembly cost and part count is the same. The incremental cost for the transceiver is not large. However, a microcontroller combined with a functional RF transceiver can have a disruptive effect.

The coffee machine’s closed firmware can now interact with an open ecosystem. This will turn it into an innovative node in the Internet of Things, giving it interaction and additional distributed intelligence. You can create an entire new layer of distributed access and event triggers that can be based on other devices designed to act on opportunities.  In such a scenario, every device can become a Souliss node. As a node, its methodology and connective state can be communicated with other devices or items.

Where Souliss is now

Souliss is a night-job, a Maker’s adventure, developed for the sheer joy of the technology. It is a harmonious way to propose an idea and a vision to the community and to contribute in the scope of the Internet of Things. We love, share, and enjoy Souliss with a community spirit infused with transparency. We invite others with this passion and spirit to help in its evolution. We continue to have passion for the Internet of Things, along with others whom we work and collaborate with. Evolve, crowd-source, and most importantly, keep it open. Souliss will never look completed to our eyes.  Instead, we see it as a digital connective sculpture. It communicates to existing electronic ecosystems such as home automation, home entertainment, industrial automation, medical, mobile to mobile, and others. Yet you can build it as a digital canvas of eventful nodes.

Stay tuned for our next blog piece…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s