Quick User Guide



This page offers information on how to get started with your ESPRESSObin board, boot it for the first time and make sure all components are working fine.

For instructions on how to compile system components and boot them from microSD card, see Software HowTo.

I/O ports and connectors

Available ports and connectors differ depending on the ESPRESSObin hardware version. For an in-detail view of the available connectors, see ESPRESSObin Ports and Interfaces.

The images below show available connectors on ESPRESSObin version 7:

Espressobin V7 Top Transparent

Espressobin V7 Bottom Transparent

With enclosure

As of hardware revision 7, users can order a plastic or a metal enclosure for their ESPRESSObin boards. I/O ports and connectors with the enclosure are shown on the images below:

Espressobin V7 Enclosure Front

Espressobin V7 Enclosure Back

The LED locations and interfaces are identical regardless of the chosen enclosure.

ESPRESSObin v5 and older revisions

Click on the images below to see available connectors on ESPRESSObin version 5 and older revisions:

Top View ESPRESSObin

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)

In case you want to flash a different kernel or file system onto the ESPRESSObin board, see Software HowTo page for tutorials on how to build the kernel or supported distributions from source.


Connecting various peripherals to the board functions as following:

Espressobin Connecting

  1. Plug your power adapter to the 12V DC Jack. Make sure that an SD card with a valid, running distribution is inserted in the microSD card slot on the ESPRESSObin board.
  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 on the ESPRESSObin board.
  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

Step 2 from the above procedure requires that access to the console is acquired using a serial connection. Follow the tutorial for your OS below:

Start using ESPRESSObin

Now let's move onto booting one of the supported distributions on ESPRESSObin. The following subsections show logs for Buildroot and Ubuntu 16.04.


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

U-Boot 2017.03-armada-17.10.2-g14aeedc (Jun 01 2018 - 15:39:10 +0800)

Now we are prompted with the Buildroot login:

Welcome to Buildroot
buildroot login: root

We log in 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-g4271698 #3 SMP PREEMPT Thu Feb 9 13:36:58 CET 2017 aarch64 aarch64 aarch64 GNU/Linux


When booting Ubuntu you will be logged in automatically:

Ubuntu 16.04.3 LTS espressobin ttyMV0

espressobin login: root (automatic login)

Last login: Tue Oct 30 15:21:33 UTC 2018 on ttyMV0
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.52-armada-17.10.3-g9095f3a aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Check the kernel version with uname -a command:

root@localhost:~# uname -a
Linux espressobin 4.4.52-armada-17.10.3-g9095f3a #132 SMP PREEMPT Thu May 31 11:13:10 CST 2018 aarch64 aarch64 aarch64 GNU/Linux

Initial network setup

Following subsections show how to set up basic networking on Buildroot and Ubuntu distributions.


Firstly we will 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 verify that the IP address has been obtained:

# ifconfig -a
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)

Check the Internet connection with ping:

# 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
--- 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 set up 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

The following subsections will verify that the USB ports on ESPRESSObin are functional.


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:

WTMI: system early-init
SVC REV: 4, CPU VDD voltage: 1.120V

Fill memory before self refresh...done

Now in Self-refresh Mode
Exited self-refresh ...

Self refresh Pass.
DDR self test mode test done!!
Vref read training
Final vdac_value 0x00000022

Vref write training
Final vref_value 0x0000001F

   DLL 0xc0001050[21:16]: [1,33,1a]
   DLL 0xc0001050[29:24]: [3,2e,18]
   DLL 0xc0001054[21:16]: [8,2d,1a]
   DLL 0xc0001054[29:24]: [c,2d,1c]
   DLL 0xc0001074[21:16]: [0,3f,1f]
   DLL 0xc0001074NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v1.3(release):armada-17.10.3:39a62a1
NOTICE:  BL1: Built : 15:40:57, Jun  1 2NOTICE:  BL2: v1.3(release):armada-17.10.3:39a62a1
NOTICE:  BL2: Built : 15:40:59, Jun  1 201NOTICE:  BL31: v1.3(release):armada-17.10.3:39a62a1

U-Boot 2017.03-armada-17.10.2-g14aeedc (Jun 01 2018 - 15:39:10 +0800)

Model: Marvell Armada 3720 Community Board ESPRESSOBin
       CPU    @ 1000 [MHz]
       L2     @ 800 [MHz]
       TClock @ 200 [MHz]
       DDR    @ 800 [MHz]
DRAM:  1 GiB
U-Boot DT blob at : 000000003f7161b8
Comphy-0: USB3          5 Gbps    
Comphy-1: PEX0          2.5 Gbps  
Comphy-2: SATA0         6 Gbps    
SATA link 0 timeout.
AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode
flags: ncq led only pmp fbss pio slum part sxs 
PCIE-0: Link down
MMC:   sdhci@d0000: 0, sdhci@d8000: 1
SF: Detected mx25u3235f with page size 256 Bytes, erase size 64 KiB, total 4 MiB
Net:   eth0: neta@30000 [PRIME]

Next steps

To build various supported distributions from source and boot them on ESPRESSObin, visit  Software HowTo.

For various networking, media server and other distribution-specific tutorials, visit Getting Started Tutorials.