Archive

Posts Tagged ‘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 – 24, 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)

$79 Digilent OpenScope Open Source Multi-function Programmable Instrument Works over USB and WiFi (Crowdfunding)

February 1st, 2017 7 comments

Digilent OpenScope is an open source, portable, multi-function programmable instrument used for capturing, visualizing, and controlling analog and digital signals, that works with your smartphone or computer over USB or WiFi, and it can also be used in standalone mode as a development board, like you would use an Arduino or Raspberry Pi board.

OpenScope MZ key features and specifications:

  • MCU – Microchip PIC32 MZ (MZ2048EFG124) MIPS Warrior M-class micro-controller @ up to 200 MHz with 2048KB flash, 512 KB RAM
  • External Storage – micro SD slot
  • Wireless Connectivity – WiFi module
  • USB – 1x micro USB for power and programming over FTDI
  • Programming / Debugging – micro USB port, programming header
  • Expansion – 30-pin Fly Wire connector with:
    • 2x scope channels with 12 bits @ 2 MHz bandwidth and up to 6.25MS/s sampling rate
    • 1x function generator output with 1 MHz bandwidth and up to 10MS/s update rate
    • 10x user programmable DIO pins up to 25 MHz update rate
  • Misc – 4x user LEDs, programming and reset buttons
  • Power Supply – via micro USB or ext pin; programmable power supplies up to 50 mA and +/- 4V

The platform can be used with (soon-to-be) open source, web based Waveforms Live multi-instrument software written in JavaScript and allowing you to  use OpenScope as an oscilloscope, a function generator, a logic analyzer, a power supply, or a data logger.

Since the software runs in a web browser it will work with most operating systems including Linux, Windows, Mac OS X, Android or iOS. As mentioned in the introduction, OpenScope is also a development board, and can be programmed using the Arduino IDE or Microchip MPLAB-X IDE. The company will provide  a programmer’s guide, and make PIC32MZ firmware, the agent source code, the browser app for Android & IOS, the communication protocol, and the JavaScript API available on Github

Digilent launched OpenScope on Kickstarter, where the board can be backed together with a 3D printed enclosure for $79. An “OpenScope Learning Edition” is also offered for $150 with a “parts kit with workbook example”, but no details have been provided for the latter. Delivery is planned for June or August 2017 depending on selected reward, and shipping is free to the US, but adds $20 to the rest of the world.

RTL8710 Ameba Arduino Development Board and Ameba Arduino v2.0.0 SDK Released

January 20th, 2017 1 comment

We’ve already seen a NodeMCU lookalike board called RTLDuino based on Realtek RTL8710AF ARM Cortex M3 WiSoC earlier this month, that can be programmed with a community supported Arduino port also called rtlduino via a JLink SWD debugger, but now Realtek has just launched Ameba RTL8710 Arduino board, and released Ameba Arduino v2.0.0 SDK which brings official Arduino support to RTL8710AF platforms.

Click to Enlarge

There appears to be two versions of the development kit: RTLDUINO_PRO_V1.0 and REALTEK-AMEBA_RTL8710_V2.0, but based on the user manual they seem to be identical, and as you can see from the above picture, it includes a baseboard and the aforementioned RTLDuino board.

RTL8710 Ameba Arduino HDK key features:

  • SoC – Realtek RTL8710AF ARM Cortex-M3 MCU @ 83 MHz with 802.11 b/g/n WiFi, hardware SSL engine connected to the baseboard via:
    1. RTLDuino board through female header
    2. B&T RTL-00 module soldered on module footprint
  • USB – 2x micro USB ports, CON2 used for power and Arduino programming, CON1 used for DAP programming (TBC)
  • Expansion – Arduino UNO headers with GPIOs, power signals, 2x UART, SPI, I2C, and 4x PWM
  • Debug Headers – 4-pin Mbed connector, 10-pin Jlink connector, 4-pin for serial console
  • Misc – T/R & n/R buttons maybe to select programming mode?, reset and test buttons

Pinout Diagram – Click to Enlarge

The documentation in English is still work in progress, but Realtek already released a getting started guide to program the board with Arduino IDE 1.6.5 or later. The guide only mentions Windows, so it’s unclear whether Linux is supported for now, but the steps are pretty simple:

  1. Install mbed serial drivers
  2. Install Ameba board packages in Arduino IDE
  3. Connect the board via USB to your computer, and select Ameba RTL8710 board in Arduino IDE
  4. Use Blink program to blink an LED connected to GPIO 13.
  5. Profit!

Ameba RTL8710 & Arduino IDE – Click to Enlarge

I understand you may not even need to use RTL8710 Ameba Arduino SDK for this if you have a board with the latest firmware. If not, you may need to update the firmware, but there’s no documentation about this, and it’s unclear whether this can be done via the RTLDUINO / AMEBA_RTL8710 baseboard, or a separate JLINK SWD debugger is needed.

The SDK has been released on Ameba IoT China website, and will soon be on Ameba IoT (English) website. The hardware development kit can be purchased for NT$ 630.0 in Taiwan, and 150 CNY (~$22) on Taobao. If you live outside of China, you could use a Taobao agent to ship to your country, or probably better, wait until Realtek gets a worldwide distributor.

Mediatek MT2533D is a Bluetooth 4.2 SiP for Smart Headphones & Hands-Free Systems

January 9th, 2017 3 comments

There used to be a time when most products were based on a general purpose MCU or processor that you would interface to over chips like audio codecs, memory chips, flash storage, etc…, but in order to cut costs, application specific SoCs have become quite common over the year, so we’ve had mobile application processors for several years already, but more recently we got “wearables” SoCs and “Smart Home” SoCs, and Mediatek has launched MT2533D “headphone” SiP (System-in-Package) combining a Cortex-M4 MCU, 4MB PSRAM, an audio codec, and a dual mode Bluetooth subsystem.

mt2533-block-diagramMediatek MT2533D specifications:

  • MCU –  ARM Cortex-M4 @ up to 208MHz with 32KB L1 cache, FPU, MPU, AES 128/192/256 crypto engine and TRNG
  • Memory – 160kB SRAMs, 4MB pseudo SRAM
  • Storage – 4MB flash
  • Wireless Connectivity – Bluetooth 4.2 dual mode (classic and low energy)
  • Audio
    • AAC/SBC for Bluetooth audio
    • CVSD/mSBC for Bluetooth speech
    • PCM playback: 8-48kHz sample rate
    • PCM record: 8kHz and 16kHz sample rate
    • Dual-mic noise suppression and acoustic echo cancellation
  • Display
    • Hardware 2D accelerator
    • DBI serial interface up to 320×320 @ 30 fps
    • 1-lane MIPI DSI interface up to 480×320 @ 30 fps
  • Camera – Mediatek camera serial interface up to VGA resolution @ 30 fps with YUV422 or RGB565
  • Other Peripherals
    • USB 2.0
    • 3x UARTs, 3x I2Cs
    • 6x PWMs, 4x SPI masters, SPI slave
    • I2S
    • SDIO v2.0
    • 5-channel ADC
    • Up to 38 GPIOs
  • Package – 172-ball TFBGA with 0.4mm pitch
  • Dimensions – 6.2 x 5.8 x 1.05 mm
  • Ambient temperature – -40°C to 85°C

There are interfaces for small displays and low resolution cameras, as well as a fair amount of I/Os, so it could certainly be use for audio applications outside of simple headphones, not matter how “smart” they may be.

One interesting part is that I did not get the news from MediaTek, but instead MediaTek Labs, Mediatek’s Internet of Things (IoT) developer program, and MT2533 is supported by the MediaTek LinkIt Development Platform for RTOS based on FreeRTOS. That means the SiP will be available to makers, and not only large companies, and development and debugging can be done in ARM Keil μVision, IAR Embedded Workbench and GCC like other LinkIt platforms. A development board or, like Mediatek calls it, an HDK (Hardware Development Kit), based on MT2533D could also be launched in the near future.

However Mediatek Labs only mentioned that MT2533D will be available to device makers in Q1 2017, and the developer documentation and tools will be released in Q3 2017, so we will have to wait for a while before being able to play with the platform. More details can be found on MT2533D product page.

JeVois-A33 is a Small Quad Core Linux Camera Designed for Computer Vision Applications (Crowdfunding)

December 27th, 2016 8 comments

JeVois Neuromorphic Embedded Vision Toolkit – developed at iLab at the University of Southern California – is an open source software framework to capture and process images through a machine vision algorithm, primarily designed to run on embedded camera hardware, but also supporting Linux board such as the Raspberry Pi. A compact Allwinner A33 has now been design to run the software and use on robotics and other projects requiring a lightweight and/or battery powered camera with computer vision capabilities.

allwinner-a33-computer-vision-cameraJeVois-A33 camera:

  • SoC – Allwinner A33  quad core ARM Cortex A7 processor @ 1.35GHz with  VFPv4 and NEON, and a dual core Mali-400 GPU supporting OpenGL-ES 2.0.
  • System Memory – 256MB DDR3 SDRAM
  • Storage – micro SD slot for firmware and data
  • 1.3MP camera capable of video capture at
    • SXGA (1280 x 1024) up to 15 fps (frames/second)
    • VGA (640 x 480) up to 30 fps
    • CIF (352 x 288) up to 60 fps
    • QVGA (320 x 240) up to 60 fps
    • QCIF (176 x 144)  up to 120 fps
    • QQVGA (160 x 120) up to 60 fps
    • QQCIF (88 x 72) up to 120 fps
  • USB – 1x mini USB port for power and act as a UVC webcam
  • Serial – 5V or 3.3V (selected through VCC-IO pin) micro serial port connector to communicate with Arduino or other MCU boards.
  • Power – 5V (3.5 Watts) via USB port requires USB 3.0 port or Y-cable to two USB 2.0 ports
  • Misc
    • Integrated cooling fan
    • 1x two-color LED: Green: power is good. Orange: power is good and camera is streaming video frames.
  • Dimensions –  28 cc or 1.7 cubic inches (plastic case included with 4 holes for secure mounting)

jevois-camera-hardwareThe camera runs Linux with the drivers for the camera, JeVois C++17 video capture, processing & streaming framework, OpenCV 3.1, and toolchains. You can either connect it to a host computer’s USB port to check out the camera output (actual image + processed image), or to an MCU board such as Arduino via the serial interface to use machine vision to control robots, drones, or others. Currently three modes of operation are available:

  • Demo/development mode – the camera outputs a demo display over USB that shows the results of its analysis, potentially along with simple data over serial port.
  • Text-only mode – the camera provides no USB output, but only text strings, for example, commands for a pan/tilt controller.
  • Pre-processing mode – The smart camera outputs video that is intended for machine consumption, and potentially processed by a more powerful system.

The smart camera can detect motion, track faces and eyes, detect & decode ArUco makers & QR codes, detect & follow lines for autonomous cars, and more. Since the framework is open source, you’ll also be able to add your own algorithms and modify the firmware. Some documentation has already been posted on the project’s website. The best is to watch the demo video below to see the capacities of the camera and software.

The project launched in Kickstarter a few days ago with the goal of raising $50,000 for the project. A $45 “early backer” pledge should get you a JeVois camera with a micro serial connector with 15cm pigtail leads, while a $55 pledge will add an 8GB micro SD card pre-load with JeVois software, and a 24/28 AWG mini USB Y cable. Shipping is free to the US, but adds $10 to Canada, and $15 to the rest of the work. Delivery is planned for February and March 2017.

Android Things OS for the Internet of Things Supports Raspberry Pi 3, Intel Edison, and NXP Pico Boards

December 14th, 2016 6 comments

Google introduced Project Brillo a little over a year ago, an operating system based on Android, but with a smaller footprint optimized for Internet of Things applications. Brillo has now just become Android Things OS, with Google releasing a developer preview of Android Things working on Raspberry Pi 3, Intel Edison, and NXP Pico boards.

android-things-architecture

Android Things Software Architecture

The company has also updated the Weave platform to simplify connection of all types of devices to the cloud, and interaction with services like the Google Assistant. The Weave Device SDK currently supports schemas for light bulbs, smart plugs, switches, and thermostats, with more type of device supported in the future, as well as a mobile app API for both Android and iOS.

Using an Android based OS instead of a pure Linux OS should make it easier for Android app developers to create smart devices thanks to the use of familiar Android APIs and Google Services. The workflow is pretty similar to creating mobile apps, with development being done within Android Studio and you’d connect to the target board through adb. One difference is the the Things Support library that provides a peripheral I/O API for interfaces such as GPIOs, PWM, I2C, SPI and UART as well as a user driver API  used to allow apps to inject hardware events in to the Android framework.

nxp-pico-board

NXP Pico Board with TechNexion PICO-i.MX6UL SoM

If you’d like to get started, get one of the three supported boards, and get the Android Things developer preview. You may also been interested in Weave and Google Cloud platform sites to respectively control capable device such as Philips Hue and Samsung SmartThings, and get your data into the cloud. Some sample code is also available on AndroidThings’ github account, and you may want to subscribe to  Google’s IoT Developers Community on Google+ for support and discussions. NXP also has a higher end Android IoT platform equipped with more I/Os and ports called VVDN Technologies Argon i.MX6UL development board.

STMicro SensorTile is a Tiny STM32 Module with Bluetooth 4.1 LE and Four Sensor Chips

December 8th, 2016 1 comment

STMicroelectronics SensorTile is a 13.5 x 13.5mm sensor board based on STM32L4 ARM Cortex-M4 microcontroller, a MEMS accelerometer, gyroscope, magnetometer, pressure sensor, a MEMS microphone, as well as a 2.4Ghz radio chip for Bluetooth 4.1 Low Energy connectivity for wearables, smart home, and IoT projects.

stmicro-sensortile

SensorTile hardware specifications:

  • MCU – STMicro STM32L476 ARM Cortex-M4 microcontroller@ up to 80 MHz with 128 KB RAM, 1MB flash
  • Connectivity – Bluetooth 4.1 Smart/LE via BlueNRG-MS network processor with integrated 2.4GHz radio compliant with
  • Sensors
    • LSM6DSM 3D accelerometer + 3D gyroscope
    • LSM303AGR 3D Magnetometer + 3D accelerometer
    • LPS22HB pressure sensor/barometer
    • MP34DT04 digital MEMS microphone
  • I/Os – 2x 9 half holes with access to UART, SPI, SAI (Serial Audio Interface), I2C, DFSDM, USB, OTG, ADC, and GPIOs signals
  • Debugging – SWD interface (multiplexed with GPIOs)
  • Power Supply Range – 2V to 5.5 V
  • Dimensions – 13.5 x 13.5 mm
SensorTile's Functional Block Diagram - Click to Enlarge

SensorTile’s Functional Block Diagram – Click to Enlarge

Software development can be done through a sets of APIs based on the STM32Cube Hardware Abstraction Layer and middleware components, including the STM32 Open Development Environment. The module is supported by Open Software eXpansion Libraries, namely Open.MEMS, Open.RF, and Open.AUDIO, with various example programs allowing you to get started. Several third-party embedded sensing and voice-processing projects also support the module. The module also comes pre-loaded with BLUEMICROSYSTEM2 firmware, and can be controlled with “ST BlueMS” app found on Apple Store and Google Play.

sensortile-kit

But the best way to get started is with SensorTile kit including SensorTile core module and:

  • STLCR01V1 cradle board with a footprint for SensorTile core board, HTS221 humidity and temperature sensor, a micro-SD card socket, a micro USB port, a lithium-polymer battery (LiPo) charger, and a SWD header.
  • A LiPo rechargeable battery and a plastic case for the cradle board, SensorTile module, and battery
  • STLCX01V1 Arduino UNO R3 compatible cradle expansion board with analog stereo audio output, a micro-USB connector for power and communication, a reset button and a SWD header.
  • A programming cable

I could not find a price for SensorTile core module, but STEVAL-STLKT01V1 SensorTile kit can be purchased for $80.85 directly on STMicro website or their distributors. Visit SensorTile kit’s product page for further information include hardware design files, quick start guide, software and firmware downloads, purchase links, and more.

Nordic Semi Unveils nRF52840 Bluetooth 5 Ready SoC and Development Kit

December 7th, 2016 2 comments

Nordic Semiconductor nRF52xx Bluetooth and 2.4 GHz solutions are very often found in development kits and low power devices such as wearables, and it’s no surprise that the company introduced a new nRF52840 SoC supporting Bluetooth 5, the new standard promising twice the range, and four times the speed of BLE 4.x, as well as ANT, 802.15.4, 2.4GHz proprietary, and NFC connectivity.

nrf52840Nordic Semi nRF52840 key features and specifications:

  • MCU – 32-bit ARM Cortex-M4 @ 64 MHz with with FPU
  • Memory & Storage – 256 KB RAM, 1MB Flash
  • Connectivity
    • Bluetooth 5-ready multiprotocol radio
    • Bluetooth 5 data rate support: 2 Mbps, 1 Mbps, 500 kbps, 125 kbps
    • 104 dB link budget for Bluetooth low energy
    • -96 dBm sensitivity for Bluetooth low energy
    • Programmable output power from +8 dBm to -20 dBm
    • NFC-A tag on chip
    • Single-ended antenna output (on-chip balun)
  • I/Os
    • USB – Full-speed 12 Mbps USB controller
    • SPI up to 32 MHz
    • Quad SPI up to 32 MHz
    • PPI — Programmable peripheral interface
    • EasyDMA
    • 12 bit/200 ksps ADC
  • Security – ARM Cryptocell CC310 cryptographic accelerator, 128 bit AES/ECB/CCM/AAR coprocessor
  • Power Supply –  1.7 V to 5.5 V; individual power management for all peripherals; regulated supply for external components up to 25 mA

nRF52840 is “on-air-compatible with nRF51, nRF24L and nRF24AP Series”, and target advanced wearables, IoT, and interactive entertainment devices (remote controls / controllers).

nRF52840 Preview Development Kit - Click to Enlarge

nRF52840 Preview Development Kit – Click to Enlarge

The company has also launched nRF52840 Preview Development Kit to get started with evaluation and development.  The development board is hardware compatible with Arduino Uno Rev. 3 to allow the use of common Arduino shields, and also includes 4 LEDs and 4 buttons, all programmable by the user. It supports Bluetooth 5, Bluetooth low energy, ANT, 802.15.4 and 2.4GHz proprietary using the latest S140 SoftDevice software stack, as well as NFC thanks to an external antenna included in the kit.  The kit is compatible with Nordic Software Development Toolchain using Keil, IAR and GCC, and can be programmed & debugging with Segger J-Link OB.

Samples and the development kit are available now at an undisclosed price. You’ll find more details about the nRF52840 Bluetooth 5 SoC and development kit on the product page.