Archive

Posts Tagged ‘amlogic’

Amlogic S805X Processor is Designed for Low Cost TV Boxes with 1080p H.264, H.265 and VP9 Video Support

September 20th, 2017 8 comments

The low end of the TV box market is now highly competitive with Rockchip and Amlogic battling to offer the cheapest solutions available, as we’ve seen in a recent factory price list of TV boxes with RK3229 based devices selling for as low as $17.8, and Amlogic S905W based boxes going for $17.5 and up (per unit) for orders of 200 pieces. Amlogic has been working on an even lower cost SoC with Amlogic S805X based on four Cortex A53 cores, the same Mali-450MP GPU, but no 4K support, and instead H.264, H.265 and VP9 video decoding up to 1080p60, as I found out in a document shared on Amlogic Open Linux website.

Amlogic 805X will be quite similar to Amlogic S905X and S905D with the same CPU by clocked at a lower 1.2 GHz frequency, the same penta-core GPU, TrustZone support, and Fast Ethernet. The main difference is that in order to lower costs, they limited the multimedia capabilities to 1080p video decoding, and 1080p video output. Those last two actually make it more similar to Amlogic S805 SoC, but instead of a four Cortex A5 32-bit cores, S805X comes with more powerful Cortex A53 64-bit cores, and VP9 support was added to S805X.

The processor is likely be used in both Android and Linux TV boxes, as the company’s Mbox P241 reference platform / development board based on S805X SoC, comes with either 512MB DDR3 or 1GB DDR4, coupled with eMMC flash, and an AP6255 wireless module supporting 802.11 b/g/n/ac and Bluetooth 4.2.

I’ve yet to see any S805X TV boxes, even on Alibaba, but I’d expect them to sell retail for around $20 including shipping. The processor could also be an interesting choice for low cost development boards, competing against Allwinner H5 solutions.

Amlogic A111, A112 & A113 Processors are Designed for Audio Applications, Smart Speakers

September 9th, 2017 6 comments

Amlogic processors are mostly found in TVs and TV boxes, but the company is now apparently entering a new market with A111, A112, and A113 audio processors. I was first made aware of those new processors through Buildroot OpenLinux Release Notes V20170831.pdf document posted on their Open Linux website, where two boards with Amlogic A113D and A113X are shown.

S400 Version 03 Board

First, S400 board with the following key features/specifications:

  • SoC – Amlogic A113D CPU
  • System Memory – 1GB DDR3
  • Storage – 512MB SLC NAND flash
  • Display I/F – MIPI interface
  • Connectivity – Gigabit Ethernet SDIO WiFi/BT (AP6356S)
  • Audio
    • SPDIF_IN/SPDIF_OUT
    • LINE_IN/LINE_OUT
    • 2x Audio headers (MIC_Connector & SPK_Connector)
  • USB – 1x USB 2.0 OTG
  • Expansion – 2x PCIe ports
  • Misc – 6x ADC Keys, IR_IN/IR_OUT, UART Interface (RS232)

The second S420 board is based on A113X SoC, and comes with less features (no display, no Ethernet, no PCIe…), less memory:

  • SoC – Amlogic A113X CPU
  • System Memory – 512 MB DDR3
  • Storage – 512MB SLC NAND flash
  • Connectivity – SDIO WiFi/BT (AP6356S)
  • Audio
    • SPDIF_IN
    • LINE_IN/LINE_OUT
    • 2x Audio headers (MIC_Connector & SPK_Connector)
  • USB – 1x USB 2.0 OTG
  • Misc – 6x ADC Keys, IR_IN/IR_OUT, UART Interface (RS232)

The document also explains how to build Linux built with buildroot (you’ll need an Amlogic account), and use audio via applications or frameworks such as aplay, gstreamer, alsaplayer, shairport (Airplay), VLC, DLNA, etc…

Information about Amlogic A113X/A113D processor is lacking on the web, but I eventually found that Amlogic had a YouTube account with now a whopping two subscribers (including yours truly), and one of the two videos was an Alexa voice services demo on Amlogic A113 with what looks like a microphone array inserted on the top of the board.

Further research led me to a page in Chinese discussing Amlogic A111, A112, A113 audio processors, and revealing that Xiaomi AI smart speaker is based on Amlogic A112 quad core Cortex A53 processor, that also shows up in GeekBench running Android 6.0. They also report that A113 features the same four Cortex 53 cores, but has better audio capabilities with 8x PDM interfaces, and 16x I2S interfaces. I also found a page about a microphone array designed for Amlogic S905/S912/A112, and based on Knowles SPH0645LM4H-B miniature microphones .

Finally, I decided to go directly to Amlogic website, and they do have pages for A111 and A112 SoCs, strangely not indexed by search engines so far.

Amlogic A111 key features:

  • CPU – Quad-core ARM Cortex-A5
  • Audio Interface
    • 2-channel I2S input and output
    • TDM/PCM input and output, up to 8 channels
    • S/PDIF output
  • Video Interface – LVDS and MIPI-DSI panel output
  • Security – Supports secure boot and secure OS
  • Ethernet – 10/100/1000M MAC
  • IP License (Optional) – Dolby Digital, Dolby Digital Plus, DTS Digital Surround, DTS HD, DTS Express
  • Process – 28nm HKMG

Amlogic A112 key features:

  • CPU – Quad-core ARM Cortex-A53
  • Audio Interface
    • 8-channel I2S and S/PDIF input and output
    • TDM/PCM input and output, up to 8 channels
    • 2-channel PDM input
  • Video Interface – RGB888 output
  • Security – Supports secure boot and secure OS
  • Ethernet – 10/100M MAC+PHY
  • IP License(Optional) – Dolby Digital, Dolby Digital Plus, DTS Digital Surround, DTS HD, DTS Express
  • Process – 28nm HKMG

If you are interested in evaluating / playing with those processors, and cannot get hold of Amlogic boards (since they only deal with companies), one solution is to get Xiaomi AI smart speaker available for pre-order/arrival notice on sites likes GearBest or GeekBuying, and expected to ship on October 1st.

Thanks to vertycall for the tip.

X96 Mini Amlogic S905W Android TV Box Sells for $25 and Up

August 24th, 2017 17 comments

Last week, we discovered Amlogic S905W processor through Tanix TX3 Mini TV box, with the processor maxing out at 4K @ 30 Hz in order to provide cost-competitive solutions, for example against Rockchip RK3229 TV boxes. However, at the time, the price was not that attractive. Prices have come down quickly, as Tanix TX3 Mini can be purchased for about $29 with 1GB RAM /16GB flash, and $32 with 2GB RAM/ 16 GB flash using coupon PYNNHDAH. X96 Mini is an even cheaper option as the Amlogic S905W is sold for as low as $24.99 shipped on Banggood.

X96 mini TV box specifications:

  • SoC – Amlogic S905W quad core ARM Cortex-A53 @ up to 1.5 GHz with penta-core Mali-450MP GPU @ 750 MHz
  • System Memory – 1 or 2GB DDR3
  • Storage – 8 or 16GB eMMC flash + micro SD card slot
  • Video & Audio Output – HDMI 2.0a output with HDR, AV port (composite + stereo audio)
  • Video Codecs – [email protected] H.265 [email protected], [email protected] VP9 Profile-2, MPEG1/2/4, H.264, HD AVC/VC-1, RM/RMVB, Xvid/DivX3/4/5/6 , RealVideo8/9/10
  • Connectivity – 10/100M Ethernet, 802.11 b/g/n Wi-Fi (No Bluetooth)
  • USB – 2x USB 2.0 ports: 1x host, 1x device (OTG?)
  • Misc – IR receiver, IR expansion port
  • Power Supply – 5V/2A
  • Dimensions – 82 x 82 x 17mm

 

X96 Mini can be cheaper than Tanix TX3 because it comes with less internal storage (8GB vs 16GB), they’ve done without optical S/PDIF audio output, and the device is smaller. The box runs Android 7.1.2, and ships with an HDMI cable, a remote control, an IR remote control, a power adapter, user’s manual, and just like the older X96 TV box,  some mounting kit with “magic tape” in order to hook the device behind the TV. A photo of the board has also been provided, sop we can look a more details about the design:

Click to Enlarge

  1. The IR port is marked IR/COAX, so I suspect it can also be used as a coaxial S/PDIF output port
  2. An 8GB Samsung KLM8G1GEME-B041 eMMC 5.1 flash is used which means they’ve used the best 8GB Samsung flash available with 185/40 MB/s sequential R/W speed, and 5.2K/2.5K R/W IOPS, meaning performance should be decent at all times. The 16GB should be even faster, if they’ve used the same eMMC 5.1 family.
  3. The WiFi chipset reads something like 5V6051P… I have no idea what brand or model that is…

The 2GB/16GB version of X96 mini is sold for $34.99, that’s about $2 more than the equivalent Tanix TX3 price. You’ll also find both X96 Mini models on Aliexpress.

As a side note, Banggood is organizing a promotion for their 11th Anniversary, and while I have not been able to find any big discount myself, but just around 5% off compared to normal price, you may be luckier.

As a second side note, Amlogic S805X – 4x Cortex A53 limited to 1080p – is also coming, as I learned via Stane1983’s rant about the latest Amlogic Android SDK…

Via AndroidPC.es

How to Use Octoprint on Orange Pi Lite Board, Amlogic S905X and S912 TV Boxes

July 11th, 2017 12 comments

Karl here. This was article originally going to be how to setup Octoprint 3D printer server on an Orange Pi Lite. But after looking and running through the instructions it seemed like it would be too much so I created an img to simplify things. I also explored running Octoprint on an Amlogic S905x or S912 device and it turned out to be an even better solution. You get a case, power supply, and eMMC flash storage.

What is Octoprint?

I use Octoprint mainly for its ability to start and stop prints without having to use an sd card. Time lapse is also a nice feature. And one last thing is that I setup a pushbullet notification when it is complete. For a full list of features check out http://octoprint.org/.

What is needed?

Orange Pi Lite Kit – Click to Enlarge

Octoprint Setup

Common Instructions

  • Download Orange Pi Lite img from here and Amlogic img from here.
  • Burn to your micro SD card with Win32DiskImager, dd, or Etcher..

Credentials

Login: root password: octoprint
Login: cnx password: cnx

Hostname

Orange Pi Lite: orangeocto.local
Amlogic: amlogicocto.local

Amlogic Instructions

  1. Boot and find the update app
  2. Click Select
  3. Choose the aml_autoscript.zip
  4. Click Update
  5. Then Update again
  6. Once it boots log in with root and run “sudo /root/install.sh”
  7. Now we need to see if WiFi is working. Run “nmtui”. This should be self explanatory, and if you see your access point stop. Don’t bother to connect. Exit run “shutdown” wait for it shutdown, remove the SD card, and pull the power and power back on. You can skip the next few steps in this section.
  8. If you did not see your access point exit out of “nmtui” and run the command “sudo modprobe wifi_dummy” repeat looking for access point in step 7.
  9. If you still don’t see your access point run the command “sudo modprobe dhd” repeat looking for the access point in step 7.
  10. If you have to modprobe either to get wifi working once you boot from the internal storage log in with root and run the command “sudo nano /etc/rc.local” and add your “sudo modprobe xxxxxx“ command before exit 0. Cntrl X then y then enter to exit nano and save. Reboot and continue.

Orange Pi Lite Instructions

  1. Connect a keyboard and connect to a monitor or tv
  2. Login with root
  3. Run the command “sudo cfdisk /dev/mmcblk0”
  4. Delete /dev/mmcblk0p1 with the arrow keys
  5. Make a new one and it should fill in the full size of your sd card.
  6. Then finally write. It will prompt you are you sure and type out yes.
  7. Arrow over to quit and enter.
  8. Reboot with the command “sudo reboot” and wait for the Orange Pi to reboot.
  9. Log back in with root and run the command “sudo resize2fs /dev/mmcblk0p1
  10. Reboot again with the command “sudo reboot” and wait for the Orange Pi to reboot.

Remaining Octoprint detup instructions common to all devices

  1. Log back in and run the command “nmtui” to connect to your network. This should be self explanatory. After connecting to wifi if you choose to set a static IP address quit and go back in to nmtui and edit the connection to set the IP address. When setting the IP address suffix the IP address with a /24 to denote a 255.255.255.0 subnet mask
  2. Finally quit and run the command “shutdown” and wait for it to turn off.
  3. Move the Octoprint server and connect to your printer.
  4. To log in open your browser and navigate to http://x.x.x.x:5000 or orangeocto.local:5000 or amlogicocto.local:5000.
  5. Run through the setup it is self explanatory and in settings add /home/pi/OctoPrint/ as your git update path.

Notes

I really recommend setting static IP addresses through your router if it has the ability. Or you can use the .local address above if you have zeroconf/avahi on your machines .

I also recommend the Amlogic server. You get a board, enclosure, power supply, and eMMC flash to run off of. You still need an SD card to get started, but it is not permanent. I ran into trouble on Orange Pi Lite, but it does work. I think the Orange Pi Lite board I received is flakey.

You have a lot of headroom on these to provide other services, e.g.. home automation, media server with no transcoding, NAS, Minecraft server, or anything else that runs on Linux.

Big thanks to balbes for making Linux work,  Jean-Luc, and Armbian forum members who tested Orange Pi Lite version.

Tested on

  • X96 1/8 S905X with wifi dummy
  • X96 2/16 S905X with wifi dummy
  • Tanix TX 5 Pro S905X with dhd
  • Yoka KB2 S912 with wifi dummy

It looks like Realtek (RTLxxxx) WiFi chips need the wifi dummy, and Ampak (apxxxx) chips need the dhd.

Cura

Cura 2.6 came out just just recently with the ability to connect directly to Octoprint. It is really cool feature.

To setup login to octoprint and grab API key.

Then open Cura 2.6 and go to manage printers. Highlight printer and press Connect Octoprint.

Add an Octoprint instance, set preferences, and input API key.

Now you can start prints directly from Cura and monitor prints.

Click to Enlarge

I would really like to thank Gearbest for sending the Orange Pi Lite board, power supply, and SD card, as well as Amlogic boxes and 3D printers from previous reviews. If you decide to do this project yourself, please think about ordering from Gearbest through our links. It helps us out to continue to experiment with different hardware and provide these articles.

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.

Android 7.1 Nougat on Amlogic TV Boxes – A First Quick Look

March 14th, 2017 18 comments

Last year, we found out that Amlogic was working on Linux 4.4, possibly for their Android 7.0 Nougat SDK. As a developer who signed all relevant NDAs, Stane1983 has now been working on Amlogic Android 7.0 for a few day, and reported some of his findings.

First Amlogic source code is based on Android 7.1.1 R6 (NMF26Q), but still with Linux 3.14.29, possibly because Mali-T830 GPU drivers are still r11p0, and Linux 4.4 may come later. One good thing is that the Nougat SDK supports 64-bit Android OS instead of the 32-bit Android we are all currently using in our TV boxes. A not-so-good news is that internal storage partitions have changed, which means most current TV boxes are unlikely to get an update, becau it may not be possible to perform OTA updated, and instead would require an updated via Amlogic USB burning tool.

Click to Enlarge

But let’s look at the user interface and settings. The default launcher has not changed, but if you click on the Settings icon, the Settings will appear on the right of the screen. Note that this only work with the default launcher, other launchers will not be able to open Settings that way, at least in the current version of the SDK, and there are some inconsistency in the way settings are displayed with some shown “Android Marshmallow style”. Hopefully those issues will be addressed before reaching end-users.

Another new mysterious new feature is “Upgrade bluetoothremote”, which asks you to select a Bluetooth device, but it’s unclear whether it is for smartphones, or Bluetooth remote control will start selling with TV boxes.

The normal Android 7.0 Settings app will open from the app drawer, i.e. it will work with any launcher, but currently sub menus will crash, so it still needs some work.

The default browser is Browser2, basically WebView component tester. Not exactly ideal, but Nougat does not come with a browser by default, so you’ll need to install your preferred one, or maybe the manufacturers will add it themselves to their firmware.

Media playback still have some issues, but Stane did not test into details saying to “wait for CNX to get one of boxes with Nougat installed”. I guess that must be me, and I have some work to do once it is released :).

Developers will also need to be aware the way to handle remote control codes has changed. The /system/etc/remote.conf is gone, and instead Amlogic defines the codes in a specific DTSI (Device tree) file  for remote code that includes definition for 3 remotes and starts with:

It looks to be the standard way IR remote controls are handled in mainline Linux kernel, at least the top section, but it may not be so common to declare maps within a DTSI file…

Finally, Stane could also update Amlogic SDK to Android-7.1.1_r26 (NOF27C) instead of r6 (NMF26Q), so developers can always make sure the latest minor version and security patchsets are included. Based on his feedback, it may still take a few weeks or months before we see Amlogic S9xx devices sold with Android 7.0.

Mainline Linux on 64-bit ARM Amlogic SoCs, and TV Boxes such as Wetek Hub / Player 2, NEXBOX A1 / A95X, etc…

March 6th, 2017 30 comments

We’ve already seen Neil Armstrong, part of BayLibre, worked on adding Amlogic SoC (S905/S905X/S912) to mainline Linux via our virtual schedule for the Embedded Linux Conference & OpenIoT Summit 2017. But at the time, although we could see some activity in Linux 4.10 including support for Nexbox A95X and Nexbox A1, they did provide that much details the work that had been done, but since then, ELC 2017 videos have been released, and BayLibre wrote a short post about 3D Graphics support in mainline Linux.

Click to Enlarge

We can see that I/Os, USB host, composite video output, Ethernet, eMMC/SDIO, and PSCI and SCPI features have already been added to Linux 4.10. but some important features have not yet including HDMI, Mali support, Audio, and high speed eMMC modes. HDMI is actually planned for Linux 4.12, which could be released in about 18 weeks if we keep the 10 weeks kernel release schedule we had in the past. WeTek Hub and Play 2 devices tree files have been submitted for Linux 4.11. Beside TV boxes, development boards such as ODROID-C2 and Khadas Vim will also be supported and benefit from this work.

While Mali is not supported in mainline Linux yet, the patchsets for Mali-450 GPU are available on github in order to enable 3D graphics acceleration in Amlogic S905, S905X and S905X. If you are interested to get more details, you may want to watch Neil Armstrong presentation at ELC 2017 which explains the status of Amlogic Linux before working on mainline, the work achieved, the work in progress, and an overview of the community.

You may also want to download the presentation slides for an overview of the talk, and check out linux-meson.com and BayLibre blog for future updates.

Thanks to Space Invader, theguyuk, and Harley for the tips.

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)