Getting Started with M64 - Banana Pi Wiki
Last updated
Was this helpful?
Last updated
Was this helpful?
Overview: BPI-M64 respbian linux
Banana Pi BPI-M64 is a 64-bit quad-core mini single board computer. It features 2GB of RAM and 8GB eMMC. It also has onboard WiFi and BT. On the ports side, the BPI-M64 has 2 USB A 2.0 ports, 1 USB OTG port, 1 HDMI port, 1 audio jack, and lastly a DC power port. The processor is pin-to-pin comptialbe with R18, so it comes with two versions:M64 and M64-R18
Read more about :
1.2 Ghz Quad-Core ARM Cortex A53 64-Bit Processor-A64
2GB DDR3 SDRAM
8G EMMC
10/100/1000Mbps Ethernet
WiFi (AP6212) & Bluetooth
1.2 Ghz Quad-Core ARM Cortex A53 64-Bit Processor-R18
2GB DDR3 SDRAM
8G EMMC
10/100/1000Mbps Ethernet
WiFi (AP6212) & Bluetooth
1. Open PhoenixSuit, click the Firmware icon to switching to firmware download panel, then click Image button and choose the Android Image file.2. M64 board disconnect DC power, press and hold the uboot-key button(new uart debug pin), plugin mirco-usb cable to PC, popup a warning dialog.3 Press Yes to continue and popup another waring dialog, Press Yes to continue4 Downloading5 Download finish
According to the Readme.pdf in LiveSuit Install package, After install the LiveSuit successfully please run LiveSuit.sh with root permission, then the download process is almost the same as PhoenixSuit.
Get Android source codeAndroid 7.1
Android 6.1
Build Android Source codePlease read the source code README.md
1. Install image with bpi-tools on Linuxplug your sd card to your Linux PC, and run
1. Prepare a sd which is installed Linux image and bootup with sdcard2. Copy emmc image to udisk then plug in M64, then mount udisk.3. After mount udisk, use command "bpi-copy xxx-emmc-xxx.img" to install image on Emmc.4. After success install, power off M64, eject the sdcard and poweron with emmc boot.
1. The default release images are HDMI boot type, you can switch to LCD boot type for BPI 7" LCD support after first boot.
2. Load the Touchscreen driver if you want to using TP
Get the bsp source code
Build the bsp source codePlease read the source code README.md
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"
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:
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
wpa_supplicant -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
dhclient wlan0
2. Use UI interface to setup WiFi Client
Ap Mode
1.Install hostapd and create hostapd configuration file hostapd.conf:
2.Execute command:"hostapd -d //hostapd.conf" If you meet problem like this:
Then, you could solve by following command:
nmcli radio wifi off
rfkill unblock 1
rfkill unblock 2
ifconfig wlan0 up
hostapd -d hostapd.conf
bpi-bootsel BPI-cleanboot-8k.img.gz /dev/sdX
To access a GPIO pin you first need to export it with
with XX being the number of the desired pin. To obtain the correct number you have to calculate it from the pin name (like PH18)
echo "out/in" > /sys/class/gpio/gpio*NUMBER*/direction
echo "0/1" > /sys/class/gpio/gpio*NUMBER*/value
We use HDF5640 camara.
Guvcview
Use your UI interface to operate camara
Applications -> Sound & Video -> guvcview
Shell
We also have built-in command in "/usr/local/bin" to test camara
"./test_ov5640_image_mode.sh" to test picture taking function
"./cameratest.sh" to test video recording function
Execute "getevent"
Use your IR device to send information to A64
Install RPi.GPIO
after clone the repo, cd RPi.GPIO
Execute "sudo apt-get update"
Execute "sudo apt-get install python-dev python3-dev"
Execute "sudo python setup.py install" or "sudo python3 setup.py install" to install the module
Using RPi.GPIO
cd /usr/local/bin
Execute "./bpi_test_g40.py" to test RPi.GPIO
We also have built-in test command in "/usr/local/bin"
How to Update WiringPi
Execute "bpi-update -c pkglist.conf"
If your image is 32bit please do this command to install wring pi
Execute "bpi-update -c bpi-pkg-bpi-wiringpi.conf"
If your image is 64bit please do:"bpi-update -c bpi-pkg-bpi-wiringpi-arm64.conf"
RGB 1602 LCD
Execute "/usr/local/bin/bpi_test_lcd1602.sh"
0.96 Inch OLED Display
Execute "/usr/local/bin/bpi_test_52pi.sh"
8x8 RGB LED Martix
Firstly you need a GPIO Extend Board for 8x8 LED Martix
Execute "/usr/local/bin/bpi_test_gpio40.sh"
read only system change to read & write mode: "mount -o remount,rw /"
1. Prepare a USB-Serial cable, a MicroUSB cable and PC with Linux or WIndows 7/102. The USB-Serial cable is used for console debug and MicroUSB cable is used for Image download and ADB debug.3. M64 board is only suport DC power supply bootup.4. If you want insert a SDcard for Android storage using, and your SDcard was download Linux Image or any other allwinner bootable SDcard image, please format the SDcard start from block 0.5. Download and Install , PhoenixSuit is for window and LiveSuit is for Linux6. Download BPI
1. Prepare 8G/above TF card, USB-Serial interface, PC with Ubuntu System2. Using your USB-Serial Connect debug console on M643. M64 board is only suport DC power supply bootup4. Install bpi-tools on your Linux PC. If you can't access this URL or any other problems, please go to and install this tools manually.
5. Download BPI 6. Login user/password: pi/bananapi or root/bananapi
2. Install bpi image with Etcher on Windows, Linux and MacOS is an open source project by Balena, Flash OS images to SD cards & USB drives
git clone
Execute "git clone "
GitHub: