Tag Archives: OS

Brillo, the new OS for IoT by Google

Google had launched Brillo, a new Android based OS used for embedded development – in particular for low-power, IoT devices. Brillo brings the simplicity and speed of software development to hardware for IoT with an embedded OS, core services, developer kit, and developer console.

google-brillo-operating-system-for-internet-of-things

Brillo works in conjunction with Weave, an open, standardized communications protocol that supports various discovery, provisioning, and authentication functions. Weave enables device setup, phone-to-device-to-cloud communication, and user interaction from mobile devices and the web. The chief benefit is allowing a “standardized” way for consumers to set up devices.

Brillo Structure
Brillo Structure

The big challenge  is unifying and facilitating the communication among the estimated 200 billion smart devices expected by 2020. Whether you’re looking to build a simple DIY project or implement an enterprise scale m2m (machine to machine) project, Google’s new tools will be a big help.  Fortunately, Brillo appears pretty easy for developers who are already familiar with Android.

Check this video by Google about Brillo and its features, and you can watch another video about Weave

Brillo supports a trio of ARM, Intel, and MIPS hacker SBCs (Single Board Computers) called “ made for Brillo” hardware kits. One of these kits is The Edison kit for Brillo by Intel, that includes an Edison IoT module plugged into a baseboard that offers convenient, Arduino-style expansion compatibility.

Edison for Brillo SBC
Edison for Brillo SBC

One of the great things about Brillo that the security issue with IoT applications is solved by choosing to use secure boot and signed over-the-air updates and providing timely patches at the OS level.

If you are interested in developing Brillo itself you can check the Brillo developer portal where code, development tools, and documentation for the Android-based Brillo embedded OS for Internet of Things devices can obtained. You should ask for an invitation then when you gain access you will get everything needed for your next project.
A high introduction was presented by Intel in the Open IoT Summit  in April 2016, you can check it here.
As Intel, UN and IDC mentioned in their joint report that there will be an average of 26 smart devices for every human in just 5 years, we can predict a rapid growing development and enhancements for IoT systems, devices and protocols.

The New OS From Google “Fuchsia” – What is it ?

FuchsiaOS

Last year Google announced “Brillo” an operating system for IoT devices with a communication protocol called “Weave”. Today, most of the technical websites are talking about the new operating system “Fuchsia” which is, according to Google brief description, a “Pink + Purple == Fuchsia (a new Operating System)”.

Fuchsia Inside

LinuxInsider website asked Google spokesperson Joshua Cruzthe about Fuchsia. His answer was: “it is a new open source project that is not at all related to Android or Chrome OS”.

Fuchsia is built on the Magenta kernel, which is based on Google’s LittleKernel project. Developers of Fuchsia described the differences between LittleKernel and Magenta in a ReadMe file.

“LK is a Kernel designed for small systems typically used in embedded applications. It is good alternative to commercial offerings like FreeRTOS or ThreadX. Such systems often have a very limited amount of ram, a fixed set of peripherals and a bounded set of tasks.  On the other hand, Magenta targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open ended computation.”. So Fuchsia is not using Linux kernel like Android.

Supported Architectures

ARM32, ARM64, and x86-64 are the current supported architectures.

One of Fuchsia developers, Brian Swetland who worked on Android, BeOS and Danger, stated in one of discussion thread on Y Combinator’s Hacker News, that Fuchia soon will support the Raspberry Pi 3.

You can see the current supported targets here which are Acer Switch Alpha 12, Intel NUC (Skylake and Broadwell) and Raspberry Pi3. You can read the document for booting Fuchsia on Raspberry Pi 3 from the SDCard.

Brian Swetland showed a shot of virtual console 0 with the tail end of the boot log on an Acer Switch Alpha 12.

Image courtesy of Brian Swetland
Image courtesy of Brian Swetland

Is It For IoT and Embedded Systems Devices?

Sascha Wolter asked in Brillo and Weave Google group, “Should we stop with Brillo and get our hands in #Fuchsia?”, and the answer was: “Sorry for not providing any updates on the progress of Brillo and Weave for a while. Don’t worry though, we are still hard at work on both of them! We want to make sure everything is finalized before releasing an update, but you will be hearing from me soon with more detailed information”.

So I think until now Fuchia is not the Brillo killer while a lot of speculations are around the target market of this new OS from Google.
According to some folks the new OS has a Flutter-based UI and run Dart programming language (I can see Dart content handler in the Git repo), and that supports the point of view saying that “Fuchisa” is not another RTOS like Brillo, it’s maybe the next Android.

References:

[Fuchsia Git Repository]

Getting Started

Linuxinsider

Hackerboards