Difference between revisions of "UDOO"

From eLinux.org
Jump to: navigation, search
m
m (spaces)
Line 273: Line 273:
  
 
* The Micro SD card is ready, you can now plug it on UDOO and boot the system.
 
* The Micro SD card is ready, you can now plug it on UDOO and boot the system.
 +
 +
  
 
= Resources =
 
= Resources =

Revision as of 07:04, 16 July 2013

UDOO

This page collects information about UDOO www.udoo.org the first ever small sized computer that merges in one single board an ARM cortex-A9 iMX.6 CPU and an Arduino compatible board embedded with a dedicated ARM SAM3X CPU. UDOO project has been funded trough Kickstarter, rising $641,614 in sixty days thanks to 4,172 backers.

Notice: The UDOO Wiki pages on this site is collaborative work - the UDOO team is not responsible for content on these pages.

What's UDOO?

UDOO is a mini PC that could run either Android or Linux, with an Arduino-compatible board embedded. It is a powerful prototyping board for software development and design, it’s easy to use and allows to create projects with minimum knowledge. UDOO merges different computing worlds in one; each world has its strengths and weaknesses, and all of them are useful today in education as well as Do-It-Yourself (DIY) and rapid prototyping endeavours. UDOO is an open hardware, low-cost computer equipped with an ARM i.MX6 Freescale processor for Android and Linux, alongside Arduino DUE’s ARM SAM3X, both CPU integrated on the same board!

UDOO goals:

  • Develop an innovative product for a growing market
  • Give a new vision to the educational framework: the idea is to train up a new generation of engineers, designers and software developers skilled in digital technology: physical computing, multi-media arts, interactive arts, IoT...
  • Boost up the DIY world
  • Offer a low cost embedded platform for interactive art with powerful tools: Processing, OpenCV, PureData, openFramework
  • Provide companies with a great tool for fast prototyping

Specifications

UDOO retail line up consist of three models that share most features with just slightly differences in term of connections and CPU power. All the three models features an embedded Arduino compatible board based on Arduino DUE schematic. UDOO’s size are 4.33 inch x 3.35 inch (11 cm x 8.5 cm).

GPIO features

[Description needed] Current version, UDOO rev. C, has these additional features:

  • S/PDIF digital audio in & out through pin headers;
  • I2S/AC97/SSI digital audio multiplexer through pin headers;
  • FlexCAN (Flexible Controller Area Network) through pin headers, you will be able to choose if you want to switch this function to the iMX6 or the SAM3X;
  • Second SD card support through pins header: this means you can plug an external controller for a second SD card or an external controller for an eMMC module

UDOO Quad

[Description needed]

  • Freescale i.MX 6 ARM Cortex-A9 CPU Quad core 1GHz with ARMv7A instruction set
  • GPU Vivante GC 2000 for 3D + Vivante GC 355 for 2D (vector graphics) + Vivante GC 320 for 2D (composition)
  • Accelerators for 2D, OpenGL® ES2.0 3D and OpenVG™
  • Atmel SAM3X8E ARM Cortex-M3 CPU (same as Arduino DUE)
  • RAM DDR3 1GB
  • 76 fully available GPIO with Arduino-compatible R3 1.0 pinout
  • HDMI and LVDS + Touch
  • 2 Micro USB (1 OTG type a+b)
  • 2 USB type A (x2) and 1 USB connector (requires a specific wire)
  • Analog Audio and Mic
  • CSI Camera Connection
  • on board Micro SD card reader reader (boot device)
  • Power Supply (6-15V) and External Battery connector
  • Ethernet RJ45 (10/100/1000 MBit)
  • WiFi Module
  • SATA connector with power plug

UDOO Dual

[Description needed]

  • Freescale i.MX 6 ARM Cortex-A9 CPU Dual core 1GHz with ARMv7A instruction set
  • GPU Vivante GC 880 for 3D and 2D (vector graphics) + Vivante GC 320 for 2D (composition)
  • Accelerators for 2D, OpenGL® ES2.0 3D and OpenVG™
  • Atmel SAM3X8E ARM Cortex-M3 CPU (same as Arduino DUE)
  • RAM DDR3 1GB
  • 76 fully available GPIO with Arduino-compatible R3 1.0 pinout
  • HDMI and LVDS + Touch
  • 2 Micro USB (1 OTG type a+b)
  • 2 USB type A (x2) and 1 USB connector (requires a specific wire)
  • Analog Audio and Mic
  • CSI Camera Connection
  • on board Micro SD card reader reader (boot device)
  • Power Supply (6-15V) and External Battery connector
  • Ethernet RJ45 (10/100/1000 MBit)
  • WiFi Module
  • SATA connector with power plug

UDOO Dual Basic

[Description needed]

  • Freescale i.MX 6 ARM Cortex-A9 CPU Dual core 1GHz with ARMv7A instruction set
  • GPU Vivante GC 880 for 3D and 2D (vector graphics) + Vivante GC 320 for 2D (composition)
  • Accelerators for 2D, OpenGL® ES2.0 3D and OpenVG™
  • Atmel SAM3X8E ARM Cortex-M3 CPU (same as Arduino DUE)
  • RAM DDR3 1GB
  • 76 fully available GPIO with Arduino-compatible R3 1.0 pinout
  • HDMI and LVDS + Touch
  • 2 Micro USB (1 OTG type a+b)
  • 2 USB type A (x2) and 1 USB connector (requires a specific wire)
  • Analog Audio and Mic
  • CSI Camera Connection
  • on board Micro SD card reader reader (boot device)
  • Power Supply (6-15V) and External Battery connector


Creating a bootable Micro SD card

Creating a bootable Micro SD card from image

This guide will allow you to create a bootable micro SD card for your UDOO with an image file. The image file contains the main operative system of UDOO, which runs on the i.MX6 processor. Without it you can only use UDOO like a normal Arduino DUE (only SAM3X processor).

Using an image is quite simple: you need to unzip the image and write it on your SD card using dd tool for UNIX users or Win32DiskImager for Windows users. You cannot drag & drop the image without using dd or Win32DiskImager because it won’t work. Please note that the minimum size micro SD card you have to use is 8GB, bigger memory cards may be used but only 8GB will be available at the end of the procedure.

  1. Download any SD images (Ubuntu or Yocto) available from the image section of the website http://www.udoo.org/downloads/.
  2. Extract in a folder the .img file from the .zip file you downloaded.
  3. Follow the instructions below for the OS you use:

Write the image on micro SD card Using Linux:

  • From the terminal run
df -h
  • If your computer has a slot for SD cards (SD to micro SD adapter needed), insert the card. If not, insert the card into an SD card reader, then connect the reader to your computer. Note: must be formatted in FAT32!
  • Run again
df -h
  • The device that wasn’t there last time is your micro SD card.

The left column gives the device name of your micro SD card. It will be listed as something like “/dev/mmcblk0p1″ or “/dev/sdd1″. The last part (“p1″ or “1″ respectively) is the partition number, but you want to write to the whole micro SD card, not just one partition, so you need to remove that part from the name (getting for example “/dev/mmcblk0″ or “/dev/sdd”) as the device for the whole SD card.

  • If your SD card shows up more partitions, you should unmount all of these partitions (using the right name found earlier followed from letters and numbers that identify the partitions) using the command:
e.g. sudo umount /dev/sdd1
  • Write the image into the micro SD card using the command:
sudo dd bs=1M if=<img_file_path> of=/dev/<sd_name>

Make sure you replace the input file if= argument with the path to your .img file, and the “/dev/“ in the output file of= argument with the right device name (this is very important: you will lose all data on the hard drive on your computer if you get the wrong device name). Make sure the device name is the name of the whole micro SD card as described above, not just a partition of it (e.g. sdd, not sdds1 or sddp1, or mmcblk0 not mmcblk0p1)

e.g. sudo dd bs=1M if=/home/<user_name>/Download/2013-5-28-udoo-ubuntu.img of=/dev/sdd
  • After the command dd finishes run as root the command sync or if a normal user run sudo sync (this will ensure the write cache is flushed and that it is safe to unmount your micro SD card) and after run
sudo umount /media/<sd_label>
  • Your micro SD card is ready to be used. Just insert it in UDOO and boot the system.

Write the image on micro SD card Using Mac OSX

  • From the terminal run
df -h
  • If your computer has a slot for SD cards (SD to micro SD adapter needed), insert the card. If not, insert the card into an SD card reader, then connect the reader to your computer. Note: must be formatted in FAT32!
  • Run again
df -h
  • The device that wasn’t there last time is your micro SD card.

Record the device name of the filesystem’s partition, for example, /dev/disk3s1. Using the device name of the partition work out the raw device name for the entire disk, by omitting the final “s1″ and replacing “disk” with “rdisk” (this is very important:you will lose all data on the hard drive on your computer if you get the wrong device name). Make sure the device name is the name of the whole micro SD card as described above, not just a partition of it (e.g. rdisk3, not rdisk3s1. Similarly you might have another SD drive name/number like rdisk2 or rdisk4, etc. recheck by using the df -h command both before & after you insert your micro SD card reader into your Mac if you have any doubts!):

e.g. /dev/disk3s1 => /dev/rdisk3
  • If your micro SD card shows up more partitions, you should unmount all of these partitions (using the right name found earlier followed from letters and numbers that identify the partitions) using the command:
sudo diskutil unmount /dev/disk3s1
  • Write the image into the micro SD card using the command:
sudo dd bs=1m if=path_del_file_img of=/dev/<sd_name>

Make sure you replace the input file if= argument with the path to your .img file, and the “/dev/“ in the output file of argument with the right device name (this is very important: you will lose all data on the hard drive on your computer if you get the wrong device name). Make sure the device name is the name of the whole micro SD card as described above, not just a partition of it (for example, rdisk3, not disk3s1)

e.g. sudo dd bs=1m if=/home/user_name/Download/2013-5-28-udoo-ubuntu.img of=/dev/rdisk3
  • After the command dd finishes run as root the command sync or if a normal user run sudo sync (this will ensure the write cache is flushed and that it is safe to unmount your micro SD card) and after run
sudo diskutil eject /dev/rdisk3
  • Your micro SD card is ready to be used. Just insert it in UDOO and boot the system.

Write the image on micro SD card Using Windows

  • Download the Win32DiskImager software here
  • Unzip it and now you have a new folder called “win32diskimager-v0.7-binary”
  • If your computer has a slot for SD cards (SD to micro SD adapter needed), insert the card. If not, insert the card into an SD card reader, then connect the reader to your computer. Note: must be formatted in FAT32!
  • Run the file named Win32DiskImager.exe

(in Windows Vista, 7 and 8 right-click this file and choose “Run as administrator”).

  • If the micro SD card (Device) you are using is not found automatically then click on the drop down box on the right and select the micro SD card letter you just plugged in (e.g. [H:\]). Note: must be formatted in FAT32!

Be careful to select the correct drive; if you get the wrong one you can destroy your data on the computer's hard disk!

  • In the Image File box, choose the .img file that you downloaded and click “Write”. Note: if a warning message appears click YES.
  • Your micro SD card is ready to be used. Just insert it in UDOO and boot the system.


Creating a bootable Micro SD card from the sources

These are instructions for a Linux system. A different way to create a bootable SD card is to compile the sources.

A bootable SD card has 3 different elements:

  • File System (Ubuntu Linaro, Yocto)
  • Kernel
  • U-Boot (Universal Bootloader)

These are the required steps to create a bootable SD card starting from the sources and using a non formatted SD card:

Download Binaries and Sources.

First you need to download the necessary Binaries and/or Sources

  • Create a development folder
mkdir <custom_path>/udoo-dev

If the folder is created in home the command will be:

cd
mkdir udoo-dev
  • then move inside the folder
 cd udoo-dev
  • Download inside the “udoo-dev” folder the compiled Kernel (uImage) for UDOO Dual or Quad from the binaries section of the website http://www.udoo.org/downloads/.

It’s also possible to download and compile the Kernel sources from the github repository https://github.com/UDOOboard/Kernel_Unico. If you decide to compile the sources you also need to download (and extract) the cross-compiler from the sources section of the website http://www.udoo.org/downloads/

After these steps in “udoo-dev” we’ll have 3 binaries: File System, U-Boot and Kernel (in case you downloaded the Kernel compiled binary), while we’ll have 2 binaries: File System and U-Boot plus 2 folders containing the Kernel sources (from the github link) and the cross-compiler.

Compiling the Kernel.

(NOTE: If you choose the Kernel Binary skip this point).

  • Move inside the folder udoo-dev/kernel/
  • Check the build configuration of the Kernel executing:
make menuconfig

and make sure the following entry is checked:

     	System Type  ---->
             Freescale MXC Implementations  --->  
                      [*] Support i.MX 6 Quad and DualLite SECO UDOO platform 
  • Start compiling with the command:
make -j8 CROSS_COMPILE=<CROSS_COMPILER_FOLDER>/bin/arm-fsl-linux-gnueabi- ARCH=arm uImage

You may be prompted to install some packages to successfully compile the kernel.

E.g. in Ubunt 10.04 you need to install the following packages:

sudo apt-get install ncurses-dev uboot-mkimage

(This operation could take up to 20 minutes)

The compiled Binary (uImage) will be available at arch/arm/boot/ folder.

Preparing the partitions on the sd card

  • Insert the SD card in the card reader.
  • Launch gparted:
sudo gparted
  • Select the right Micro SD label from the drop down menù (e.g. /dev/sdc)

(NOTE: Be sure you’re using the correct label otherwise you’ll lose every data on the hard drive on your computer if you get the wrong device name)

  • Unmount and delete the eventual Micro SD partitions

(If necessary you need to create a partition table. Select from the top menù: Device → Create Partition Table... → Apply)

  • Create a new partition with the following parameters and press Add.
Free space preceding (MiB): 10
New size (MiB): based to the SD size
Free space following (MiB): 10
Create as: Primary partition
File system: ext3 
(NOTE: ext 4 not yet supported)
Label: <UDOO_MICROSD_LABEL>
  • Press the green V form, wait for the partition to be done and exit from gparted.

Copy the file on Micro SD card

  • File System. Move Inside udoo-dev and extract the tar.gz file containing the filesystem inside the Micro SD with the following command:
tar -xzvpf <NAME_OF_TAR_FS> -C /media/<UDOO_MICROSD_LABEL>/

(This operation could take up to 30 minutes)

  • Kernel. Move inside the folder where you downloaded or compiled the uImage file and copy the binary inside the Micro SD boot folder using the following command:
sudo cp uImage /media/<UDOO_MICROSD_LABEL>/boot
  • U-Boot. Move Inside udoo-dev and copy the u-boot.bin file inside the Micro SD with the following command:
sudo dd if=u-boot.bin of=/dev/sdc bs=512 seek=2 skip=2

(NOTE: Be sure you’re using the correct label otherwise you could lose data on the hard drive on your computer if you get the wrong device name)

  • Unmount the partition you previously created using the following command:
umount /media/<UDOO_MICROSD_LABEL>
  • The Micro SD card is ready, you can now plug it on UDOO and boot the system.


Resources

[Description needed]

Community

[Description needed]

References

Home site and community

  1. Official web site http://www.udoo.org
  2. Official forum http://www.udoo.org/forum/index.php

Social account

  1. Facebook fan page http://www.facebook.com/udooboard
  2. Twitter http://twitter.com/UDOO_Board
  3. Google+ https://plus.google.com/u/0/110742692974455430878/posts
  4. YouTube http://www.youtube.com/channel/UCXv5UyGn5jArK8xOAmuSeHg