Digi Embedded for Android in a nutshell

Android’s integration into embedded systems take it well beyond its traditional use in the consumer electronics market. Embedded systems that have a rich, multimedia-heavy user interface pair with Android’s powerful communication capabilities (cellular, Wi-Fi, Bluetooth, and more) to make it the perfect OS to build smart and connected devices for the IoT era.

But the use of Android as an embedded OS presents several challenges. Android doesn’t provide APIs to access the peripherals and interfaces found in most embedded systems, such as GPIO, I2C, SPI or CAN. Adapting the standard Android platform to embedded systems requires several modifications and optimizations. Firmware and software developers must write all the code to access these peripherals, which is not trivial and requires solid knowledge about the internal architecture of Linux and Android.

What does Digi provide?

Digi Embedded for Android provides the required hardware and software to effectively design embedded products with Android. Digi’s unique product offering combines all the necessary ingredients for the success of your next embedded product, built with Android.

  • Hardware. ConnectCore 6 is an ultra-compact and highly integrated system-on-module solution based on the NXP i.MX6 Cortex-A9 processor family. The ConnectCore 6 family provides great scalability and flexibility through the different variants of the module to meet the needs of your project.

  • Firmware. Digi provides a customized Android board support package (BSP) for ConnectCore 6. The software includes the following components:

    • A U-Boot-based bootloader to boot the Android system. You can configure U-Boot at boot time and program your own scripts with the integrated commands and tailor Digi’s source code to fit the needs of your design and integrate with the build system. Then when you build the Android image, the U-Boot image is built with it.

    • A Linux Kernel based on the 4.9 version, fully adapted for ConnectCore 6 with the Android modifications you need to work with the ConnectCore 6 hardware and all its interfaces. Customize the kernel source code to the needs of your embedded system: for example, modify the peripheral configuration and add new drivers and modules. And like U-Boot, when you build the Android image, the kernel is built with it.

    • An Android system customized and optimized to run on the ConnectCore 6 module. Use the new Digi APIX to talk with the hardware as well as other extensions like Wi-Fi or Ethernet. The firmware includes the Android image source and instructions for how to build it.

Digi Embedded for Android includes pre-built images to accelerate your development process.
  • APIX. Use the API extensions as an abstraction layer to access embedded peripherals and interfaces not available as part of the standard Android framework.

  • Tools. Work with Digi sample applications and access the API documentation via Digi’s Android Studio extension tools.

  • Remote management. Remotely monitor and analyze the device, access the Android file system, manage the configuration of some interfaces, reboot the module, or update an Android application or the entire system through the integrated Remote Manager support.

  • Sample Apps. Explore the sample applications for a demonstration of each API as well as other common Android functionality.

  • Documentation. Access comprehensive online Digi Embedded for Android documentation covering all the development and technical aspects of the ConnectCore 6 device.

Versioning

Digi Embedded for Android adheres to the following versioning scheme:

M.m-rN.b
  • M.m is the upstream AOSP major.minor version

  • N is the release version

  • b is the build number