Archive

Posts Tagged ‘sdk’

Android Things Developer Preview 4 Released with Google Assistant SDK Support

May 18th, 2017 2 comments

Earlier this month, Google released a preview of the Google Assistant SDK that works on boards running Debian like the Raspberry Pi 3, and even launched AIY Project Voice Kit for the later. You can now play with Google Assistant on Android Things as the company has just released Android Things Developer Preview 4 with support for Google Assistant SDK.

The operating systems works on any Android Things certified devices, but the example instructions  for Google Assistant API on Android Things also include steps to use Raspberry Pi 3 board together with AIY Projects Voice kit.

The developer preview 4 also adds I2S to the peripheral I/O API and is demonstrated in the aforementioned example, and new hardware support with NXP i.MX7D based Pico Board equipped WiFi & Bluetooth, Ethernet, USB ports, an audio jack, and an I/O expansion port.

Pico Board with NXP i.MX7D SoM

Android Things DP4 also brings the ability for developers to enable/disable Bluetooth profiles at run time. Finally, Google mentioned the open source hardware Edison Candle to show an example of Android Things hardware, which we shortly covered previously. Separately, Rockchip published a press release about a Rockchip RK3229 solution supporting the Google Assistant SDK and Android Things. Sadly, few details are provided in the PR, and RK3229 devkit is not listed in Android Things Hardware page.

You can download Android Things DP4 in the developer preview page.

Banana Pi BPI-M64 Board Gets Allwinner R18 Processor with Google Cloud IoT Core Support

May 18th, 2017 28 comments

Banana Pi BPI-M64 board was launched with Allwinner A64 processor, but a few days ago, I noticed the board got an option for Allwinner R18. Both processors are likely very similar since they are pin-to-pin compatible, and Pine64 was first seen with Allwinner R18, so I did not really feel it was newsworthy. But today, Google announced Google Cloud IoT Core cloud service working with a few app partners such as Helium and Losant, as well as several device partners including ARM, Marvell, Microchip, Mongoose OS, NXP… and Allwinner, having just announced the release of an Allwinner R18 SDK with libraries supporting Google Cloud IoT Core.

Let’s go through the board specifications first which are exactly the same as for the original BPI-M64 board, except for the processor:

  • SoC – Allwinner R18 quad core ARM Cortex A53 processor with Mali-400MP2 GPU
  • System Memory – 2GB DDR3
  • Storage – 8GB eMMC flash (16, 32 and 64GB options), micro SD slot up to 256 GB
  • Video Output / Display interface – HDMI 1.4 up to 4K resolution @ 30 Hz, MIPI DSI interface
  • Audio – HDMI, 3.5 mm headphone jack, built-in microphone
  • Connectivity – Gigabit Ethernet + 802.11 b/g/n WiFi & Bluetooth 4.0 (AP6212)
  • USB – 2x USB 2.0 host ports, 1x micro USB OTG port
  • Camera – MIPI CSI interface (which I guess you support parallel cameras via some kind of bridge)
  • Security – Hardware security enables ARM TrustZone, Digital Rights Management (DRM), information encryption/decryption, secure boot, secure JTAG and secure efuse
  • Expansion – 40-pin Raspberry Pi 2 somewhat-compatible header
  • Debugging – 3-pin UART header
  • Misc – IR receiver; U-boot, reset and power buttons;
  • Power – 5V via power barrel; 3.7V Lithium battery header; AXP803 PMIC

So from hardware perspective, there’s no advantage of getting the board with the new R18 processor. But the SDKs are somehow different, and based on Allwinner’s press release, only R18 processor gets Google Cloud IoT Core support.

Cloud IoT Core Overview

Some of the key benefits of Cloud IoT Core include:

  • End-to-end security – Enable end-to-end security using certificate-based authentication and TLS; devices running Android Things or ones supporting the Cloud IoT Core security requirements can deliver full stack security.
  • Out-of-box data Insights – Use downstream analytic systems by integrating with Google Big Data Analytics and ML services.
  • Serverless infrastructure: Scale instantly without limits using horizontal scaling on Google’s serverless platform.
  • Role-level data control – Apply IAM roles to devices to control access to devices and data.
  • Automatic device deployment – Use REST APIs to automatically manage the registration, deployment and operation of devices at scale.

Both Foxconn/SinoVoIP and Pine64 can offer Allwinner R18 platforms compatible with Google Cloud IoT Core via their Banana Pi BPI-M64 and Pine A64+ boards respectively.

Realtek RTL8710BN ARM Cortex M4 WiFi MCU, MJIOT-AMB-03 Module & Board, and Ameba 4.0a SDK

May 14th, 2017 5 comments

We’ve already covered Realtek Ameba ARM Cortex M3 WiSoC several times with their RTL8710AF, RTL8711AM and RT8195AM solutions, but the company has now a new “Ameba Z series” relying on an ARM Cortex M4 core starting with RTL8711BN MCU.

RTL8710BN specifications as listed on Realtek website:

  • CPU – ARM Cortex-M4(F) up to 125MHz with FPU (TBC)
  • Memory – 256KB embedded SRAM
  • Storage – 512KB embedded ROM, external flash interface; XIP (eXecut In Place) support
  • Wi-Fi
    • 2.4GHz 1T1R 802.11b/g/n up to 150Mbps; 20MHz and 40MHz
    • WEP, WPA, WPA2, WPS support
  • Security engine – MD5, SHA-1, SHA2-256, DES, 3DES, AES
  • Peripheral Interfaces
    • SDIO Slave
    • 2x UART
    • SPI interface (Master/Slave)
    • 2x I2C interface
    • ADC for voltage management
    • 5x PWM
    • Up to 17x GPIOs
  • Package – QFN-32; 5 x 5 mm

AFAIK, other Ameba MCUs do not support XIP, but RTL8710BN and this lowers memory requirements since code can be executed from storage.

RTL8710BN Board (MJIOT-AMB-03-DEBUG)

MJIOT-AMB-03 module – pictured at the top of this post – is the first module based on RTL8710BN, supports up to 128 MB external flash, and includes a PCB antenna, and an u.FL connector. Power consumption is said to be 2.5 mA during operation, and 70 uA during sleep (@ 3.3V?). The module can be made to interface with cloud services such as Ailink, Joylink, QQlink, Hilink, Gagent, and Weichat. You can find a longer list of hardware parameters here.

The module can also be found on MJIOT-AMB-03-DEBUG, a breadboard-friendly board with a micro USB port, two buttons, and a JTAG/SWD header. The module used to be sold for $1.98 and the board for $5 on eBay, but the listings have expired. However, some RTL8710BN items are still for sale on Taobao with a 5 CNY ($0.725) adapter board for MJIOT-AMB-03 module, 13.30 CNY ($1.93) for the module itself, and 30 CNY ($4.35) for the development board. Shipping (to China) adds 8 CNY ($1.15).

However, you can’t do much with an SDK, and kisste, who has been deeply involved in Ameba solutions (see VGA on RTL8710), found out that this module requires a newer Ameba SDK, and that Ameba SDK 4.0A without NDA had just been released with support for RTL8710BN / Ameba Z series MCU and mbedTLS.

RTL8710BN Module (MJIOT-AMB-03 Pinout Diagram

Google Assistant SDK Turns Your Raspberry Pi 3 into Google Home

May 3rd, 2017 7 comments

Google Home allows you to select music, control your home automation system and more with voice commands, but now you can do the same with a Raspberry Pi 3 as Google released a developer preview (alpha v1) of the Google Assistant API that works on Raspberry Pi 3, and other development boards running Debian or Ubuntu.
Functionalities are limited right now, with RPC API and Python sample code, but it only works with English language, and features such as timers & alarm, playing music, news, or podcasts, and precise location are not supported. Location is determined using your IP address only, and if you’re using some third party services / products such as Uber or Hue, you’ll need an actual Google Home device for initial setup.

Google has provided instructions to use Google Assistant SDK with Raspberry Pi 3 board. First you’ll need a USB microphone ($5.99 on Amazon), and speakers connected via USB or the 3.5 mm audio jack. After installing Raspbian on the board, you’ll need to configure a developer project and account settings, configure and test audio (with arecord/aplay), and finally install Python and the Assistant API sample:

Once this is done, authorize and run the sample:

Press Enter, ask something, and your Raspberry Pi 3 board should answer.

Since you just need audio and network working on the hardware, this should also work on other development boards, and Google has indeed provided instructions for other platforms too. Basically the same steps, but less detailed, except for the authorization part which seems a little more complicated.

Thanks to Harley for the tip.

RDA Micro RDA8810 Android SDK with Linux & U-boot Source Code for Orange Pi 2G IoT Board Released

April 18th, 2017 31 comments

Orange Pi 2G IoT board was released a couple of weeks ago, shortly followed by Android and Ubuntu images, but since it was not based on Allwinner, but an RDA Micro  8810PL processor, we did not have any source code so far, which can be a real problem for a development board… Shenzhen Xunlong has now managed to upload a 6.7GB Android SDK to MEGA, with the link published via Orange Pi Resources page.

MEGA has a download limit which depends on how much traffic they get at the time, and after 5.3 GB download,  I was asked to register for a PRO account, or wait for four hours before resuming the download. If you want to avoid this limit for any large MEGA download, you can run megadl instead. That’s what I did in Ubuntu 16.04 (remember to escape any special characters with \):

Once the download is done, none of the files have extension, but the first file is a gzip compressed files, while others are just raw data, so I concatenated all 6 files into a gzip file before uncompressing it, at which point I realized it was a tar file too:

The company has made it unnecessary difficult for that part, but I was finally successful, and that’s what the content of the SDK looks like.

Click to Enlarge

The Android SDK  relies on Linux 3.10.62, and I’ve been told while the Android part is quite poor, the Linux part looks better, even though the version is not quite the latest. U-boot source code is also included, and part of the 2G modem code can be found in the modem directory.

I got the news through ParrotGeek1 who plans to rebase the code to Linux 3.10.105, and release a Debian image. He has setup a RDA8810 github account with the Linux kernel. So you’ll have to be patient, or join the fun to get a better Linux image. There’s no clear roadmap for Orange Pi 3G-IoT or 4G-IoT based on other RDA Micro processors, but that would certainly help motivating a few more people if such boards were planned.

Khadas Vim Amlogic S905X Development Board Gets Android 7.1 Firmware and SDK

March 22nd, 2017 1 comment

Khadas Vim is a development board powered by Amlogic S905X quad core processor that officially supports Ubuntu 16.04, OpenELEC and Android 6.0. Shenzhen Wesion Technology , the maker of the board, has now released Android 7.1 firmware image and SDK for the board.

Click to Enlarge

As we’ve seen before Amlogic Android 7.1 SDK still relies on Linux 3.14.29, but Linux 4.4 is also in the works.

If you want to give it a try on your board, download Vim_Nougat_170321.7z directly, or from the firmware download page. The current image installs to the eMMC flash via USB or a bootable micro SD card (Windows methods only), so it will wipe whatever OS you have already on the board.

The firmware is based on the features of their Android 6.0.1 image, but upgraded to Android 7.1.1 with Chrome and Gapps (for Google Play Store support).

Source code for the Android 7.1 SDK can be found via several repositories on Khadas Github account. Once the manifest file is updated, you should be able to follow the instructions to build Android for Khadas Vim board in order to build your own Android 7.1 image from source.

Google Releases Android O Developer Preview with UI & Audio Improvements, Better Performance, etc…

March 22nd, 2017 No comments

Nearly exactly one year after Android N developer preview release, Google has now announced the release of Android O developer preview in order to get feedback from the developer community before the official release of Android 8.0? Oreo? in Q3 2017.

So what’s new so far in Android O? Here are some of the changes:

  • Background activity limits –  Automatic limits on what apps can do in the background for implicit broadcasts, background services, and location updates.
  • Notification channels –  New app-defined categories for notification content for better control from the use, as user may only block or change the behavior from one channel, instead of applying the same behavior to all notifications from a given app. For example, a News app may have notifications for Technology, Sports, Politics, International, etc…
  • Autofill APIs – Platform support for autofill, where users can select an autofill app, similar to the way they select a keyboard app, with the app securely storing  addresses, user names, and even passwords.
  • PIP for handsets and new windowing features – Picture in Picture (PIP) display is now working on phones and tablets, so users can continue watching a video while they’re answering a chat or hailing a car. Other window features include overlay window and multi-display support.
  • Font resources in XML – Apps can now use fonts in XML layouts as well as define font families in XML — declaring the font style and weight along with the font files.
  • Adaptive icons  Icons that can be displayed in different shapes, e.g. round or rounded square based on a mask selected by the device. Animated interactions with the icons are also supported.
  • Wide-gamut color for apps – Android developers of imaging apps can now take advantage of new devices that have a wide-gamut color capable display.
  • Connectivity 
    • Support for high-quality Bluetooth audio codecs such as LDAC codec.
    • Wi-Fi Aware support, aka Neighbor Awareness Networking (NAN), allowing to discover and communicate over WiFi without an Internet access point
    • Extension of ConnectionService APIs to enable third party calling apps integrate with System UI and operate seamlessly with other audio apps.
  • Keyboard navigation –  Better use of “arrow” and “tab” navigation key for systems connected to keyboard such as Chrome OS with Google Play.
  • AAudio API for Pro Audio –  Native API designed for high-performance, low-latency audio.
  • WebView enhancements –  Multiprocess mode enabled by default, and new API for errors and crashes handling.
  • Java 8 Language APIs and runtime optimizations  – New Java Language APIs, such as java.time API. Android Runtime is up to 2x faster on some application benchmarks. 

Google has provided system images for Nexus 5X, Nexus 6P, Nexus Player, Pixel, Pixel C, and Pixel XL devices. You’ll find more details about the preview on Android Developer website.

Categories: Android, Chrome OS Tags: Android, audio, battery, google, oreo, sdk

Embedded Linux Conference & OpenIoT Summit 2017 Schedule

February 4th, 2017 1 comment

The Embedded Linux Conference 2017 and the OpenIoT Summit 2017 will take place earlier than last year, on February  20 – 23, 2017 in Portland, Oregon, USA. This will be the 12th year for ELC, where kernel & system developers, userspace developers, and product vendors meet and collaborate. The schedule has been posted on the Linux Foundation website, and whether you’re going to attend or not, it’s always informative to check out the topics.

So as usual, I’ll make a virtual schedule for all 5 days.

Monday, February 20

For the first day, the selection is easy, as choices are limited, and the official first day it actually on Tuesday. You can either attend a full-day paid training sessions entitled “Building A Low Powered Smart Appliance Workshop“, and the only session that day:

  • 14:30 – 15:20 – Over-the-air (OTA) Software Updates without Downtime or Service Disruption, by Alfred Bratterud, IncludeOS

Millions of consumers are at risk from security vulnerabilities caused by out-of-date software. In theory all devices should update automatically, but in practice, updating is often complicated, time-consuming and requires manual intervention from users. IncludeOS is a unikernel operating system that enables over-the-air (OTA) software updates of connected devices without downtime or service disruption.

The talk starts with a brief introduction to unikernels, their capabilities and how they can be very beneficial for IoT products from security, performance and operational perspectives. Then we give an overview of the IncludeOS Live Update functionality, which we use to demonstrate an atomic update of a device using Mender.io.

Tuesday, February 21

  • 10:30 – 11:20 – Bluetooth 5 is here, by Marcel Holtmann, Open Source Technology Center, Intel

The next version of Bluetooth has been released just a few month ago. This presentation gives an introduction to Bluetooth 5 and its impacts on the ecosystem. It shows new and exciting use cases for low energy devices and IoT with the focus on Linux and Zephyr operating systems.

With Bluetooth 5, the wireless technology continues to evolve to meet the needs of the industry as the global wireless standard for simple and secure connectivity. With 4x range, 2x speed and 8x broadcasting message capacity, the enhancements of Bluetooth 5 focus on increasing the functionality of Bluetooth for the IoT. These features, along with improved interoperability and coexistence with other wireless technologies, continue to advance the IoT experience by enabling simple and effortless interactions across the vast range of connected devices.

  • 11:30 – 12:20 – Embedded Linux Size Reduction Techniques, by Michael Opdenacker, Free Electrons

Are you interested in running Linux in a system with very small RAM and storage resources? Or are you just trying to make the Linux kernel and its filesystem as small as possible, typically to boot faster?

This talk will detail approaches for reducing the size of the kernel, of individual applications and of the whole filesystem. Benchmarks will you show how much you can expect to save with each approach.

  • 14:00 – 14:50 – Moving from IoT to IIoT with Maker Boards, Linux, and Open-Source Software Tools, by Matt Newton, Opto 22

In this session, developers will learn how to use the open-source tools, maker boards, and technology they’re already familiar with to develop applications that have the potential to deliver a massive positive impact on society. There are billions of devices–sensors, I/O, control systems, motors, pumps, drives–siloed behind proprietary control and information systems, waiting to be tapped into. This workshop is geared towards teaching the developer community how to use the tools they’re already familiar with to access, monitor, and manage these assets to create a potentially huge positive impact on our way of life.

  • 15:00 – 15:50 – Debugging Usually Slightly Broken (USB) Devices and Drivers, by Krzysztof Opasiak, Samsung R&D Institute Poland

USB is definitely the most common external interface. Millions of people are using it every day and thousands of them have problems with it. Driver not found, incorrect driver bound, kernel oops are just examples of common problems which we are all facing. How to solve them or at least debug? If you’d like to find out, then this talk is exactly for you!

We will start with a gentle introduction to the USB protocol itself. Then standard Linux host side infrastructure will be discussed. How drivers are chosen? How can we modify matching rules of a particular driver? That’s only couple of questions which will be answered in this part. Final part will be an introduction to USB communication sniffing. Krzysztof will show how to monitor and analyze USB traffic without expensive USB analyzers.

  • 16:20 – 17:10 – SDK in the Browser for Zephyr Project, by Sakari Poussa, Intel

Starting a development for embedded IoT system can be a tedious task, starting with the tools and SDK installations. You also need to have proper operating system, cables and environment variables set up correctly in order to do anything. This can take hours if not days. In this tutorial, we present an alternative, fast and easy way to start IoT development. All you need is your Zephyr board, USB cable and Web Browser. The Zephyr will be running JavaScript Runtime for Zephyr including a “shell” developer mode and Web USB. The Browser has the IDE where you can edit and download code to your board. No compiling, flashing or rebooting is required. During the tutorial, we have few boards available and participants can start developing applications for zephyr in 5 minutes.

  • 17:20 – 18:10 – Fun with Zephyr Project and BBC micro:bit, by Marcel Holtmann, Open Source Technology Center, Intel

This presentation shows how Zephyr empowers the BBC micro:bit devices and its Bluetooth chip to do fun things.

  • 18:15 – 19:00 – Yocto Project & OpenEmbedded BoF, by Sean Hudson, Mentor

Got a comment, question, gripe, praise, or other communication for the Yocto Project and/or OpenEmbedded technical leaders? Or maybe you just want to learn more about these projects and their influence on the world of embedded Linux? Feel free to join us for an informal BoF.

Wednesday, February 22

  • 10:40 – 11:30 – Journey to an Intelligent Industrial IOT Network, by Giuseppe (Pino) de Candia, Midokura

There are 66 million networked cameras capturing terabytes of data. How did factories in Japan improve physical security at the facilities and improve employee productivity? With the use of open systems, open networking, open IOT platforms of course!

Edge Computing reduces possible kilobytes of data collected per second to only a few kilobytes of data transmitted to the public cloud every day. Data is aggregated and analyzed close to sensors so only intelligent results need to be transmitted to the cloud while non-essential data is recycled. The system captures all flow information, current and historical.

Pino will draw from real IIOT use cases and discuss the variety of operations and maintenance tool to support proactive policy-based flow analysis for edge computing or fog nodes enabling IT and OT end to end visibility from a network perspective.

  • 11:40 – 12:30 – SecurityPI: IronClad your Raspberry Pi, by Rabimba Karanjai

Raspberry Pi has garnered huge interest in last few years and is now one of the most popular Linux boards out there sparking all kinds of DIY projects. But most of these function with the default settings and connect to the Internet. How secure is your Pi? How easy is it for someone to take over and make it part of a botnet or sneak peek on your privacy?

In this talk Rabimba Karanjai will show how to harden the security of a Raspberry Pi 3. He will showcase different techniques with code examples along with a toolkit made specifically to do that. This cookbook will harden the device and also provide a way to audit and analyze the behavior of the device constantly. After all, protecting the device finally protects us all, by preventing another dyndns DDOS attack.

  • 14:00 – 14:50 – IoTivity-Constrained: IoT for Tiny Devices, by Kishen Maloor, Intel Corporation

The IoT will be connected by tiny edge devices with resource constraints. The IoTivity-Constrained project is a small-footprint implementation of the Open Connectivity Foundation’s (OCF) IoT standards with a design that caters to resource-constrained environments. It is lightweight, maintainable and quickly customizable to run on any hardware-software deployment.

This talk will present IoTivity-Constrained’s architecture, features, APIs, and its current integration with a few popular real-time operating systems. It will end with a discussion of IoTivity-Constrained’s adaptation for the Zephyr RTOS.

  • 15:00 – 15:50 – RIOT: The Friendly Operating System for the IoT (If Linux Won’t Work, Try RIOT), by Thomas Eichinger, RIOT-OS

This presentation will start with RIOT’s perspective on the IoT, focusing on CPU- and memory-constrained hardware communicating with low-power radios. In this context, similarly to the rest of the Internet, a community-driven, free and open source operating system such as RIOT is key to software evolution, scalability and robustness. After giving an overview to RIOT’s overall architecture and its modular building blocks, the speaker will describe in more detail selected design decisions concerning RIOT’s kernel, hardware abstraction and network stack. Furthermore, the talk will overview the development and organizational processes put in place to help streamline the efforts of RIOT’s heterogeneous community. The presentation will end with an outlook on upcoming features in RIOT’s next releases and longer-term vision.

  • 16:20 – 17:10 – Graphs + Sensors = The Internet of Connected Things, by William Lyon, Neo4j

There is no question that the proliferation of connected devices has increased the volume, velocity, and variety of data available. Deriving value and business insight from this data is an ever evolving challenge for the enterprise. Moving beyond analyzing just discrete data points is when the real value of streaming sensor data begins to emerge. Graph databases allow for working with data in the context of the overall network, not just a stream of values from a sensor. This talk with cover an architecture for working with streaming data and graph databases, use-cases that make sense for graphs and IoT data, and how graphs can enable better real-time decisions from sensor data. Use cases covered will include data from oil and gas pipelines and the transportation industry.

Thursday, February 23

  • 9:00 – 9:50 – Android Things: High Level Introduction, by Anisha Dattatraya & Geeta Krishna, Intel Corporation

An overview of the basic concepts behind Android things and its structure and components is presented. Upon completion of this session, you should have a good overview of how Android Things brings simplicity to IoT software and hardware development by providing a simple and secure deployment and update model. This presentation provides the context needed for the Android Things Tutorial and other deep dive sessions for Android Things.

  • 10:00 – 10:50 – 2017 is the Year of the Linux Video Codec Drivers, by Laurent Pinchart, Ideas on Board

Codecs have long been the poor relation of embedded video devices in the Linux kernel. With the embedded world moving from stateful to stateless codecs, Linux developers were left without any standard solution, forcing vendors and users to resort to proprietary APIs such as OpenMAX.

Despair no more! Very recent additions to V4L2 make it possible to support video codecs with standard Linux kernel APIs. The ChromeOS team has proved that viable solutions exist for codecs without resorting to the proprietary options. This presentation will explain why video codecs took so long to properly support, and how the can be implemented and used with free software and open APIs.

  • 11:10 – 12:00 – Embedded Linux – Then and Now at iRobot, by Patrick Doyle, iRobot

Mr. Doyle will review the history of the use of embedded Linux at a commercial company (iRobot) and discuss the challenges faced (and overcome) then and now. While home routers and WiFi Access Point developers have enjoyed the benefits (and risks) of deploying Linux based products, that has not always been the case for other products. With the advent of low cost cell phone processors and vendor support for Linux, it is now possible to embed a Linux based solution in a consumer retail product such as a vacuum cleaner, minimizing risk and development time in the process.

  • 12:10 – 13:00 – Mainline Linux on AmLogic SoCs, by Neil Armstrong, BayLibre

Inexpensive set-top boxes are everywhere and many of them are powered by AmLogic SoCs. These chips provide 4K H.265/VP9 video decoding and have fully open source Linux kernel and U-boot releases. Unfortunately most of the products based on these devices are running an ancient 3.10 Android kernel. Thankfully AmLogic has put a priority on supporting their chips in the mainline Linux kernel.

Neil will present the challenges and benefits to pushing support for these SoCs upstream, as well as the overall hardware architecture in order to understand the Linux upstreaming decisions and constraints. He will also detail the future development plans aiming to offer a complete experience running an Upstream Linux kernel.

  • 14:30 – 15:20 – OpenWrt/LEDE: When Two become One, by Florian Fainelli, Broadcom Ltd

OpenWrt is a popular Linux distribution and build system primarily targeting the Wi-Fi router/gateway space. The project has been around for more than 12 years, but has recently experienced a schism amongst the developers over various issues.  This resulted in the formation of the LEDE project.  This split has caused confusion among the community and users. This presentation will cover what OpenWrt/LEDE projects are, what problems they are solving in the embedded Linux space, and how they do it differently than the competition. We will specifically focus on key features and strengths: build system, package management, ubus/ubox based user space and web interface (LuCI). We will demonstrate a few typical use cases for the audience. Finally, the conclusion will focus on the anticipated reunification of the two projects into one and what this means for the community and the user base.

  • 15:30 – 16:20 – Unifying Android and Mainline Kernel Graphics Stack, by Gustavo Padovan, Collabora Ltd.

The Android ecosystem has tons of out-of-tree patches and a good part of them are to support Graphics drivers. This happened because the Upstream Kernel didn’t support everything that is needed by Android. However the Mainline Graphics Stack has evolved in the last few years and features like Atomic Modesetting and Explicit Fencing support are making the dream of running Android on top of it possible. In other words, we will have Android and Mainline Kernels sharing the same Graphics stack!

This talk will cover what has been happening both on Android and Mainline Graphics Stacks in order to get Android to use the Upstream Kernel by default, going from what Android have developed to workaround the lack of upstream support to the latest improvements on the Mainline Graphics Stack and how they will fit together.

  • 16:30 – 17:20 – Developing Audio Products with Cortex-M3/NuttX/C++11, by Masayuki Ishikawa, Sony

Sony released audio products with Cortex-M3 in late 2015. Considering development efficiency, code reusability, feature enhancements and training costs, we decided to port POSIX-based open source RTOS named NuttX to ON Semiconductor’s LC823450 by ourselves, modified the NuttX for fast ELF loading, implemented minimum adb (Android debug bridge) protocols for testing purpose, DVFS in autonomous mode with a simple CPU idle calculation, wake_lock and stack trace which are popular in Linux/Android worlds. Middleware and Applications were developed in C++11 with LLVM’s libc++ which are also popular for large software systems. To debug the software, we implemented NuttX support for OpenOCD so that we can debug multi threaded applications with gdb. In addition, we used QEMU with the NuttX to port bluetooth stack and in-house GUI toolkit and finally got them work before we received LC823450 FPGA.


That’s all. I had to make choice, and did not include some sessions I found interested due to scheduling conflicts such as “Comparing Messaging Techniques for the IoT” by Michael E Anderson, The PTR Group, inc, and “Improving the Bootup Speed of AOSP” by Bernhard Rosenkränzer, Linaro.

You’ll need to register and pay an entry fee if you want to attend the Embedded Linux Conference & OpenIoT Summit:

  • Early Registration Fee: US$550 (through January 15, 2017)
  • Standard Registration Fee: US$700 (January 16, 2017 – February 5, 2017)
  • Late Registration Fee: US$850 (February 6, 2017 – Event)
  • Academic Registration Fee: US$175 (Student/Faculty attendees will be required to show a valid student/faculty ID at registration.)
  • Hobbyist Registration Fee: US$175 (only if you are paying for yourself to attend this event and are currently active in the community)