Getting Started with M2 Ultra & Berry

From Banana Pi Wiki
Revision as of 03:10, 21 May 2018 by JackZengWiki (talk | contribs) (Created page with "=Introduction= thumb|Overview: BPI-M2U respbian linux Banana Pi BPI-M2 Ultra is a quad-core mini single board computer built with Allwinner R40 SoC...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


File:M2p respbian.jpg
Overview: BPI-M2U respbian linux

Banana Pi BPI-M2 Ultra is a quad-core mini single board computer built with Allwinner R40 SoC. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M2 Ultra has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, a DC power port, and last but not least, a SATA port..


Key Features

  • Quad Core ARM Cortex A7 CPU R40
  • 8 GB eMMC storage
  • WiFi (AP6212) & Bluetooth onboard
  • SATA Interface


Let's get start to develop on BPI-M2U, see amazing things happen.

Basic Development

Prepare to develop

 1.Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System
 2.Using your USB-Serial Connect debug console on M2P

Load your first image on M2U

 1.You could download latest image from our forum
 * Here is the example forum thread link: 
 2.Install bpi-tools on your system
 * apt-get install pv
 * curl -sL | sudo -E bash
 3.After you download the image, insert your TF card into your Ubuntu
 * Execute "bpi-copy xxx.img /dev/sdx" to install image on your TF card.
 4.After step 3, then you can insert your TF card into M2U, and press power button setup M2U.

Advanced Development


1. Mount SATA on M2U

 M2U Sata.png
  • After insert sata interface, execute "fdisk -l"
 M2U Sata fdisk l.png
  • Then "mount /dev/sdx /mnt/xxx"

2. If you meet some errors when you mount SATA, try these following commands:

  • "fdisk /dev/sdx" to create new partition , after created input "wq" to save and quit.
  • "mkfs.ext2 /dev/sdx" to format the SATA
  • "mount /dev/sdx /mnt/xxx"

3. After you success to insert SATA, we could input following commands to test SATA interface:

  • "time dd if=/dev/xxx of=/dev/null bs=1M count=1000" to test read speed
  • "time dd if=/dev/zero of=/dev/sdx bs=1M count=1000" to test write speed
 Sata test.png


1. On M2U console:

  • Execute "./", then execute "ps -ax | grep adbd" to see if adbd is set up
 M2P ADBD.png

2. On PC terminal:

  • If adbd was succeed to set up, insert OTG-USB interface to M2U and PC(with Ubuntu system)
  • Execute "adb devices" to see if PC has recognised M2U OTG
  • If yes, we could execute "adb shell" to connect M2U by adb now
 M2P ADBD Shell.png

LCD 5" & LCD 7"

  • Execute "bpi-bootsel", you'll see a list of boot files
  • Find "BPI_M2U_LCD7.img.gz"
  • Then execute "bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m2u/BPI_M2U_LCD7.img.gz"
 M2U bootsel lcd7.png

Touch screen


Use iperf3 to test gmac

1. On PC Terminal:

  • Execute "iperf3 -s"

2. On M2U console:

  • TCP test: "iperf3 -c serverIP"
  • UDP test: "iperf3 -u -c serverIP"

M2U Gmac test.png


  • Use bluetoothctl tool to operate BT
  • Execute "bluetoothctl"
  • If you don't know how to use bluetoothctl, type "help", you will see more commands
  • Execute these commands:

M2U bluetooth.png

WiFi on M2U

WiFi Client

You have two ways to setup WiFi Client

1. Use commands to setup WiFi client

  • ip link set wlan0 up
  • iw dev wlan0 scan | grep SSID
  • vim /etc/wpasupplicant/wpa_supplicant.conf
  • network={ ssid="ssid" psk="password" priority=1 }
  • wpa_supplicant -B -dd -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
  • dhclient wlan0

2. Use UI interface to setup WiFi Client

Clear boot

Camara function

We use HDF5640 camara.

Ov5640 camara.png


  • Use your UI interface to operate camara
  • Applications -> Sound & Video -> guvcview
  • We also have built-in command in "/usr/local/bin" to test camara
  • "./" to test picture taking function
  • "./" to test video recording function

IR function

  • Execute "getevent"
  • Use your IR device to send information to M2U


RGB 1602 LCD

  • Execute "/usr/local/bin/bpi_test_lcd1602"

0.96 Inch OLED Display

  • Execute "/usr/local/bin/bpi_test_52pi"

8x8 RGB LED Martix

  • Firstly you need a GPIO Extend Board for 8x8 LED Martix

WringPi LED Martix Extend Board.png

  • Execute "/usr/local/bin/bpi_test_gpio40"


Reference Link