Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Getting started with Udoo
Getting started with Udoo

Getting started with Udoo: Become an efficient maker by designing and building amazing prototypes with the UDOO platform and Android

eBook
€8.99 €19.99
Paperback
€24.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Getting started with Udoo

Chapter 1. Turn On the Engines

Any idea should start with a prototype. It doesn't matter whether it's a game, a web or mobile application, or a generic software component. Every time we want to deliver something to our final users, we have to create a prototype first. This is the most important step because it's when we start to face our first difficulties and when we may change some important aspects of our project.

If we are writing a software component, the first prototype isn't too expensive because what we need is our time and passion. However, this isn't applicable when our project has some hardware parts because it could be too expensive to afford all the required components. This statement was true until programmers, engineers and open source lovers started to release projects such as Arduino.

Fast prototyping boards let people realize projects with cheap or reused old components, and this, together with the Do It Yourself (DIY) philosophy, allows the creation of a huge community that spreads all over the world. This is where the UDOO board plays an important role in the makers' community: the hardware prototyping ecosystem, together with the traditional way to write software applications, represents a powerful combination for interactive projects creation.

In this chapter, we will explore more details about the UDOO board, focusing on the elements that are important to get started. In particular, we will cover:

  • Exploring the UDOO platform and its main characteristics
  • Setting up the board with the Android operating system
  • Configuring the development environment for Arduino and Android
  • Bootstrapping a simple Android application
  • Deploying an Android application

Introducing the UDOO platform

The UDOO board is designed to offer us great flexibility with the tools, the programming language, and the environment in which we build the first prototype. The main goal of the board is to take part in the era of the Internet of Things and this is why an embedded Atmel SAM3X8E ARM Cortex-M3 processor is its first building block.

This processor is the same that powers the Arduino Due board and it's fully compliant to Arduino pinout. The result of this feature is that the board is compatible with all Arduino Due shields and most of Arduino Uno shields, so developers can convert and reuse their old programs and circuits.

Note

The UDOO I/O pins are 3.3V compliant. For instance, if you're using a sensor powered by 5V that outputs the signal to UDOO pins at 3.3V, then you're fine. On the other hand, if the sensor outputs the signal to UDOO at 5V, it will damage your board. Every time you're using a shield or a sensor, be aware of provided output voltage to UDOO pins. This precaution is the same for a traditional Arduino Due board.

The second building block is a powerful Freescale i.MX 6 ARM Cortex-A9 processor, which is shipped in Dual and Quad core versions. The official supported operating system is UDOObuntu, which is a Lubuntu 12.04 LTS armHF based operating system that ships out of the box with many pre-installed tools to be up and running quickly. Indeed, after your first boot, you have a fully configured development environment to program the onboard Arduino from the board itself.

Despite that, what makes UDOO really different from other boards is the Android support. With the capability to run smoothly, this operating system is a great opportunity for novice or experienced Android developers because they can create a new kind of real-world application that is powered by the Android user interface, its powerful design patterns, and even by other developers' applications.

Note

Developers can choose to write their real-word applications using the Linux operating system. In this case, they can write web services or desktop applications using many well-known programming languages such as Python, Javascript (Node.js), Php, and Java. However, we will focus on application development under Android.

The latest building block is related to all I/O components. UDOO could be purchased with an internal Wi-Fi and a Gigabit Ethernet, which are recognized by both Linux and Android. It also offers HDMI (High-Definition Multimedia Interface) output connection and is shipped with an integrated Transistor-Transistor Logic (TTL) to Low-Voltage Differential Signaling (LVDS) expansion slot so that developers can connect an external LVDS touch screen.

Note

During the course of this book, it is assumed that you're connecting UDOO to an external monitor through the HDMI cable. However, if you own an external LVDS panel, you can proceed with the connection just before the Our first run section in this chapter. To let Android use the external panel, you should follow some steps that you can find in the official documentation at http://www.udoo.org/faq-items/how-do-i-set-up-my-lvds/.

Another great component that is officially supported is the camera module that is easy to plug in the board and can be used for projects that require computer vision or image analysis. The last integrated component is the audio card with a fully functional audio playback and recording through an external microphone.

The mix of these building blocks, together with the Internet access and many Android APIs, gives us the opportunity to build real-world applications that listen to the environment and talk to devices with a board that can take part in the Internet of Things.

Downloading and installing Android

We have an idea about a list of UDOO components that we may use to start building amazing projects. However, before we continue, we need to configure our board to run the Android operating system and also our development environment so that we can start writing and deploying our first application.

Note

All prototypes you build in this book are based on Android KitKat 4.4.2 that is the latest supported version at the time of this writing. During the course of this book you will build many projects that make use of the Android Support Library to ensure compatibility with newer Android versions that the UDOO board will support.

The UDOO board doesn't have internal storage or a built-in boot program because it relies on external storage, a microSD card, in which you can install a bootloader and a compatible operating system. The easiest way to create a bootable microSD card, is to download and copy a precompiled image, though it's possible to create a clean operating system using released binaries and kernel sources.

http://www.udoo.org/downloads/ points to the official UDOO download page that contains the links for all the available precompiled images.

Among Linux images, we can find and download the latest supported version of Android KitKat 4.4.2. As stated earlier, UDOO comes in two different versions with dual and quad processors so we must download the right version, according to the owned platform.

Installing from Windows

To install the Android image from Windows, you need some extra tools to unpack and copy the image into the microSD card. The downloaded .zip file is in 7-Zip compression format, so you need to install a third-party unarchive program such as 7-Zip. When the extracting process is done, we have an uncompressed .img file ready for copy on an empty card.

To write the uncompressed image into our microSD card, perform the following steps:

  1. Insert your microSD card in the built-in slot reader or external card reader.
  2. Format the card using the FAT32 filesystem.
  3. To write the image on the micsoSD card, we need to use the Win32DiskImager tool. Download it from http://sourceforge.net/projects/win32diskimager/.
  4. Run the application, but bear in mind that if we are using Windows 7 or Window 8.x, we have to right-click on Win32DiskImager.exe executable and be sure to select the Run as administrator option from the context menu.
  5. Win32DiskImager is a tool that writes raw disk images using low-level instructions. This means that you need to exactly follow the next steps and be really sure that you correctly select the output device. If this option is wrong, you might lose all your data from an unwanted storage memory.
  6. Once the application starts, you can see the main window, as illustrated in the following screenshot:
    Installing from Windows
  7. From the application's main window, in the Image File box, choose the .img file previously extracted.
  8. Select the microSD drive accurately on the Device dropdown and bear in mind that if we use the wrong drive, we can destroy all our data on the computer's hard disk.
  9. Click on the Write button and wait for the process to complete in order to have a bootable Android operating system in the microSD card.

Installing from Mac OS X

To install the Android image from Mac OS X, we need a third-party tool to unpack the downloaded .zip file, because it's in 7-Zip compression format and we can't use the built-in unarchive software. We have to download software such as Keka, which is freely available at http://www.kekaosx.com/.

If we love the Mac OS X terminal, we can use the Homebrew package manager that is available at http://brew.sh/.

In this case, from the command line, we can simply install the p7zip package and use the 7za utility to unpack the file as follows:

brew install p7zip
7za x [path_to_zip_file]

To proceed and write the uncompressed image into our microSD card, perform the following steps:

  1. Launch the Terminal application and enter into the folder in which we have downloaded and extracted the Android image. Assuming Downloads is the name of that folder, we can issue the following command:
    cd Downloads
    
  2. Get the list of all mounted devices with the following command:
    df -h
    
  3. The list of all systems and internal hard drive partitions will be similar to the following screenshot:
    Installing from Mac OS X
  4. Connect the microSD card using the built-in or external card reader.
  5. Format the microSD card through the Disk Utility application that is already available in our system. Launch it and select the correct disk from the list on the left.
  6. From the main panel of the window, choose the Erase tab from the upper menu and select the MS-DOS (FAT) filesystem in the Format dropdown. When you are ready, click on the Erase button.
  7. From the Terminal application, launch the previous command again:
    df –h
    
  8. The list of mounted partitions has been changed, as we see in the following screenshot:
    Installing from Mac OS X
  9. We can assume that the missing device, during the first run, is our microSD card, so we have to bear in mind the new value under the Filesystem column. If you look at the previous screenshot, our partition name is /dev/disk1s1 while it isn't /dev/disk0s2 because it's our hard disk.
  10. Once we have found the correct partition, we have to unmount it using the following command:
    sudo diskutil unmount /dev/[partition_name]
    
  11. To write the image into the microSD card, we must find the raw disk device so that we can erase and write the Android image into the card. Assuming that the partition name found before was /dev/disk1s1, the related raw disk will be /dev/rdisk1.

    Note

    We are going to use the dd tool. This command writes raw disk images using low-level instructions. This means that you need to exactly follow the next steps and be really sure that you choose the correct disk device, because if it is wrong, you can lose all your data from an unwanted storage.

  12. Write the image previously extracted into the microSD card using dd with the following command:
    sudo dd bs=1m if=[udoo_image_name].img of=/dev/[raw_disk_name]
    

    A full example of the previous command is as follows:

    sudo dd bs=1m if=[udoo_image_name].img of=/dev/rdisk1
    
  13. When we launch the command nothing seems to happen, but actually, dd is writing the Android image in the background. Once the process is complete, it outputs the transferred bytes report, as shown in the following example:
    6771+1 records in
    6771+1 records out
    7100656640 bytes transferred in 1395.441422 secs (5088466 bytes/sec)
    
  14. Now we have our bootable Android operating system and we can eject the microSD card with the following command:
    sudo diskutil eject /dev/[raw_disk_name]
    

Installing from Linux

To install the Android image from Linux, we need a third-party tool to unpack the downloaded .zip file. Because the file is in 7-Zip compression format, we need to install the p7zip package porting from the command line using the package manager of our distribution. Then we can use the 7za utility to unpack the file or any other graphical unarchiver that makes you comfortable.

We can proceed to write the uncompressed image into our microSD card using the following steps:

  1. Open the Linux Terminal and enter into the folder where we have downloaded and extracted the Android image. Assuming the file is in our Downloads folder, we can issue the following command:
    cd Downloads
    
  2. Attach the microSD card using the built-in or external card reader.
  3. Find the correct device name through the following command:
    sudo fdisk -l | grep Disk
    
  4. The output is a filtered list of all the devices found, and it contains, among others output lines, something like:
    Disk /dev/sda: 160.0 GB, 160041885696 bytes
    Disk /dev/mapper/ubuntu--vg-root: 157.5 GB, 157454172160 bytes
    Disk /dev/sdb: 7948 MB, 7948206080 bytes
    

    In this case, /dev/sda is our hard disk while /dev/sdb is our microSD card. If this is not your case and you are using an internal card reader, it's possible that the device is named /dev/mmcblk0.

    When you've found the right device name, keep it in mind so that we can use it later.

  5. Find all the mounted partitions of the above device through the following command:
    mount | grep [device_name]
    
  6. If the previous command generates an output, find the partition name available in the first column of the output and unmount any listed partitions through the following command:
    sudo umount /dev/[partition_name]
    

    Note

    dd is a tool that writes raw disk images using low-level instructions. This means that you need to exactly follow the next steps and be really sure that you choose the correct disk device because, if it is wrong, you can lose all your data from an unwanted storage memory.

  7. Write the image previously extracted to the above device name using the dd command:
    sudo dd bs=1M if=[udoo_image_name].img of=/dev/[device_name]
    

    Assuming /dev/sdb is our microSD card, the following is a full example:

    sudo dd bs=1M if=[udoo_image_name].img of=/dev/sdb
    
  8. When we launch the command nothing seems to happen, but actually, dd is writing the image in the background. Once the process is complete, it outputs the transferred bytes report, as follows:
    6771+1 records in
    6771+1 records out
    7100656640 bytes transferred in 1395.441422 secs (5088466 bytes/sec)
    
  9. Now we have our bootable Android operating system and we can eject the microSD card with the following command:
    sudo eject /dev/[device_name]
    

Our first run

Once we have a bootable microSD card, we can insert it into our UDOO board, use our external monitor or LVDS panel and connect a mouse and a keyboard. After the power is switched on, the Android logo shows up and when the loading process is finished, we can finally see the Android home interface.

Setting up the development environment

Now that Android in our UDOO board is fully functional, it's time to configure the development environment. Every project we're going to build is composed of two different running applications: the first is the physical application composed of an Arduino program capable of controlling an external circuit through UDOO I/O pins; the second one, is an Android application that will run on the board and that deals with the user interface.

Because we have to write two different applications that interact with each other, we need to configure our development environment with two different IDEs.

Installing and using Arduino IDE

Before we can start to upload our programs, we need to install the microUSB serial port driver so that we can correctly communicate with onboard Arduino. The USB to the Universal Asynchronous Receiver/Transmitter (UART) driver, compatible with the CP210x converter available on the board, can be downloaded from

http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx.

Here we have to choose the correct version according to our operating system. Once the download is complete, we can extract the archive and double-click on the executable to proceed with the installation. When the installation process is complete, we may need to restart the system.

Now that the microUSB bridge driver is working, from the Arduino website, we have to download the IDE 1.5x beta because, at the moment, the beta version is the only one that supports Arduino Due boards. The link http://arduino.cc/en/Main/Software#toc3 points directly to the latest version.

Note

To upload a new program, UDOO needs to receive the signals ERASE and RESET from the serial port before and after the upload, respectively. On the official Arduino Due board, this action is performed by the integrated ATmega16U2 microcontroller, which is missing in the UDOO board. The Arduino IDE will take care of this process, but if in the future you prefer to use another IDE, you will have to take care on your own.

Installing in Windows

To install in Windows, we have two different options: use the provided installer or use the archive file for nonadministrator installation. If we choose to use the installer, we can double-click on the executable. When the installer asks us which components we want to install, be sure to select all the checkboxes. If we choose to use the archive file instead of the installer, extract the file and put the result directory into your users folder.

Installing in Mac OS X

To install in Mac OS X, we need to download the archive version. If we run an OS X version greater than 10.7, we can download the Java 7 version. In any other cases, or if you are not sure, download the Java 6 version.

When we finish the download, we have to double-click on the archive to proceed with the extraction and then drag-and-drop the Arduino application icon inside our Applications folder.

Installing in Linux

To install in Linux, we need to download the archive version supported by our 32 or 64 bit architecture. Once the download has finished, we can extract the IDE and put it inside our home folder or in any other folder of your choice.

First launch

Now that we have finished configuring the communication driver and the IDE with the correct patch, we can launch and see the Arduino IDE, as shown in the following screenshot:

First launch

Installing and using Android Studio

UDOO with an Android operating system acts like any other traditional Android device. This means we can use the standard toolchain, build system, and IDE used for the development of smartphones or tablets applications. At the moment, the available toolchains are related to two main IDEs: Eclipse and Android Studio.

Eclipse is an open source IDE with an advanced plugin system that allows you to easily extend many of its core capabilities. This brought Google to develop an Android Development Tool (ADT) plugin to create an integrated development environment in which developers can write, debug, and package their Android applications.

Android Studio is a more recent project whose first beta was released in May 2013 while the first stable release was in December 2014. Based on IntelliJ IDEA, a well-known Java IDE, it's powered by the Gradle build system that combines the flexibility of Ant with the dependency management of Maven. All these characteristics, together with the increasing number of plugins, best practices, Google Cloud Platform integration, and third-party services integration such as Travis CI, make Android Studio a great choice for the development of future projects.

All Android projects covered in this book are built using Android Studio, and if you are a novice or an experienced Android developer and Eclipse is your usual IDE, this could be a great opportunity to try the new Android Studio.

The first thing to do is to download the latest version of Android Studio for your operating system from https://developer.android.com/sdk/.

When the download starts, we'll be redirected to the installation instructions related to our operating system, and when we finish the installation, we can start the IDE. During the first run, the IDE will make all the required checks to retrieve and install the latest available SDK, virtual device, and build system to let you start developing the first application. In the Setup Wizard - SDK Settings page, be sure to select the Android SDK and Android Virtual Device components and then click on Next. In the next page, you should accept all Android licenses and then click on Finish.

Once the IDE is installed, we can start Android Studio. The following screenshot shows the main window when a project is not opened:

Installing and using Android Studio

Running your first Android application

Now that Android is installed in our UDOO board and that all development environments are configured, we can start to write and deploy our first Android application. The following is the default pattern of other developers when they start to dive into a new technology. We are going to write and deploy a simple Android application that prints Hello World!.

To bootstrap our first project, perform the following steps:

  1. In the main window of Android Studio, click on Start a new Android Studio project.
  2. In the Application name field, type HelloWorld; in Company domain, write your domain or example.com if you don't have any at the moment. Then, click on Next.
  3. In the form factors selection window, select Phone and Tablet and choose API 19: Android 4.4 (KitKat) in the Minimum SDK. Then, click on Next.
  4. In the add activity page, for the purpose of this hello world application, select a Blank Activity option and click on Next.
  5. In the Activity Options page, write HelloWorld in Activity Name and click on Finish.

    Tip

    In next chapters, we will create applications from scratch, so we have to bear in mind the previous steps because we are going to repeat the process multiple times in this book.

Now Android Studio will start to download all Gradle requirements to prepare our build system. When the process is completed, we get our first HelloWorld application.

Without writing any lines of code, we have already created a deployable application. Now we have to connect our UDOO board using a microUSB to the USB cable. If we take a look at the board, we see two different microUSB ports. The first one on the left, that we will use in the next chapters, connects our computer to the serial port of both processors, so we can use it to upload the Arduino program to the UDOO microcontroller or we can use it to access to the Android system shell. The activated communication for the serial port depends on the state of J18 jumper, whether it's plugged or not. Instead, the microUSB port on the right connects our computer to the i.MX 6 processor that runs Android and that we will use to upload our Android applications. You can find more information about the processor communication at the official UDOO website http://www.udoo.org/features/processors-communication/.

To connect our computer to the Android operating system for the application upload process, we need to use the right microUSB port colored in black in the following screenshot:

Running your first Android application

Like we do in a traditional Android application, we can click from the top menu on Run and then on Run app. At this point, we need to choose a running device, but unfortunately, our list of available devices is empty. This problem occurs because of how the internal communication between processors works.

After the boot time, the connection is enabled between the two processors and plugging the microUSB cable will produce no effect. This happens because Android doesn't use the internal UART serial port during the communication with Arduino. It uses the USB On-The-Go (OTG) bus that allows devices to act as host and let other components such as flash drive, mouse, keyboard, or Arduino, in this case, to connect through it.

The i.MX 6 processor is physically connected to the OTG bus while the other side of the bus is connected both to Arduino and to the external microUSB connector. The current active connection can be changed using a software piloted switch. When the external OTG port is enabled, Android can communicate with an external computer via microUSB port but it can't send back any data to onboard Arduino. On the contrary, when the external OTG port is disabled, Android can communicate with Arduino but the connection with the computer is interrupted.

The latter is our actual configuration and we need to switch the OTG port in order to enable the external communication with our computer to complete the application deployment. From Android, we have to go to the Settings menu and choose Developer options. There we need to select the External OTG port enabled checkbox. If the USB cable is connected, a popup will ask us to allow USB debugging. If this is our main computer, we may want to select Always allow from this computer and then click on OK. If this option is not checked, the popup will be shown every time we connect UDOO to our computer.

Note

Bear in mind that every time we need to deploy our Android application, we need to enable the external OTG port. On the contrary, when our application is deployed and we need Android to communicate with Arduino, we need to disable the external OTG port.

Now that our computer can see the UDOO board as a traditional Android device, we can try to deploy our application again. This time, in the Choose Device dialog, we can find a Freescale UDOO Android device. Select it and click on OK. Our first deployment is complete and now we can see the HelloWorld application on the connected monitor.

Summary

In this chapter, we learned some UDOO characteristics that distinguish this board from the others. One of the greatest differences is related to the full support of the Android platform that led us to install and configure the latest supported version on the board.

We explored the necessary tools to start developing real-world applications and we configured our development environment to write Android applications and Arduino programs.

We had a brief introduction about how the communication between the two processors works and how we can switch the OTG port to enable external access for our first deployment. In the next chapter, we will start a new Android application from scratch that is capable of using and controlling a physical device built through a set of prototyping tools.

Left arrow icon Right arrow icon

Description

If you are an Android developer who wants to learn how to use UDOO to build Android applications that are capable of interacting with their surrounding environment, then this book is ideal for you. Learning UDOO is the next great step to start building your first real-world prototypes powered by the Android operating system.

Who is this book for?

If you are an Android developer who wants to learn how to use UDOO to build Android applications that are capable of interacting with their surrounding environment, then this book is ideal for you. Learning UDOO is the next great step to start building your first real-world prototypes powered by the Android operating system.

What you will learn

  • Build working prototype circuits using breadboards
  • Create realworld applications and prototypes using all the features provided by the UDOO board
  • Control external circuits from Android applications with the Accessory Development Kit
  • Listen to the environment and change the application behavior using external sensors
  • Enhance user interaction with native Android APIs for voice recognition and synthesis
  • Use the Android networking API to provide Internet data to UDOOconnected circuits
  • Collect and publish sensor data from Android applications using MQTT libraries
Estimated delivery fee Deliver to Austria

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 20, 2015
Length: 206 pages
Edition : 1st
Language : English
ISBN-13 : 9781784391942
Category :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Austria

Premium delivery 7 - 10 business days

€17.95
(Includes tracking information)

Product Details

Publication date : Feb 20, 2015
Length: 206 pages
Edition : 1st
Language : English
ISBN-13 : 9781784391942
Category :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 86.97
Arduino Android Blueprints
€36.99
Arduino Essentials
€24.99
Getting started with Udoo
€24.99
Total 86.97 Stars icon
Banner background image

Table of Contents

9 Chapters
1. Turn On the Engines Chevron down icon Chevron up icon
2. Know Your Tools Chevron down icon Chevron up icon
3. Testing Your Physical Application Chevron down icon Chevron up icon
4. Using Sensors to Listen to the Environment Chevron down icon Chevron up icon
5. Managing Interactions with Physical Components Chevron down icon Chevron up icon
6. Building a Chronotherm for Home Automation Chevron down icon Chevron up icon
7. Using Android APIs for Human Interaction Chevron down icon Chevron up icon
8. Adding Network Capabilities Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.8
(4 Ratings)
5 star 75%
4 star 25%
3 star 0%
2 star 0%
1 star 0%
Raffaele Montella Jul 14, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great book! Perfect for the beginner and the medium skilled user. An update about UDOO NEO could make the book better.
Amazon Verified review Amazon
Synasius Jun 08, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
A "must have" for those taking their first steps with a board Arduino-based UDOO as well as for those who do not know the world of programming Android. The examples and the exercises are clear and well explained, and gradually introduce all the concepts necessary to work on both UDOO and Android.In my opinion is a great reference for those who already had experience with UDOO / Android. Some of the exercises presented may also be of interest to the more experienced developers.Congratulations to the author!
Amazon Verified review Amazon
Luigi Belli Mar 26, 2015
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Ottima guida per chi vuole avvicinarsi al mondo arduino piu android. Faccio i complimenti all'autore per la chiarezza degli esempi e per il fatto che tutto funzioni.
Amazon Verified review Amazon
Amazon Customer Apr 27, 2016
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Quite good. Unfortunately, like many tech books, doesn't (yet?) cover the most recent versions of UDOO products, but a thorough start in the Quad and Dual (which as of this writing are still reasonably available.) Look forward to a revision to cover Neo and the x86!
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela