Difference between revisions of "UDOO"

From eLinux.org
Jump to: navigation, search
(typo)
(58 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[File:UDOO_quad.jpg|200px|thumb|right|UDOO]] This page collects information about UDOO [http://www.udoo.org 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. [http://www.kickstarter.com/projects/435742530/udoo-android-linux-arduino-in-a-tiny-single-board 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.''
 +
{{TOC right}}
  
''Notice: The UDOO Wiki pages on this site is collaborative work - the UDOO team is not responsible for content on these pages.''
+
This page collects information about [http://www.udoo.org UDOO] the first ever small sized computer that merges in one single board an ARM cortex-A9 iMX.6 CPU and an Arduino Due compatible board embedded with a dedicated ARM SAM3X8E CPU. [http://www.kickstarter.com/projects/435742530/udoo-android-linux-arduino-in-a-tiny-single-board UDOO project has been funded through Kickstarter], raising $641,614 in sixty days thanks to 4,172 backers.
 +
 
 +
 
 +
<!--[[File:UDOO_quad.jpg|200px|thumb|right|UDOO]]-->
 +
[[File:UDOO-icons2.png|400px|UDOO]]
  
 
= What's UDOO? =
 
= 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 is a single board computer that can be used both with Android and Linux, paired with an Arduino-compatible processor. It is a powerful prototyping board for software development and design; it’s easy to use and allows developing projects with minimum knowledge of hardware design. UDOO merges different computing worlds together: each one has its proper strengths and weak points, but all of them are useful in todays life for educational purposes as well as Do-It-Yourself (DIY) and quick prototyping. UDOO is an open hardware, low-cost platform equipped with an ARM i.MX6 Freescale processor, and an Arduino Due compatible section based on ATMEL SAM3X8E ARM processor, all this available on the same board!
  
 
== UDOO goals: ==
 
== UDOO goals: ==
* Develop an innovative product for a growing market
+
*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...
+
*Give a new vision to the educational framework, with the idea of training 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
+
*Give a boost to the DIY world
* Offer a low cost embedded platform for interactive art with powerful tools: Processing, OpenCV, PureData, openFramework
+
*Offer a low cost embedded platform for interactive arts with powerful tools: Processing, OpenCV, PureData, openFramework
* Provide companies with a great tool for fast prototyping
+
*Provide companies with a great tool for fast prototyping
  
 
= Specifications =
 
= 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).
+
UDOO retail line up consists of three models, sharing most of the features and different only for connectivity and i.MX6 processor used. All three models feature an embedded Arduino compatible section based on Arduino Due schematic. UDOO’s dimensions 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
+
| [[File:Udoo.versions.jpg|500px|UDOO]] ||
* GPU Vivante GC 880 for 3D and 2D (vector graphics) + Vivante GC 320 for 2D (composition)
+
*Freescale i.MX6Quad, 2\4 x ARM® Cortex™-A9 core @ 1GHz with ARMv7A instruction set
* Accelerators for 2D, OpenGL® ES2.0 3D and OpenVG™
+
*GPU Vivante GC 2000 for 3D + Vivante GC 355 for 2D (vector graphics) + Vivante GC 320 for 2D
* Atmel SAM3X8E ARM Cortex-M3 CPU (same as Arduino DUE)
+
*Atmel SAM3X8E ARM Cortex-M3 CPU (same as Arduino Due)
* RAM DDR3 1GB
+
*RAM DDR3 1GB
* 76 fully available GPIO with Arduino-compatible R3 1.0 pinout
+
*76 fully available GPIO with Arduino compatible R3 1.0 pinout
* HDMI and LVDS + Touch
+
*HDMI and LVDS + Touch
* 2 Micro USB (1 OTG type a+b)
+
*2 Micro USB (1 OTG)
* 2 USB type A (x2) and 1 USB connector (requires a specific wire)
+
*2 USB 2.0 type A and 1 USB 2.0 internal pin header (requires adapter cable)
* Analog Audio and Mic
+
*Analog Audio and Mic jacks
* CSI Camera Connection
+
*CSI Camera Connection
* on board Micro SD card reader reader (boot device)
+
*on board Micro SD card reader (boot device)
* Power Supply (6-15V) and External Battery connector
+
*Power Supply (6-15V) and External Battery connector
* Ethernet RJ45 (10/100/1000 MBit)
+
*Ethernet RJ45 (10/100/1000 MBit)
* WiFi Module
+
*WiFi Module
* SATA connector with power plug
+
*SATA connector with power header
 +
|}
  
==UDOO Dual Basic ==
+
'''Warning: The UDOO I/O pins are 3.3V compliant. Higher voltages (like 5V) would damage the board.'''
[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
 
  
 +
Learn more about [http://www.udoo.org/faq-items/what-are-the-wrong-uses-that-invalidate-the-warranty/ wrong uses that invalidate the warranty].
  
 +
==Board Overview==
  
= Tutorials =
+
[[File:Schema UDOO Wiki.jpg|900px|frameless|center]]
 +
<!--
 +
== Micro SD Card (to be verified) ==
 +
Physical Type: microSD<br />
 +
Maximum Capacity:  ?? GB<br />
 +
Transfer rate read:  ?? MB/s<br />
 +
Transfer rate write:  ?? MB/s<br />
 +
Recommended SD Class: ??<br />
 +
See http://en.wikipedia.org/wiki/Secure_Digital#Speed_class_rating for more information.
 +
-->
 +
== GPIO features ==
 +
<!--UDOO's GPIO's can be used in different configurations, if set to SAM3X or IMX6:
 +
*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, it is possible to switch this function’s management between i.MX6 processor and SAM3X8E processor;
 +
*External SD card support through pins header: plug an external controller for an additional SD card slot or for an eMMC module.
 +
-->
  
 +
*76 fully available GPIO
 +
*Arduino-compatible R3 1.0 pinout
 +
*3,3 V Compliant
 +
*Compatible with All Arduino Due Shields and most Arduino Shields
 +
*GPIO's can be accessed as Arduino pins, GPIO's or as additional S\PDIF, FlexCAN,I2S, SPI
 +
[[UDOO_GPIO_Pinout|More informations about UDOO_GPIO_Pinout]]
  
== Creating a bootable Micro SD card from image ==
+
==Jumpers==
 +
*J2: it powers up otg bus (needs to be plugged to work with Android ADB)
 +
*J16: it resets Arduino.
 +
*J18: if plugged, it allows the microusb connector cn3 to communicate with the main processor - imx6; unplugged, cn3 communicates with Arduino.
 +
*J22: it erases the Arduino sketch.
 +
More information on UDOO Jumpers are in the [http://udoo.org/download/files/Documents/UDOO_Starting_Manual_beta0.4_11_28_2013.pdf UDOO Starting Manual].
  
This guide will allow you to create a bootable micro SD card for your UDOO board using an image file. The image file contains the UDOO Operating system, which runs the i.MX6 processor. Without the O.S., you can only use UDOO like a normal Arduino DUE (only SAM3X processor).
+
<!--
   
+
==UDOO Quad ==
Using an image is quite simple: you need to unzip the image and write it to your SD card using the dd tool for UNIX/MAC users or Win32DiskImager for Windows users. It is not possible to create a bootable card with drag and drop. Please note that the micro SD must be at least 8GB; bigger memory cards may be used but only 8GB will be available at the end of the procedure.
+
*Freescale i.MX6Quad, 4 x ARM® Cortex™-A9 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)
 +
*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)
 +
*2 USB 2.0 type A and 1 USB 2.0 internal pin header (requires adapter cable)
 +
*Analog Audio and Mic jacks
 +
*CSI Camera Connection
 +
*on board Micro SD card reader (boot device)
 +
*Power Supply (6-15V) and External Battery connector
 +
*Ethernet RJ45 (10/100/1000 MBit)
 +
*WiFi Module
 +
*SATA connector with power header
  
# Download any SD images (Ubuntu or Yocto) available from the image section of the website http://www.udoo.org/downloads/.
+
==UDOO Dual ==
# Extract the .img file from the .zip file you downloaded into a folder of your choice (this path will be referred to as <img_file_path> in the guide).
+
*Freescale i.MX6DualLite, 2x ARM® Cortex™-A9 core @ 1GHz with ARMv7A instruction set
# Follow the instructions below for the OS you use:
+
*GPU Vivante GC 880 for 3D and 2D (vector graphics) + Vivante GC 320 for 2D (composition)
 +
*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)
 +
*2 USB 2.0 type A and 1 USB 2.0 internal pin header (requires adapter cable)
 +
*Analog Audio and Mic jacks
 +
*CSI Camera Connection
 +
*on board Micro SD card reader (boot device)
 +
*Power Supply (6-15V) and External Battery connector
 +
*Ethernet RJ45 (10/100/1000 MBit)
 +
*WiFi Module
  
=== Write the image on micro SD card Using Linux: ===
+
==UDOO Dual Basic ==
 +
*Freescale i.MX6DualLite, 2x ARM® Cortex™-A9 core @ 1GHz with ARMv7A instruction set
 +
*GPU Vivante GC 880 for 3D and 2D (vector graphics) + Vivante GC 320 for 2D (composition)
 +
*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)
 +
*2 USB 2.0 type A and 1 USB 2.0 internal pin header (requires adapter cable)
 +
*Analog Audio and Mic jacks
 +
*CSI Camera Connection
 +
*on board Micro SD card reader (boot device)
 +
*Power Supply (6-15V) and External Battery connector
 +
-->
  
* 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!
+
= Getting Started =
+
{| border="1" style="background:transparent;"
* Run again
+
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
df -h
+
=== Very first start ===
 +
----
 +
*An easy step by step guide that will lead you to [http://www.elinux.org/UDOO_Getting_started boot your UDOO for the very first time].
  
* The device that wasn’t there previously is your Micro SD card.
+
*How to [http://www.elinux.org/UDOO_creating_a_bootable_Micro_SD_card_from_precompiled_image Create a bootable micro SD card for UDOO]
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 (for example “/dev/mmcblk0″ or “/dev/sdd”) to work with the entire Micro SD card.
 
  
* If your Micro SD card contains more partitions, you should unmount all of these partitions (using the right name found earlier followed by the letters and numbers that identify the partitions) using the command:
+
*Configure your UDOO with [http://elinux.org/UDOO_Configuration_Tool UDOO Configuration Tool]
e.g. sudo umount /dev/sdd1
 
  
* Write the image into the Micro SD card using the command:
+
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
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 correct 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.  (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
 
  
* Once dd completes, run the sync command as root or run sudo sync as a normal user (this will ensure the write cache is flushed and that it is safe to unmount your micro SD card) and then run:
+
=== Advanced Setup ===
sudo umount /media/<sd_label>
+
----
 +
*How to [http://www.elinux.org/UDOO_creating_a_bootable_Micro_SD_card_from_precompiled_binaries Create a bootable Micro SD card from precompiled binaries].
  
* Your micro SD card is ready to be used. Just insert it in UDOO and boot the system.
+
*How to [http://www.elinux.org/UDOO_creating_a_bootable_Micro_SD_card_from_source Create a bootable Micro SD card from sources].
  
=== Write the image on micro SD card Using Mac OSX ===
+
*How to [http://elinux.org/UDOO_kernel_update_procedure Update UDOO Kernel]
  
* From the terminal run
+
*How to [http://www.elinux.org/UDOO_boot_from_sata boot from SATA drive]
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!
+
*[[UDOO_usb_debug|Using USB Debug Connection]]
  
* Run again
+
* '''Having problems? Try the [[UDOO_TroubleShooting | Troubleshooting]] page.'''
df -h
 
  
* The device that wasn’t there previously is your Micro SD card.
+
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
Remember 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 (for example, rdisk3, not rdisk3s1. Similarly you might have another SD drive name/number like rdisk2 or rdisk4, etc. recheck it 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 contains more partitions, you should unmount all of these partitions (using the correct name found previously, followed by letters and numbers that identify the partitions) using the command:
+
=== Resources ===
sudo diskutil unmount /dev/disk3s1
+
----
 +
UDOO has a very active and growing community where to find help and new ideas
 +
* [http://www.udoo.org/ UDOO.org] is the official Website
 +
* [http://www.udoo.org/forum/ UDOO Forum] is a great place to start discussing
  
* Write the image into the Micro SD card using the command:
+
* Get started with some basic projects and tutorials:
sudo dd bs=1m if=path_del_file_img of=/dev/<sd_name>
+
**[http://www.youtube.com/user/UDOOboard UDOO YouTube Tutorials]<br />
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 (for example, rdisk3, not disk3s1).
+
**[http://www.udoo.org/tutorials/ UDOO Tutorials Section]<br />
e.g. sudo dd bs=1m if=/home/user_name/Download/2013-5-28-udoo-ubuntu.img of=/dev/rdisk3
+
**[http://www.udoo.org/projects/ UDOO Projects Section]<br />
  
* Once dd completes, run the sync command as root or run sudo sync as a normal user (this will ensure the write cache is flushed and that it is safe to unmount your micro SD card) and then run:
+
*Take a look at [http://udoo.org/download/files/Documents/UDOO_Starting_Manual_beta0.4_11_28_2013.pdf UDOO User Manual] which contains lots of useful technical informations
sudo diskutil eject /dev/rdisk3
 
  
* Your micro SD card is ready to be used. Just insert it in UDOO and boot the system.
+
*Hop on [http://en.irc2go.com/webchat/?net=freenode&room=udoo UDOO Channel] IRC Chat
  
=== Write the image on micro SD card Using Windows ===
+
|}
  
* Download the Win32DiskImager software [http://sourceforge.net/projects/win32diskimager/files/Archive/win32diskimager-v0.7-binary.zip/download 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 ==
+
= Tutorials  =
 +
{| border="1" style="background:transparent;"
 +
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
 +
=== Linux ===
 +
----
 +
*How to [http://www.elinux.org/UDOO_Installing_Debian_With_Debootstrap install a custom Debian  distro with debootstrap]
  
The following are instructions for a Linux system. A different way to create a bootable SD card is to compile the sources.
+
*How to [http://www.elinux.org/UDOO_create_a_Virtual_Machine_for_UDOO_Development Create a Virtual Machine for UDOO Development]
  
A bootable SD card has 3 different elements:
+
*Understand some basic [[Linux command line basics|linux commands]]
 +
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
  
*File System (Ubuntu Linaro, Yocto)
+
=== Android ===
*Kernel
+
----
*U-Boot (Universal Bootloader)
+
*Introduction on [[Android_Making|Making with Android]]
  
The following are the required steps to create a bootable SD card starting from the sources and using an unformatted SD card:
+
*How to [http://www.elinux.org/UDOO_compile_android_from_sources compile android from sources]
  
=== Download Binaries and Sources. ===
+
*How to [http://www.elinux.org/UDOO_Switch_between_adb_Debug_and_ADK_connection Switch between adb Debug and ADK connection]
  
First you need to download the necessary Binaries and/or Sources
+
*A useful [https://github.com/palazzem/adk-toolkit Android ADK Toolkit Library] and its [http://android-adk-toolkit.readthedocs.org/en/latest/ Docs]
  
* Create a development folder
+
*How to configure Ethernet under Android
mkdir <custom_path>/udoo-dev
+
How to [http://www.elinux.org/UDOO_configure_Ethernet_under_Android configure Ethernet under Android]
  
If the folder is created in home the command will be:
+
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
  
cd
+
=== Arduino ===
mkdir udoo-dev
+
----
 +
*How to [http://www.elinux.org/UDOO_programming_the_embedded_Arduino_microcontroller program the embedded Arduino microcontroller]
  
* then move inside the folder
+
|}
  cd udoo-dev
 
  
* Download inside the “udoo-dev” folder the '''file system''' for UDOO Dual or Quad following this link http://www.udoo.org/downloads/
+
= Resources  =
 +
{| border="1" style="background:transparent;"
 +
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
 +
=== Hardware & Accessories ===
 +
----
 +
*[[UDOO_GPIO_Pinout|UDOO_GPIO_Pinout]]
 +
*[[IMX 6 Internal and drivers pin-muxing reference]]
 +
*[[IMX6 and Sam3X Communication]]
 +
*How to [http://www.elinux.org/UDOO_setup_lvds_panels Setup LVDS Display Panels]
 +
*How to setup [[UDOO_Camera_Module|UDOO Camera Module]]
 +
*[[UDOO_watchdog|Using Watchdog Timer on UDOO]]
  
* 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/.
+
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
  
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/
+
=== Software & OS Distributions ===
 +
----
 +
*[http://www.udoo.org/downloads/#udoobuntu UDOObuntu] is the Official UDOO Linux Distribution
 +
*[http://www.udoo.org/downloads/#android Android 4.4.2.] is the Official UDOO Android Distribution
 +
*List of all [http://www.udoo.org/downloads/ UDOO Distributions available]
  
*  Download inside the “udoo-dev” folder the '''U-Boot''' file (u-boot.bin) from the binaries section http://www.udoo.org/downloads/
 
  
Once completed these steps in “udoo-dev” you should have 3 binary files: File System, U-Boot and Kernel (in case you downloaded the Kernel compiled binary), while you should 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/
+
| style="width:33%; vertical-align:top; border:1px solid #aaa; padding-left:5px;" |
   
 
* Check the build configuration of the Kernel executing:
 
  
make menuconfig
+
=== Additional Resources ===
 +
----
 +
*Node-udoo is an abstraction library for Node.js complete with command line tools (callback, promise, and synchronous styles supported)
 +
**[https://www.youtube.com/watch?v=tjS-Fe-7dDA Introductory/demo video]
 +
**[https://github.com/pilwon/node-udoo Project homepage]
 +
**[http://www.udoo.org/forum/viewtopic.php?f=8&t=431&p=3595#p3595 Installing the latest node.js is covered in this forum post]
  
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:
+
= Official Accessories =
  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.
+
== UDOO Camera Module ==
 +
{|
 +
|-
 +
|  ||
  
E.g. in Ubunt 10.04 you need to install the following packages:
 
  
sudo apt-get install ncurses-dev uboot-mkimage
+
{|
 +
|-
 +
|
 +
*Auto focus control (AFC) with embedded AF VCM driver
 +
*Sensitivity: 600mV/lux-sec
 +
*Video capture in Full Field of View (FOV): double sensitivity,improved signal-to.noise ratio (SNR)
 +
*Post-binning re-sampling filter for sharper, crisper contours and colours
 +
*Internal anti-shaking engine
 +
*Image transfer rate
 +
VGA (320x480) @120fps
 +
VGA (640x480) @90fps
 +
720p @60fps
 +
1280x960 @45fps
 +
1080p @30fps
 +
QSXGA (2592x1944) @15fps
  
(This operation could take up to 20 minutes)
+
[[UDOO_Camera_Module|More informations about UDOO Camera Modules]]
  
The compiled Binary (uImage) will be available in the arch/arm/boot/ folder.
+
[http://udoo.org/download/files/datasheets/datasheet_camera.pdf UDOO Camera Module Datasheet]
  
=== Preparing the partitions on the sd card ===
 
  
* Insert the SD card in the card reader.
+
|| [[File:UDOO Camera.jpg|300px|thumbnail|left]]
 +
|}
  
* Launch gparted:
 
sudo gparted
 
  
* Select the right Micro SD label from the drop down menù
 
'''(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)'''
 
e.g.  /dev/sdc
 
  
* Unmount and delete the eventual Micro SD partitions
+
== UDOO LVDS Touch Screens ==
(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.
+
'''7" Touch Panel Kit'''
  
Free space preceding (MiB): 10
+
{|
New size (MiB): based to the SD size
+
|-
Free space following (MiB): 10
+
|
Create as: Primary partition
+
*7" TFT RGB Display
File system: ext3
+
*I2C Touch Screen
(NOTE: ext 4 not yet supported)
+
*Dual Touch
  Label: <UDOO_MICROSD_LABEL>
+
*Resolution 800X480
 +
*UDOO_VK-7T video cable for UDOO
 +
*LCD BOARD ADAPTER  
  
* Press the green V form, wait for the partition to be done and exit gparted.
+
How to [http://www.elinux.org/UDOO_setup_lvds_panels setup lvds panels]
  
=== Copy the file on Micro SD card ===
+
[http://udoo.org/download/files/datasheets/datasheet7.pdf UDOO 7" Touch Panel Display Kit Datasheet]
 +
|| [[File:UDOO_LVDS_7.jpg|300px|thumbnail|right]]
 +
|}
  
* 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 previously 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:
+
'''15" Touch Panel Kit'''
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)'''
+
|-
 +
|
 +
*15,6" LVDS Display
 +
*USB Capacitive Touch Screen
 +
*Resolution 1366X768 24bit
 +
*UDOO_VK-15T video cable for UDOO
 +
*USB CABLE for Third UDOO'USB
 +
*Touch Controller Board
  
* Unmount the partition you previously created using the following command:
 
umount /media/<UDOO_MICROSD_LABEL>
 
  
* The Micro SD card is ready, you can now insert it on UDOO and boot the system.
+
How to [http://www.elinux.org/UDOO_setup_lvds_panels setup lvds panels]
  
== Programming the Sam3x ==
+
[http://udoo.org/download/files/datasheets/datasheet15.pdf UDOO 15" Touch Panel Display Kit Datasheet]
 +
|| [[File:UDOO_LVDS_15.jpg|300px|thumbnail|right]]
 +
|}
  
In order to upload sketches to the SAM3X, the flash memory needs to be erased before being re-programmed. While Arduino DUE uses an ATmega16U2 microcontroller to perform this procedure, UDOO uses the iMx6 processor which is directly linked to the erase and reset pins of the Sam3x managed during the program phase.
 
  
There are 3 ways to program the Sam3x processor: With an external PC/MAC using the mini-usb cable connected to the CN6 port without any mirco SD inserted; Using the mini-usb cable connected to the CN6 port with mirco SD inserted and OS booted; Directly from UDOO under Ubuntu OS.
 
  
'''NOTE: At this stage the only way to program the Sam3x is to manually erase and reset the processor (method number 1):'''
 
  
+
= Community =
=== With an external PC using the mini-usb cable connected to the CN6 port without any mirco SD inserted ===
 
  
Using this method '''the iMx6 processor doesn’t boot any kernel or file system'''. UDOO is used as a simple Arduino DUE.
+
'''Forums'''
 +
The official UDOO forums can be found at http://www.udoo.org/forum
  
In this case you just need a '''working Arduino IDE 1.5.2''' installed on your PC/MAC (http://arduino.cc/en/main/software).
+
The forum search facility has been tweaked to allow more general searching. '''Please''' do a search before making a post as the issue may already have been raised and answered.
  
Once the sketch is defined, you need to follow these steps:
 
* The '''micro SD''' with the OS installed must be '''removed''';
 
* The jumper in the '''j18 connector must be unplugged''', this allows the communication with the programming port of Sam3x;
 
* Insert the '''jumper in the j22 connector''' for 1 second and remove it (to erase the old sketch in SAM3X);
 
* Insert the '''jumper in the j16 connector''' for 1 second and remove it (to reset the SAM3X);
 
* Select from the IDE: Tools –> Board –> Arduino DUE programming port
 
* Select the correct serial COM from the IDE;
 
* Send the sketch using the IDE upload button.
 
 
===Using the mini-usb cable connected to the CN6 port with mirco SD inserted and OS booted ===
 
At this stage the board doesn’t support this option.
 
 
=== Directly from UDOO under Ubuntu OS ===
 
At this stage the board doesn’t support this option.
 
  
= Resources =
+
'''IRC'''
[Description needed]
+
There is an (unofficial) UDOO discussion channel on IRC.
 
+
Using the IRC client of your choice, use server information: irc.freenode.net. Room name is #udoo.
= Community =
 
[Description needed]
 
  
= References =
 
 
== Home site and community ==
 
== Home site and community ==
 
# Official web site http://www.udoo.org
 
# Official web site http://www.udoo.org

Revision as of 04:24, 2 September 2015

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

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


UDOO

What's UDOO?

UDOO is a single board computer that can be used both with Android and Linux, paired with an Arduino-compatible processor. It is a powerful prototyping board for software development and design; it’s easy to use and allows developing projects with minimum knowledge of hardware design. UDOO merges different computing worlds together: each one has its proper strengths and weak points, but all of them are useful in todays life for educational purposes as well as Do-It-Yourself (DIY) and quick prototyping. UDOO is an open hardware, low-cost platform equipped with an ARM i.MX6 Freescale processor, and an Arduino Due compatible section based on ATMEL SAM3X8E ARM processor, all this available on the same board!

UDOO goals:

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

Specifications

UDOO retail line up consists of three models, sharing most of the features and different only for connectivity and i.MX6 processor used. All three models feature an embedded Arduino compatible section based on Arduino Due schematic. UDOO’s dimensions are: 4.33 inch x 3.35 inch (11 cm x 8.5 cm).


UDOO
  • Freescale i.MX6Quad, 2\4 x ARM® Cortex™-A9 core @ 1GHz with ARMv7A instruction set
  • GPU Vivante GC 2000 for 3D + Vivante GC 355 for 2D (vector graphics) + Vivante GC 320 for 2D
  • 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)
  • 2 USB 2.0 type A and 1 USB 2.0 internal pin header (requires adapter cable)
  • Analog Audio and Mic jacks
  • CSI Camera Connection
  • on board Micro SD card reader (boot device)
  • Power Supply (6-15V) and External Battery connector
  • Ethernet RJ45 (10/100/1000 MBit)
  • WiFi Module
  • SATA connector with power header

Warning: The UDOO I/O pins are 3.3V compliant. Higher voltages (like 5V) would damage the board.

Learn more about wrong uses that invalidate the warranty.

Board Overview

Schema UDOO Wiki.jpg

GPIO features

  • 76 fully available GPIO
  • Arduino-compatible R3 1.0 pinout
  • 3,3 V Compliant
  • Compatible with All Arduino Due Shields and most Arduino Shields
  • GPIO's can be accessed as Arduino pins, GPIO's or as additional S\PDIF, FlexCAN,I2S, SPI

More informations about UDOO_GPIO_Pinout

Jumpers

  • J2: it powers up otg bus (needs to be plugged to work with Android ADB)
  • J16: it resets Arduino.
  • J18: if plugged, it allows the microusb connector cn3 to communicate with the main processor - imx6; unplugged, cn3 communicates with Arduino.
  • J22: it erases the Arduino sketch.

More information on UDOO Jumpers are in the UDOO Starting Manual.


Getting Started

Very first start


Advanced Setup


Resources


UDOO has a very active and growing community where to find help and new ideas

  • Take a look at UDOO User Manual which contains lots of useful technical informations


Tutorials

Linux


Android


  • How to configure Ethernet under Android

How to configure Ethernet under Android

Arduino


Resources

Hardware & Accessories


Software & OS Distributions




Additional Resources



Official Accessories

UDOO Camera Module


  • Auto focus control (AFC) with embedded AF VCM driver
  • Sensitivity: 600mV/lux-sec
  • Video capture in Full Field of View (FOV): double sensitivity,improved signal-to.noise ratio (SNR)
  • Post-binning re-sampling filter for sharper, crisper contours and colours
  • Internal anti-shaking engine
  • Image transfer rate

VGA (320x480) @120fps VGA (640x480) @90fps 720p @60fps 1280x960 @45fps 1080p @30fps QSXGA (2592x1944) @15fps

More informations about UDOO Camera Modules

UDOO Camera Module Datasheet


UDOO Camera.jpg


UDOO LVDS Touch Screens

7" Touch Panel Kit

  • 7" TFT RGB Display
  • I2C Touch Screen
  • Dual Touch
  • Resolution 800X480
  • UDOO_VK-7T video cable for UDOO
  • LCD BOARD ADAPTER

How to setup lvds panels

UDOO 7" Touch Panel Display Kit Datasheet

UDOO LVDS 7.jpg



15" Touch Panel Kit

  • 15,6" LVDS Display
  • USB Capacitive Touch Screen
  • Resolution 1366X768 24bit
  • UDOO_VK-15T video cable for UDOO
  • USB CABLE for Third UDOO'USB
  • Touch Controller Board


How to setup lvds panels

UDOO 15" Touch Panel Display Kit Datasheet

UDOO LVDS 15.jpg



Community

Forums The official UDOO forums can be found at http://www.udoo.org/forum

The forum search facility has been tweaked to allow more general searching. Please do a search before making a post as the issue may already have been raised and answered.


IRC There is an (unofficial) UDOO discussion channel on IRC. Using the IRC client of your choice, use server information: irc.freenode.net. Room name is #udoo.

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