Quick User Guide


This page offers information on how to get a quick start with your ESPRESSObin board, boot it for the first time and make sure everything is working fine. For instructions on how to compile system components and boot them from microSD card, see Software HowTo.

I/O ports and connectors

First, let us see what ports and connectors are available on the ESPRESSObin board. On the top of the board we have:

Top View ESPRESSObin

whereas on the bottom of the board we have the micro SD card slot:

Bottom View ESPRESSObin


Here is what you will need to power up the board:

  • Linux or Windows PC
  • ESPRESSObin board with micro SD card containing necessary images and file system
  • 12V power adapter
  • micro USB cable
  • IP router or IP switch
  • USB 3.0 Flash disk (optional)
  • SATA HDD (optional)

Your ESPRESSObin unit should come with a preprogrammed Buildroot file system. If that is not the case or you want to flash a different kernel or file system to the board, check out Software HowTo page.


Connecting various peripherals to the board functions as following:

Connection 8

  1. Plug your power adapter to the 12V DC Jack.
  2. Connect your PC to your board by plugging the micro USB cable to a USB port on your laptop/computer and plugging the other end to the 5V Micro USB port (J5) on ESPRESSObin.
  3. Connect one end of an Ethernet cable to the WAN port on your ESPRESSObin and the other end to your IP router or IP switch.
  4. Connect one end of a second Ethernet cable to one of the GbE LAN ports and the other end to your laptop/computer.
  5. (Optional) Connect your HDD to the board by connecting the data cable to the SATA HDD data cable slot and the power cable to the SATA HDD power slot.

Serial connection

Regarding step 2 from above, we will use serial connection to access console on ESPRESSObin. Follow the tutorial for your OS to make sure you have everything needed:

Start using ESPRESSObin


When the ESPRESSObin starts to boot, you can check your U-Boot version:

U-Boot 2015.01-devel-16.12.0 (Jan 17 2017 - 08:57:22)

Now we are prompted with the Buildroot login:

Welcome to Buildroot
buildroot login: root

We login with root where no password is needed.

Once in Buildroot, we can check the kernel version using the uname -a command:

# uname -a
Linux buildroot 4.4.8-armada-17.02.1-g7aeb724 #2 SMP PREEMPT Tue Feb 7 16:48:36 CET 2017 aarch64 GNU/Linux


When booting Ubuntu you will be logged in automatically:

Ubuntu 14.04 LTS localhost.localdomain ttyMV0

localhost login: root (automatic login)

Ubuntu 14.04 LTS localhost.localdomain ttyMV0

localhost login: root (automatic login)

Welcome to Ubuntu 14.04 LTS (GNU/Linux 4.4.8-armada-17.02.1-g7aeb724 aarch64)

 * Documentation:  https://help.ubuntu.com/

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.


and you can also check kernel version with uname -a command:

root@localhost:~# uname -a
Linux localhost.localdomain 4.4.8-armada-17.02.1-g4271698 #3 SMP PREEMPT Thu Feb 9 13:36:58 CET 2017 aarch64 aarch64 aarch64 GNU/Linux

Initial network setup


First thing we want for now is to configure ESPRESSObin as a network client, that is, acquire an IP address through the wan interface . Connect one end of an Ethernet cable to the WAN port on ESPRESSObin and the other end to your router or IP switch. In the Buildroot shell insert the following commands to configure eth0 interface to use DHCP for obtaining an IP address:

# ifconfig eth0 up
# dhclient wan
[  162.790397] IPv6: ADDRCONF(NETDEV_UP): wan: link is not ready
[  164.323110] dsa dsa@0 wan: Link is Down
[  165.331782] dsa dsa@0 wan: Link is Up - 100Mbps/Full - flow control rx/tx
[  165.338761] IPv6: ADDRCONF(NETDEV_CHANGE): wan: link becomes ready

using ifconfig command we can verify that the IP address has been obtained, e.g.:

# ifconfig 
eth0      Link encap:Ethernet  HWaddr F0:AD:4E:03:5F:30  
          inet6 addr: fe80::f2ad:4eff:fe03:5f30%8270400/64 Scope:Link
          RX packets:460 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:532 
          RX bytes:38118 (37.2 KiB)  TX bytes:3456 (3.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:  Mask:
          inet6 addr: ::1%8272704/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:140 (140.0 B)  TX bytes:140 (140.0 B)

wan       Link encap:Ethernet  HWaddr F0:AD:4E:03:5F:30  
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::f2ad:4eff:fe03:5f30%8271552/64 Scope:Link
          RX packets:287 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17784 (17.3 KiB)  TX bytes:1948 (1.9 KiB)

we can also ping any IP address on the web to check our Internet connection, e.g.

# ping www.google.com
PING www.google.com ( 56 data bytes
64 bytes from seq=0 ttl=54 time=49.404 ms
64 bytes from seq=1 ttl=54 time=48.036 ms
64 bytes from seq=2 ttl=54 time=48.721 ms
--- www.google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 48.036/48.720/49.404 ms

See Buildroot - initial network configuration on how to setup routing and more.


To enable router functionality on vanilla Ubuntu, the kernel has to be compiled with several NETFILTER/IPTABLES/NAT features. Instructions on how to do this are described in Ubuntu - initial network configuration.

USB Detection


Connect your USB to the USB2.0 port to see if it is detected correctly. Example output:

# [ 904.012191] usb 1-1: USB disconnect, device number 3
[ 908.879720] usb 1-1: new high-speed USB device number 4 using orion-ehci
[ 909.020837] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 909.032505] scsi host4: usb-storage 1-1:1.0
[ 910.038223] scsi 4:0:0:0: Direct-Access       SanDisk Cruzer Blade    1.00 PQ: 0 ANSI: 6
[ 910.049274] sd 4:0:0:0: [sdb] 15630336 512-byte logical blocks: (8.00 GB/7.45 GiB)
[ 910.058262] sd 4:0:0:0: [sdb] Write Protect is off
[ 910.063669] sd 4:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 910.082282] sdb: sdb1
[ 910.087265] sd 4:0:0:0: [sdb] Attached SCSI removable disk



Plug in your USB3.0 in the designated USB3.0 port on the board. Check in the Buildroot to see if your USB was recognized. Example output:

# [ 4476.431702] usb 2-1: new high-speed USB device number 2 using xhci-hcd
[ 4476.630042] usb-storage 2-1:1.0: USB Mass Storage device detected
[ 4476.640897] scsi host1: usb-storage 2-1:1.0
[ 4477.647064] scsi 1:0:0:0: Direct-Access      Verbatim STORE N GO     PMAP PQ: 0 ANSI: 6
[ 4479.652782] sd 1:0:0:0: [sda] 15130624 512-byte logical blocks: (7.75 GB/7.21 GiB)
[ 4479.661177] sd 1:0:0:0: [sda] Write Protect is off
[ 4479.666693] sd 1:0:0:0: [sda] No Caching mode page found
[ 4479.671990] sd 1:0:0:0: [sda] Assuming drive cache: write through
[ 4479.683392] sda: sda1
[ 4479.687833] sd 1:0:0:0: [sda] Attached SCSI removable disk

Additionally, you can use lsusb command in the console to get information on devices connected to USB buses:

# lsusb
Bus 001   Device 004:   ID   0781:5567
Bus 002   Device 002:   ID   18a5:0302
Bus 001   Device 001:   ID   1d6b:0002
Bus 002   Device 001:   ID   1d6b:0002
Bus 003   Device 001:   ID   1d6b:0003


Checking reset key

After you press the reset key on your ESPRESSObin board, the system should reboot:

# Booting Trusted Firmware
BL1: v1.2(release):devel-16.07.3:
BL1: Built : 05:24:14, Sep 1 2NOTICE: BL2: v1.2(release):devel-16.07.3:
NOTICE: BL2: Built : 05:24:17, Sep 1 2016
NNOTICE: BL31: v1.2(release):devel-16.07.3:
NOTICE: BL31:EEPROM configuration pattern not detected. Loading default FDT

U-Boot 2015.01-devel-16.07.2 (Sep 14 2016 - 07:35:09)

I2C:          ready
DRAM:   512 MiB
Board:  DB-88F3720-DDR3-Modular
        CPU       @ 800 [MHz]
        L2           @ 800 [MHz]
        TClock @ 200 [MHz]
        DDR       @ 800 [MHz]
Comphy-0: PEX0          2.5 Gbps
Comphy-1: USB3_HOST0    5 Gbps