Tag Archives: Souliss

Build your own Arduino-compatible, remote-controlled lights


Maker hacks his own Arduino-compatible, Philips Hue-like bulbs with LYT and Souliss.


Looking to control the multi-colored lights in your home? Sure, you could always go out and buy your own set of Philips Hue bulbs. Or, you can do what a Dario Di Maio has done and build your own that plugs into a standard light socket. As the Maker points out, while smart LEDs have become quite common today, none have been Arduino-compatible.

lyt_ledbulb-1

For this project, the Maker used the Authometion LYT — an ATmega88PA powered RGBW LED bulb with an Arduino shield as a gateway, which enabled him to freely create his own custom behaviors and code. Both the Arduino and shield run the Souliss framework, while the lights are controlled through the Souliss App.

The shield is equipped with two radio modules, an ESP8266 Wi-Fi SoC that connects the Arduino with the home router and a PL1167 2.4 GHz transceiver wired to the Atmel MCU to control the bulbs. (Di Maio recommends either the Uno and Leonardo.)

Meanwhile, the ESP8266 and the Arduino are linked via USART. According to Di Maio, you can download the necessary libraries and examples from the Authometion store. These allow you to bridge command over Wi-Fi to the USART and then to the PL1167.

lytshield-softserial

“We will run two instances of Souliss, one on the ESP8266 and the other on the Arduino board, this because Souliss embedded the communication between different nodes and this let us skip the writing of a custom code to link these two devices,” Di Maio writes.

The bulb itself is a 9W RGBW LED, which generally should fit in most lamps with an E27 plug. The Maker provides an elaborate breakdown of his project along with the necessary code on his page here.

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…