Odroid U3

Shopping List

All items on this list are needed.

Optional parts

The Odroid does harvest some power off the HDMI cable, which can leave it in a browned out state if power is disconnected and HDMI stays connected. Make sure to disconnect the HDMI cable whenever you disconnect power and only reconnect the HDMI cable after power has been connected. Note that some screens need the cable be connected during the boot process, so it should be immediately connected after power on.


Flashing the eMMC card with Ubuntu

The image can be resized from within the Odroid shell, so just flash the default size and use the Odroid tools in the next section

If, after following the installation steps below, you find the OS is not booting (red power LED is on but the blue LED remains off) it is possible that you need to run a recovery tool which will restore your eMMC card's boot sector.

Instructions on how to run the tool and the latest downloads can be found here.

Download the most recent server image from the Odroid website:

We recommend the 14.04 LTS server version as it is very small and stripped down to bare essentials, which is good for us as we don't want unnecessary clutter.

Connect the eMMC card to its adapter, insert the microSD card into a card reader (e.g. via a microSD to SD adapter).


Please refer to these instructions:


Install pv so that we can see the progress of the flashing:

sudo apt-get install pv

Note: you can flash without pv but it is nice because it takes a long time. To flash without pv just remove “| pv” from the flash commands below.

Find out the filename of the sdcard by using the command:

Remove the device first and type:

ls -al /dev/sd*

Now plug the device in and see which device is new in the list.

For this example we found “/dev/sdb”

ls -al /dev/sdb*
brw-rw---- 1 root disk 8, 16 Jan 30 01:51 /dev/sdb
brw-rw---- 1 root disk 8, 17 Jan 30 01:51 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Jan 30 01:51 /dev/sdb2

Unmount all files beginning with the device name and ending with a number for example (sdb1, sdb2):

umount /dev/sdX#
umount /dev/sdX#

Extract the image:

xz -d ubuntu-COMPLETE-NAME-HERE.img.xz

Now we are going to clear the media, this takes a long time and is optional. If you get the device name wrong it could wipe out your hard drive.

If you screw up here, you're going to wipe out your hard drive 8)

sudo dd bs=4M if=/dev/zero | pv | sudo dd of=/dev/sdX

Flash the new image:

sudo dd bs=4M if=ubuntu-COMPLETE-NAME-HERE.img | pv | sudo dd of=/dev/sdX

Finally call sync to make sure the write is finished:


Complete Linux Example

$ ls -al /dev/sdb*
brw-rw---- 1 root disk 8, 16 Jan 30 01:51 /dev/sdb
brw-rw---- 1 root disk 8, 17 Jan 30 01:51 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Jan 30 01:51 /dev/sdb2
$ sudo umount /dev/sdb1
$ sudo umount /dev/sdb2
$ cd Downloads/
$ sudo dd if=ubuntu-14.04lts-server-odroid-u-20140604.img | pv | sudo dd of=/dev/sdb
(3.4 GB) copied, 659.065 s, 5.1 MB/s
$ sync

If you are using the lubuntu graphical desktop image, this will give you a rough idea of how long it takes to upload:

(5.5 GB) copied, 947.739 s, 5.8 MB/s

Mac OS

Find out which volume is the microSD card:

If you screw up here, you're going to wipe out your hard drive 8)

diskutil list

You should get output similar to this:

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         405.5 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *62.5 GB    disk3
   1:                 DOS_FAT_32 BOOT                    134.2 MB   disk3s1
   2:                      Linux                         62.4 GB    disk3s2

Now in this case /dev/disk3 is the right one - it has ~64GB, which is the size of our eMMC card in this example. Unmount the disk:

diskutil unmountDisk /dev/disk3

Clear the media (this will take a while)

sudo dd if=/dev/zero of=/dev/rdisk3 bs=4m

Unzip the image:

xz -d xubuntu-COMPLETE-NAME-HERE.img.xz

And finally flash it:

sudo dd if=image.img of=/dev/rdisk3 bs=4m

Ensure everything has been written out to the card:


Do NOT forget to properly eject it:

diskutil eject /dev/disk3

And now connect it to your board and boot it! The blue LED should illuminate within seconds and start blinking shortly after that.

Getting the console up and running

Is is highly recommended to buy the console cable along with the kit. In case you do not have one, see below for how to connect to it via a network connection.

Download the SILabs drivers:

And install them according to the instructions on your personal computer.

If on a Mac, run:

screen /dev/tty.SLAB_USBtoUART 115200 8N1

Wifi Setup

In case you do not have a serial console cable, you can simply connect the odroid to a network via Ethernet and SSH into it. Afterwards, you can set up a WiFi adapter and connect to the board via it, untethering your setup. This makes it easy for using the board when mounted in a MAV.

Get a SSH connection to the board first via Ethernet.

TODO : mhkabir

First Boot Configuration

Connect to the Odroid via either of the two above options. Make sure your Odroid is connected to internet. Configure your Odroid (root password is 'odroid'):


Pick these options:

  • Resize your root partition

On ubuntu server odroid-utility doesn't come pre-installed and can be installed as follows:

sudo -s
wget -O /usr/local/bin/odroid-utility.sh https://raw.githubusercontent.com/mdrjr/odroid-utility/master/odroid-utility.sh
chmod +x /usr/local/bin/odroid-utility.sh   odroid-utility.sh

Get the System Up to Date

sudo apt-get update
sudo apt-get upgrade

System Timezone

Check that the correct timezone is set:

sudo dpkg-reconfigure tzdata

Check Locale

Verify that the correct locales are set by viewing/editing:


If you make any changes reboot the Odroid for them to take effect. Note this doesn't apply to the ubuntu server version.

If you don't have a locale yet, you can generate one:

  sudo apt-get install language-pack-en
  sudo locale-gen en_US
  sudo update-locale

Install Useful Packages (Not Shipped with Ubuntu Server)

 bash-complection (allows auto completion in command line)
 ssh (allows you to ssh from the board)
 apt-file (finds files in apt packages)

Install the packages that you want:

 sudo apt-get install bash-completion ssh apt-file

Ubuntu Server Power Button Fix

On ubuntu server the power button fails to halt the system, but this fixes it:

sudo apt-get install acpid

@@ -8,9 +8,9 @@
 # If logind is running, it already handles power button presses; desktop
 # environments put inhibitors to logind if they want to handle the key
 # themselves.
-if pidof systemd-logind >/dev/null; then
-    exit 0
+#if pidof systemd-logind >/dev/null; then
+#    exit 0

Now restart the daemon:

sudo restart acpid

ROS (Robot Operating System)

Translations of this page:

Quick Links

QR Code: URL of current page