Souliss is an open-source framework written in C/C++ for the Internet of Things and home automation that runs on Arduino boards, or other Atmel AVR MCU based boards, and let your control lighting, heating, or anything else you can think of via your Android device, or switches connected to your board(s).
You can get started with Souliss in 3 steps:
- Getting the building blocks, for example:
- Arduino, Olimex, or other AVR boards (See list of supported boards)
- Relay boards
- ON/OFF Switches, Lights, etc…
- Wi-Fi router
- Download and load Souliss to an AVR powered board controlling real things such as lights.
- Monitor and/or control via Souliss Home Automation App for Android.
A detailed getting started guide is provided on Souliss Google Code page.
Internally, the framework is composed of three parts: Souliss, an application level layer, MaCaco, a communication protocol and vNet, a transport layer. I’ll skip details in this post, but if you’re interested you can read the Wiki, and Souliss is fully open source so you can download the code as well.
Let’s see one example called Souliss – Fiat Lux with 2 lights.

In this example, the first Arduino board (on the right) controls 2 lights via a relay board. You can turn off the lights directly via the wall switches also connected to the Arduino, or IP networks with the Android app that sends commands via Wi-Fi to the router which are then forwarded to the Arduino board via Ethernet. If you lights are outdoors for example, and it’s freezing, you can also turn them off via 2 switches connected to a second Arduino boards (on the left) that asks the first Arduino board to turn on/off the lights via Ethernet.
One of the co-founder of the project is running his house over Souliss, and in one room (party room?), he can control 2 LED strips (power and colors) via Souliss Home Automation Android app, control the songs that play via the speakers, and turn the LED strips into some sort of audio frequency visualizer, as it follows the current song beats. Watch the demo below.
You can find more information, including examples, tutorials, and more, on souliss.net.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
The big cores are 2 generations better than the RK3588. Wonder if MediaTek got a good ARM Linux support.
AFAIK, Cortex A-77 is not that good. So we could say that it’s 1 generation better than RK3588’s Cortex A-76. Too bad it’s Mediatek SoC. Meaning: no linux for you.
> Too bad it’s Mediatek SoC. Meaning: no linux for you
Not true for all MediaTek business units. See the upstreaming efforts around their router SoCs and for exampling them partnering with BayLibre for their ‘AIoT’ offerings…
Also their Chromebook SoCs have pretty good upstreaming efforts. The MT8395 looks very similar to their MT8195 Chromebook SoC; I think many drivers will be usable without significant changes. The word Android is a bit of a red flag, though.
I see. But from what i heard, the jump from A76 to A77 is some of the biggest generational jump. While the jump from A75 to A76 and A77 to A78 are more of a standard/ordinary jump. But i maybe wrong. Anyway, hope we can get better support for Linux from MediaTek and others in the future. The more chip vendors supporting Linux, the merrier.
It does seem like a bunch o’ work to compile Android 13 on it. Is there a RealTek N00B pack like Capstone/Unicorn to flush out all the undisclosed opcodes and whatnot, or is the idea to license the boxed RealTek CN Rust compiler…or simply use GPT3 and hope it’s trained?
Is there no true optimized binary (say, LibC or LINPAC20) for these chips?
It always depends on how you want to characterize the changes. The way I’d describe them, there were significant changes in the previous generations (new microarchitecture in Cortex-A73, new ISA and bus interface in Cortex-A75, new microarchitecture again in Cortex-A76), but between Cortex-A76, -A77, -A78 -X1 and Neoverse N1 I only see optimizations of the same basic design instead of generational jumps.