UDOO


UDOO is a single-board computer with an integrated Arduino Due compatible microcontroller, designed for computer science education, the world of Makers and the Internet of Things.
The product was launched on Kickstarter in April 2013, reaching wide consensus.
"The product line involves three single board computers – UDOO QUAD/DUAL, UDOO NEO, UDOO X86 – that differ over various aspects, plus the UDOO BLU and the set of UDOO BRICKS."
UDOO is a development platform that merges a Dual or Quad Core ARM Freescale Cortex-A9 i.MX 6 CPU, that can run Linux or Android operating systems, and an Arduino Due compatible board with a dedicated ARM Atmel SAM3X8E CPU.
UDOO is a joint effort of AIDILAB srl and SECO USA Inc, from an idea of Antonio Rizzo, Maurizio Caporali and Daniele Conti, born in collaboration with a multidisciplinary team of researchers with expertise in interaction design, embedded systems, sensor networks and cognitive science.

History

;Kickstarter campaign
The UDOO project was launched on Kickstarter on April 9, 2013 by AidiLab — a Siena University startup — and SECO - an embedded computing firm - and reached the goal of $27,000 in about 40 hours. The goal was well exceeded as 4,172 backers pledged $641,614.

Hardware

The UDOO board is equipped with two CPUs. The Freescale i.MX 6 is an ARM Cortex A9 processor based on ARM v7 instruction set. Next generation graphics and high-definition video are central in the i.MX 6 series. The i.MX 6 series supports up to 1080p60 video playback, enabling exceptional high-quality videos with low power consumption for devices playing high-definition content. The 3D graphics engine in the top of the line i.MX 6 Quad and i.MX 6 Dual processors are capable of providing up to 200 Mt/s, which enables ultra-vivid, realistic graphics critical for multimedia. These applications combine the power of the main cores with the until-now-untapped potential of the 3D engine to perform computational tasks.
Otherwise Atmel SAM3X implements real-time computing and allows full compatibility with Arduino Due prototyping board. With this solution UDOO can be used like an Arduino Due microcontroller and programmed in the same way.
They are both stand-alone with different clocks and no shared memory. They both process their tasks asynchronously without any kind of emulation.
They do however share some communication channels:
The i.MX 6 Dual/6 Quad application processors are the latest additions of Freescale Semiconductor to a growing family of multimedia-focused products offering high performance processing optimized for lowest power consumption.
The i.MX 6 Dual/6 Quad processors feature Freescale's advanced implementation of the ARM Cortex-A9 core, which can be interfaced with DDR3-1066, LV-DDR3-1066 and LPDDR2-1066 DRAM memory devices.

Freescale i.MX 6

The i.MX 6 Dual/6 Quad Processor is based on the ARM Cortex A9 MPCore Platform, which has the following features:
The ARM Cortex A9 MPCore complex includes:
The i.MX 6 Quad processor makes use of dedicated Hardware accelerators in order to meet the targeted multimedia performance. The use of HW accelerators is a key factor inobtaining high performance at low power consumption numbers, while keeping the CPU core relatively free to perform other tasks.
The i.MX 6 Quad processor incorporates the following hardware accelerators:
Miscellaneous IPs and interfaces:
;Atmel SAM3X
Atmel’s SAM3X/A series is a member of a family of Flash microcontrollers based on the high performance 32-bit ARM Cortex-M3 RISC processor. It operates at a maximum speed of 84 MHz and features up to 512 Kbytes of Flash and up to 100 Kbytes of SRAM. The peripheral set includes a High Speed USB Host and Device port with embedded transceiver, an Ethernet MAC, 2x CANs, a High Speed MCI for SDIO/SD/MMC, an External Bus Interface with NAND Flash controller, 5x UARTs, 2x TWIs, 4x SPIs, as well as 1 PWM timer, 9x general-purpose 32- bit timers, an RTC, a 12-bit ADC and a 12-bit DAC. The SAM3X/A series is ready for capacitive touch thanks to the QTouch library, offering an easyway to implement buttons, wheels and sliders. The SAM3X/A architecture is specifically designed to sustain high speed data transfers. It includes a multi-layer bus matrix as well as multiple SRAM banks, PDC and DMA channels that enable it to run tasks in parallel and maximize data throughput. It operates from 1.62V to 3.6V and is available in 100- and 144-pin QFP and LFBGA packages. The SAM3X/A devices are particularly well suited for networking applications: industrial and home/building automation, gateways.
;Processor connectivity
The Freescale i.MX 6 and the Atmel SAM3X are connected through a UART Serial Port embedded on the board. It works exactly like an Arduino connected to an external computer with a USB cable. The SAM3X and Linux communicate on a two way channel, exchanging messages with a tested baudrate of 115200.
This serial connection is also accessible from the external pins 0 and 1 of the Arduino compatible pinout. The SAM3X programming port is accessible in the same way as Arduino Due: via a USB-to-serial converter or directly on the external pinout. The serial UART is connected to the iMX 6 pins KEYROW0 and KEYCOL0. On the SAM3X side it is connected to pins URXD and UTXD. The shared serial is also available through the micro-USB plug CN6. By removing the J18 jumper, you can communicate on the same channel, which now becomes shared.
;Memory
UDOO uses 4 Micron MT41J256M16RE-15E RAM modules for a total of 1GByte. The clock frequency is 400mhz for UDOO Dual and 528mhz for UDOO Quad.
The memory system consists of the following levels:
;Ethernet
The MAC-NET core, in conjunction with a 10/100/1000 MAC, implements layer 3 network acceleration functions. These functions are designed to accelerate the processing of various common networking protocols, such as IP, TCP, UDP, and ICMP, providing wire speed services to client applications. UDOO uses KSZ9031RNX Ethernet transceiver. It is a completely integrated triple-speed Ethernet physical layer transceiver for transmission and reception of data on standard CAT-5 unshielded twisted pair cable. The KSZ9031RNX provides the Reduced Gigabit Media Independent Interface for direct connection to RGMII MACs in Gigabit Ethernet processors and switches for data transfer at 10/100/1000 Mbit/s. The KSZ9031RNX reduces board costs and simplifies board layout by using on-chip termination resistors for the four differential pairs and by integrating an LDO controller to drive a low-cost MOSFET to supply the 1.2V core.
;Wi-Fi Module
GWF-3M08 is a WLAN module supporting IEEE 802. 11 b/g/n standards with 6-pin connector supporting USB 2.0 /1.1 interface. This is a small form factor and low cost compact WLAN
module designed for the wireless connectivity of products with embedded system.
This module operates in 2.4 GHz ISM frequency band, it applies a highly integrated MAC/BBP
and RF single chip RT5370 with 150Mbit/s PHY rate supporting. This module can be built-in other embedded applications such as IP Camera, IP set top box, GPS, Internet radio apparatus, it can be directly soldered on a main PCB.
Features:
Front connectors and ports:
Up-side connectors and ports:
;GPU
Summary of features in the GPU3D includes:
;LVDS panels
UDOO provides one of the two i.MX 6 LVDS outputs to the external pinout. This input is used to communicate RGB data and controls to external LCD displays with LVDS interface, or through LVDS receivers.
The LVDS port may be used as one single-channel output.
;USB OTG - Android Accessory Mode
When you boot Android, the OTG BUS is switched to connect to the SAM3X; therefore, the connection is between the two processors. If you plug a USB cable to CN3 it doesn’t work since it is disconnected.
With this setup, the i.MX 6 can communicate with the SAM3X using the Android ADK protocol. To do this you must program the SAM3X with a sketch which includes specific libraries and installs an app on Android configured to use the ADK protocol.

Specifications

Summary

UDOO is based on a Dual or Quad core ARM cortex-A9 CPU delivering great performance on both Android and Linux OS, and a dedicated ARM processor for the GPIO. The specifications are:
The available accessories are:
The Udoo board comes with two micro SD card with Android and Ubuntu Linux installed.

Development

Applications