Difference between revisions of "Banana Pi BPI-M1+"

From Banana Pi Wiki
Jump to: navigation, search
(GPIO PIN define)
(Source code)
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[zh:香蕉派_BPI-M1%2B]]
 
=Introduction=
 
=Introduction=
 +
 +
[[File:Banana_pi_BPI-M1+_1.jpg|thumb|Overview]]
 +
[[File:Banana_pi_BPI-M1+_2.jpg|thumb|Overview]]
 +
[[File:BPI-M1+_3d.jpg|thumb|BPI-M1+ 3D]]
 +
[[File:MultiQB_front.jpg|thumb|BPI-M1/M1+ for BPI 4.0 [[Successful case]] : smart home gateway]]
 +
[[File:IMG_3036.JPG|thumb|BPI-M1/M1+ for BPI 4.0 [[Successful case]] :3G Information security terminal]]
 +
[[File:IMG_3085.JPG|thumb|BPI-M1/M1+ for BPI 4.0 [[Successful case]] :4G Industrial safety tablets]]
 +
[[File:BPI-M1+_case.jpg|thumb|BPI-M1+ case]]
 +
 +
  
 
Banana Pi BPI-M1+ upgrade is an open-source single-board computer that adds more connectivity to the classic board. It features the same high performance AllWinner A20 dual-core SoC at 1GHz, 1GB of DDR3 SDRAM, Gigabit Ethernet, SATA, USB, and HDMI connections found in classic BPI-M1+ ; but the Banana Pi M1+ features onboard WiFi g/b/n. The board supports all classic projects and even more because of the onboard WIFi chip. Like its sibling, it can run operating systems including Android, Lubuntu, Ubuntu, Debian, and Raspbian.
 
Banana Pi BPI-M1+ upgrade is an open-source single-board computer that adds more connectivity to the classic board. It features the same high performance AllWinner A20 dual-core SoC at 1GHz, 1GB of DDR3 SDRAM, Gigabit Ethernet, SATA, USB, and HDMI connections found in classic BPI-M1+ ; but the Banana Pi M1+ features onboard WiFi g/b/n. The board supports all classic projects and even more because of the onboard WIFi chip. Like its sibling, it can run operating systems including Android, Lubuntu, Ubuntu, Debian, and Raspbian.
 +
 +
[[File:A_BPI-M1+.jpg]]
  
 
The Banana Pi M1+ is our upgraded M1 board. We feel like the onboard WiFi adds a lot more features to the board and makes it more convient for users to set up their linx desktop or router projects.  
 
The Banana Pi M1+ is our upgraded M1 board. We feel like the onboard WiFi adds a lot more features to the board and makes it more convient for users to set up their linx desktop or router projects.  
Line 11: Line 24:
 
* Mali-400 MP2 with Open GL ES 2.0/1.1.
 
* Mali-400 MP2 with Open GL ES 2.0/1.1.
 
* 1 GB DDR3 memory.
 
* 1 GB DDR3 memory.
* Wifi &BT support onboard
+
* Wifi support onboard
 
* 1x SATA interface.
 
* 1x SATA interface.
 
* 1x Gigabit LAN  
 
* 1x Gigabit LAN  
Line 22: Line 35:
 
* DSI display interface
 
* DSI display interface
 
* 40 PIN gpio
 
* 40 PIN gpio
 +
* 3.7V lithium battery interface
 +
 +
==Get startting ==
 +
*How to burn image : [[Quick Start Banana pi SBC]]
 +
*How to development : [[Getting Started with M1P]]
  
 
==Hardware==
 
==Hardware==
Line 31: Line 49:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
!
+
| style="background: PaleTurquoise; color: black" colspan="4"| '''Banana Pi BPI-M1+'''
! Banana Pi M1+
+
|-
 
|-
 
|-
! CPU
+
| CPU
 
| A20 ARM Cortex -A7 Dual-Core
 
| A20 ARM Cortex -A7 Dual-Core
 
|-
 
|-
! GPU
+
| GPU
 
| ARM Mali400MP2Complies with OpenGL ES 2.0/1.1
 
| ARM Mali400MP2Complies with OpenGL ES 2.0/1.1
 
|-
 
|-
! Memory
+
| Memory
 
| 1GB DDR3
 
| 1GB DDR3
 
|-
 
|-
! Network
+
| Network
 
| 10/100/1000 Ethernet  
 
| 10/100/1000 Ethernet  
 
|-
 
|-
! wifi&BT
+
| wifi&BT
| Wifi & BT 4.0 support onboard
+
| Wifi support onboard
 
|-
 
|-
! Video Input
+
| Video Input
 
| A CSI input connector allows for the connection of a designed camera module
 
| A CSI input connector allows for the connection of a designed camera module
 
|-
 
|-
! Video Outputs
+
| Video Outputs
 
| HDMI, CVBS, LVDS/RGB
 
| HDMI, CVBS, LVDS/RGB
 
|-
 
|-
! Audio Outputs
+
| Audio Outputs
 
| 3.5mm jack and HDMI
 
| 3.5mm jack and HDMI
 
|-
 
|-
! Power Source
+
| Power Source
 
| 5V/2A via Micro USB (DC in only) and / or Micro USB OTG
 
| 5V/2A via Micro USB (DC in only) and / or Micro USB OTG
 
|-
 
|-
! USB 2.0 ports
+
| USB 2.0 ports
 
| 2(direct from Allwinner A20 chip)
 
| 2(direct from Allwinner A20 chip)
 
|-
 
|-
! GPIO
+
| GPIO
 
| GPIO, UART, I2C BUS, SPI BUS, WITH TWO CHIP SELECTS, [[CAN bus]], ADC, PWM, +3.3V, +5V, GND
 
| GPIO, UART, I2C BUS, SPI BUS, WITH TWO CHIP SELECTS, [[CAN bus]], ADC, PWM, +3.3V, +5V, GND
 
|-
 
|-
! LED
+
| LED
 
| Power Key & 8P8C
 
| Power Key & 8P8C
 
|-
 
|-
! Storage
+
| Storage
 
| SATA 2.0
 
| SATA 2.0
 
|-
 
|-
! OS
+
| OS
 
| Android 4.4, Android 4.2, Raspbian, Lubuntu, Open Suse, Debian
 
| Android 4.4, Android 4.2, Raspbian, Lubuntu, Open Suse, Debian
 
|}
 
|}
Line 171: Line 189:
 
|}
 
|}
  
**CSI Camera Connector specification:**
+
'''CSI Camera Connector specification:'''
  
 
The CSI Camera Connector is a 40-pin FPC connector which can connect external camera module with proper signal pin mappings.The pin definitions of the CSI interface are shown as below. This is marked on the Banana Pi board as “CON1″.
 
The CSI Camera Connector is a 40-pin FPC connector which can connect external camera module with proper signal pin mappings.The pin definitions of the CSI interface are shown as below. This is marked on the Banana Pi board as “CON1″.
Line 263: Line 281:
 
|}
 
|}
  
**LVDS specification**
+
'''LVDS \(LCD display interface\)'''
 
 
LVDS \(LCD display interface\)
 
  
 
The LVDS Connector is a 40-pin FPC connector which can connect external LCD panel \(LVDS\) and touch screen \(I2C\) module as well.The pin definitions of this connector are shown as below. This is marked on the Banana Pi board as “CON2″.
 
The LVDS Connector is a 40-pin FPC connector which can connect external LCD panel \(LVDS\) and touch screen \(I2C\) module as well.The pin definitions of this connector are shown as below. This is marked on the Banana Pi board as “CON2″.
Line 271: Line 287:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
| style
+
| style="background: PaleTurquoise; color: black" colspan="4"| '''LVDS PIN of Banana pi BPI-M1+'''
| LVDS Pin | Default Function | Function2 | Function3:GPIO |
+
|-
| :--- | :--- | :--- | :--- |
+
| LVDS Pin || Default Function || Function2 || Function3:GPIO  
| CON2 P01 | IPSOUT\(5V output\) | | |
+
|-
| CON2 P02 | TWI3-SDA | | PI1 |
+
| CON2 P01 || IPSOUT\(5V output\) || ||
| CON2 P03 | IPSOUT\(5V output\) | | |
+
|-
| CON2 P04 | TWI3-SCK | | PI0 |
+
| CON2 P02 || TWI3-SDA || || PI1  
| CON2 P05 | GND | | |
+
|-
| CON2 P06 | LCD0-IO0 | | PH7 |
+
| CON2 P03 || IPSOUT\(5V output\) || ||  
| CON2 P07 | LCDIO-03 | | PH12 |
+
|-
| CON2 P08 | LCD0-IO1 | | PH8 |
+
| CON2 P04 || TWI3-SCK || || PI0  
| CON2 P09 | LCD0-D0 | LVDS0-VP0 | PD0 |
+
|-
| CON2 P10 | PWM0 | | PB2 |
+
| CON2 P05 || GND || ||  
| CON2 P11 | LCD0-D1 | LVDS0-VN0 | PD1 |
+
|-
| CON2 P12 | LCD0-IO2 | | PH9 |
+
| CON2 P06 || LCD0-IO0 || || PH7  
| CON2 P13 | LCD0-D2 | LVDS0-VP1 | PD2 |
+
|-
| CON2 P14 | LCD0-DE | | PD25 |
+
| CON2 P07 || LCDIO-03 || || PH12  
| CON2 P15 | LCD0-D3 | LVDS0-VN1 | PD3 |
+
|-
| CON2 P16 | LCD0-VSYNC | | PD27 |
+
| CON2 P08 || LCD0-IO1 || || PH8  
| CON2 P17 | LCD0-D4 | LVDS0-VP2 | PD4 |
+
|-
| CON2 P18 | LCD0-HSYNC | | PD26 |
+
| CON2 P09 || LCD0-D0 || LVDS0-VP0 || PD0  
| CON2 P19 | LCD0-D5 | LVDS0-VN2 | PD5 |
+
|-
| CON2 P20 | LCD0-CS | | PH6 |
+
| CON2 P10 || PWM0 || ||  PB2  
| CON2 P21 | LCD0-D6 | LVDS0-VPC | PD6 |
+
|-
| CON2 P22 | LCD0-CLK | | PD24 |
+
| CON2 P11 || LCD0-D1 || LVDS0-VN0 || PD1  
| CON2 P23 | LCD0-D7 | LVDS0-VNC | PD7 |
+
|-
| CON2 P24 | GND | | |
+
| CON2 P12 || LCD0-IO2 || || PH9 |
| CON2 P25 | LCD0-D8 | LVDS0-VP3 | PD8 |
+
|-
| CON2 P26 | LCD0-D23 | | PD23 |
+
| CON2 P13 || LCD0-D2 || LVDS0-VP1 || PD2  
| CON2 P27 | LCD0-D9 | LVDS0-VN3 | PD9 |
+
|-
| CON2 P28 | LCD0-D22 | | PD22 |
+
| CON2 P14 || LCD0-DE || || PD25  
| CON2 P29 | LCD0-D10 | | PD10 |
+
|-
| CON2 P30 | LCD0-D21 | | PD21 |
+
| CON2 P15 || LCD0-D3 || LVDS0-VN1 || PD3  
| CON2 P31 | LCD0-D11 | | PD11 |
+
|-
| CON2 P32 | LCD0-D20 | | PD20 |
+
| CON2 P16 || LCD0-VSYNC || || PD27  
| CON2 P33 | LCD0-D12 | | PD12 |
+
|-
| CON2 P34 | LCD0-D19 | | PD19 |
+
| CON2 P17 || LCD0-D4 || LVDS0-VP2 || PD4  
| CON2 P35 | LCD0-D13 | | PD13 |
+
|-
| CON2 P36 | LCD0-D18 | | PD18 |
+
| CON2 P18 || LCD0-HSYNC || || PD26  
| CON2 P37 | LCD0-D14 | | PD14 |
+
|-
| CON2 P38 | LCD0-D17 | | PD17 |
+
| CON2 P19 || LCD0-D5 || LVDS0-VN2 || PD5  
| CON2 P39 | LCD0-D15 | | PD15 |
+
|-
| CON2 P40 | LCD0-D16 | | PD16 |
+
| CON2 P20 || LCD0-CS || || PH6 |
 +
|-
 +
| CON2 P21 || LCD0-D6 || LVDS0-VPC || PD6  
 +
|-
 +
| CON2 P22 || LCD0-CLK || || PD24  
 +
|-
 +
| CON2 P23 || LCD0-D7 || LVDS0-VNC || PD7  
 +
|-
 +
| CON2 P24 || GND || ||
 +
|-
 +
| CON2 P25 || LCD0-D8 ||LVDS0-VP3 || PD8  
 +
|-
 +
| CON2 P26 || LCD0-D23 || || PD23  
 +
|-
 +
| CON2 P27 || LCD0-D9 || LVDS0-VN3 || PD9  
 +
|-
 +
| CON2 P28 || LCD0-D22 || || PD22  
 +
|-
 +
| CON2 P29 || LCD0-D10 || || PD10  
 +
|-
 +
| CON2 P30 || LCD0-D21 || || PD21  
 +
|-
 +
| CON2 P31 || LCD0-D11 || || PD11  
 +
|-
 +
| CON2 P32 || LCD0-D20 || || PD20  
 +
|-
 +
| CON2 P33 || LCD0-D12 || || PD12  
 +
|-
 +
| CON2 P34 || LCD0-D19 || || PD19  
 +
|-
 +
| CON2 P35 || LCD0-D13 || || PD13  
 +
|-
 +
| CON2 P36 || LCD0-D18 || || PD18  
 +
|-
 +
| CON2 P37 || LCD0-D14 || || PD14  
 +
|-
 +
| CON2 P38 || LCD0-D17 || || PD17  
 +
|-
 +
| CON2 P39 || LCD0-D15 || || PD15  
 +
|-
 +
| CON2 P40 || LCD0-D16 || || PD16  
 
|-  
 
|-  
 
|}
 
|}
  
**UART specification:**
+
'''UART specification:'''
  
 
The jumper J11header CON4 is the UART interface.For developers of Banana Pi, this is an easy way to get the UART console output to check the system status and log message.
 
The jumper J11header CON4 is the UART interface.For developers of Banana Pi, this is an easy way to get the UART console output to check the system status and log message.
Line 323: Line 379:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
| style
+
| style="background: PaleTurquoise; color: black" colspan="4"| '''UART debug PIN of Banana pi BPI-M1+'''
| | Pin Name | Default Function | GPIO |
+
|-
| :--- | :--- | :--- | :--- |
+
| Pin Name || Default Function || GPIO  
| | CON4 P03 | UART0-TXD | PB22 |
+
|-
| | CON4 P02 | UART0-RXD | PB23 |
+
| CON4 P03 || UART0-TXD || PB22  
| CON4 P01 | GND | | |
+
|-
 +
| CON4 P02 || UART0-RXD || PB23  
 +
|-
 +
| CON4 P01 ||GND ||  
 
|-  
 
|-  
 
|}
 
|}
Line 338: Line 397:
 
==Basic Development==
 
==Basic Development==
  
=Release=
+
=Resources=
 +
==Source code==
 +
 
 +
* Linux kernel 3.4 Source code : https://github.com/BPI-SINOVOIP/BPI-M1-bsp
 +
 
 +
* Android 4.4 source code
 +
:LCD7 type: https://github.com/BPI-SINOVOIP/BPI-A20-Android-4.4
 +
 
 +
* Android 4.2.2 source code
 +
:HDMI type: https://github.com/BPI-SINOVOIP/BPI-A20-Android
 +
 
 +
==Documents==
 +
* schematic diagram: [https://drive.google.com/folderview?id=0B4PAo2nW2KfnflVqbjJGTFlFTTd1b1o1OUxDNk5ackVDM0RNUjBpZ0FQU19SbDk1MngzZWM&usp=sharing&tid=0B4PAo2nW2Kfndjh6SW9MS2xKSWs google drive]
 +
* BPI-M1+ DXF file download link : [https://drive.google.com/folderview?id=0B4PAo2nW2Kfnfkd0QmxaU3F2bHBWdkFiS09vT3VoZkVyNW93OXFjM0dHRVdGazhRWmFzZDQ&usp=sharing&tid=0B4PAo2nW2Kfndjh6SW9MS2xKSWs google drive]
 +
*BPI-M1+ 3D design file download link :[https://drive.google.com/folderview?id=0B4PAo2nW2Kfnfl95clI4ZzRKUmRENWhMcmwzUlVrYW1Ic3BXZENtUjJQcjk5TXc0RHBKdlU&usp=sharing&tid=0B4PAo2nW2Kfndjh6SW9MS2xKSWs google drive]
 +
*CE FCC RoHS : [https://bananapi.gitbooks.io/bpi-m1/content/en/bpi-m1_ce_fcc_rohs_certification.html BPI-M1 CE,FCC,RoHS ]
 +
*Arch linux wiki for BPI-M1:https://wiki.archlinux.org/index.php/Banana_Pi
 +
*Nas for BPI-M1/BPI-M1+ : https://www.hackster.io/jeffbaocai/bananapi-pro-nas-0815dc?ref=platform&ref_id=8064_popular___&offset=3
 +
*NetBSD/evbarm on Allwinner SoCs : https://wiki.netbsd.org/ports/evbarm/allwinner/#index1h1
 +
*Gentoo for banana pi : https://wiki.gentoo.org/wiki/Banana_Pi_the_Gentoo_Way
 +
*openSUSE for banana pi : https://en.opensuse.org/HCL:BananaPi
 +
*How to booting from SSD using Lubuntu / Raspbian :https://bananapi.gitbooks.io/bpi-m1/content/en/howtobootingfromssdusinglubunturaspbian.html
 +
*Building the cluster on BPI : https://www.hackster.io/Penguinfly/banana-pi-cluster-47d566
 +
* Allwinner documents:
 +
::allwinner chip online datasheet and documents: http://dl.linux-sunxi.org/
 +
 
 +
=Image Release=
 +
==Android 4.4==
 +
*2018-07-28 update android 4.4 LCD version image
 +
::Features Map:http://wiki.banana-pi.org/M1_Image_Map
 +
::Baidu Drive:https://pan.baidu.com/s/1DfSIiMvW_I-kFjTZMtcVsA
 +
::Google Drive: https://drive.google.com/open?id=1qcH9baIhOphsDdlH_yBADuBiZsvrSKnt
 +
::Forum pthtread :http://forum.banana-pi.org/t/bananapi-m1-m1p-r1-new-image-release-20180728/6357
 +
 
 +
== Armbian image ==
 +
*Armbian Xenial and Armbian Jessie
 +
::Image lownload link :https://www.armbian.com/banana-pi-plus/
 +
 
 +
==Debian Linux==
 +
 
 +
*2019-9-18 update. Debian 10 buster mate desktop with grub support (boot-2019.07 + kernel 5.1.1)
 +
::google driver:https://drive.google.com/file/d/1FhbaO6pDBu5jSPYq1ghd7YKG-KvFy33Q/view?usp=sharing
 +
::forum pthread:http://forum.banana-pi.org/t/bpi-m1-m1-r1-new-image-debian-10-buster-mate-desktop-with-grub-support-boot-2019-07-kernel-5-1-1/9916
 +
 
 +
==OpenWRT==
 +
===Officeal OpenWRT===
 +
*BPI-M1/BPI-M1+/BPI-R1 use A20 chip,so easy to run openwrt
 +
*wiki : https://wiki.openwrt.org/toh/lamobo/r1
 +
*openwrt support for allwinner :https://wiki.openwrt.org/doc/hardware/soc/soc.allwinner.sunxi?s[]=banana&s[]=pi
 +
*image download : https://downloads.openwrt.org/chaos_calmer/15.05/sunxi/generic/uboot-sunxi-Lamobo_R1/
 +
*opwrt for Allwinner Soc : https://wiki.openwrt.org/doc/hardware/soc/soc.allwinner.sunxi?s[]=banana&s[]=pi
 +
 
 +
===BPI BSP for OpenWRT===
 +
*How to build OpenWRT image from github : https://bananapi.gitbooks.io/bpi-m1/content/en/howtobuildopenwrtimagefromgithub.html
 +
 
 +
==FreeBSD==
 +
 
 +
FreeBSD on Allwinner (sunxi) systems for banana pi
 +
 
 +
Banana pi as the official partner of Allwinner , must banana pi product use Allwinner chip design . such as A20/A31S/H3/H2+/A64/A83T , and FreeBSD have support many Allwinner . so easy to use on banana pi board.
 +
*Allwinner A20 (sun7i), a dual-core Cortex-A7 BPI-M1/BPI-M1+/BPI-R1
 +
*Allwinner A31 and A31s (sun6i), a quad-core Cortex-A7 BPI-M2
 +
*Allwinner A64 (sun50i), a quad-core Cortex-A53 BPI-M64
 +
*Allwinner A83T (sun8i), an octa-core Cortex-A7 BPI-M3
 +
*Allwinner H3 (sun8i), a quad-core Cortex-A7 BPI-M2+/BPI-M2+ EDU/
 +
 
 +
https://wiki.freebsd.org/FreeBSD/arm/Allwinner
 +
 
 +
==OpenSuse==
 +
*inmage and how to : https://bananapi.gitbooks.io/bpi-m1/content/en/opensuse.html
 +
 
 +
==OpenMediaVault==
 +
*inmage and how to : https://bananapi.gitbooks.io/bpi-m1/content/en/openmediavault.html
 +
 
 +
==Arch Linux==
 +
*inmage and how to : https://bananapi.gitbooks.io/bpi-m1/content/en/arch_linux.html
 +
 
 +
==Gentoo Linux==
 +
*inmage and how to : https://bananapi.gitbooks.io/bpi-m1/content/en/gentoolinux.html
 +
 
 +
==RaspBSD==
 +
*inmage and how to :  https://bananapi.gitbooks.io/bpi-m1/content/en/raspbsdonbpi-m1.html
 +
 
 +
==CentOS==
 +
*inmage and how to :  https://bananapi.gitbooks.io/bpi-m1/content/en/centos7linuxforbpi.html
 +
 
 +
==DietPi==
 +
*inmage and how to : https://bananapi.gitbooks.io/bpi-m1/content/en/dietpi.html
 +
 
 +
==FreeBSD/NetBSD==
 +
*inmage and how to : https://bananapi.gitbooks.io/bpi-m1/content/en/freebsdnetbsd.html
 +
 
 +
==Lakka TV==
 +
*Banana Pi M2+ with H3 chip
 +
*Banana Pi M3 with A83T chip
 +
*BPI-M1 and BPI-M1+ use A20 chip
 +
*more about this : https://bananapi.gitbooks.io/bpi-m3/content/en/lakkatv.html
 +
 
 +
http://mirror.lakka.tv/nightly/
 +
 
 +
==Simplenas==
 +
*simplenas image : https://simplenas.com/download/other/banana-pi-m1
  
 
=FAQ=
 
=FAQ=

Revision as of 20:59, 30 December 2020

Introduction

Overview
Overview
BPI-M1+ 3D
BPI-M1/M1+ for BPI 4.0 Successful case : smart home gateway
BPI-M1/M1+ for BPI 4.0 Successful case :3G Information security terminal
BPI-M1/M1+ for BPI 4.0 Successful case :4G Industrial safety tablets
BPI-M1+ case


Banana Pi BPI-M1+ upgrade is an open-source single-board computer that adds more connectivity to the classic board. It features the same high performance AllWinner A20 dual-core SoC at 1GHz, 1GB of DDR3 SDRAM, Gigabit Ethernet, SATA, USB, and HDMI connections found in classic BPI-M1+ ; but the Banana Pi M1+ features onboard WiFi g/b/n. The board supports all classic projects and even more because of the onboard WIFi chip. Like its sibling, it can run operating systems including Android, Lubuntu, Ubuntu, Debian, and Raspbian.

A BPI-M1+.jpg

The Banana Pi M1+ is our upgraded M1 board. We feel like the onboard WiFi adds a lot more features to the board and makes it more convient for users to set up their linx desktop or router projects. Banana Pi is an open platform device, it is for anyone who wants to play and build with developer technology instead of simply using consumer technology. Backed by our community, starting a project and building servers is fun and rewarding. With a Banana Pi, we want you to explore and experience the world of DIY projects and portable computing. We welcome all companies, DIYers, and tech loving people within our community! Together, we can make a difference, we can discover our passions, inspire others, and build a practical project.

Key Features

  • Allwinner A20 Dual-core 1.0GHz CPU
  • Mali-400 MP2 with Open GL ES 2.0/1.1.
  • 1 GB DDR3 memory.
  • Wifi support onboard
  • 1x SATA interface.
  • 1x Gigabit LAN
  • 1x USB otg and 2x USB 2.0
  • 1X MIC
  • AV out
  • HDMI out
  • IR
  • CSI camera interface
  • DSI display interface
  • 40 PIN gpio
  • 3.7V lithium battery interface

Get startting

Hardware

Hardware interfact

BPI-M1 plus interface.jpg

Hardware spec

Banana Pi BPI-M1+
CPU A20 ARM Cortex -A7 Dual-Core
GPU ARM Mali400MP2Complies with OpenGL ES 2.0/1.1
Memory 1GB DDR3
Network 10/100/1000 Ethernet
wifi&BT Wifi support onboard
Video Input A CSI input connector allows for the connection of a designed camera module
Video Outputs HDMI, CVBS, LVDS/RGB
Audio Outputs 3.5mm jack and HDMI
Power Source 5V/2A via Micro USB (DC in only) and / or Micro USB OTG
USB 2.0 ports 2(direct from Allwinner A20 chip)
GPIO GPIO, UART, I2C BUS, SPI BUS, WITH TWO CHIP SELECTS, CAN bus, ADC, PWM, +3.3V, +5V, GND
LED Power Key & 8P8C
Storage SATA 2.0
OS Android 4.4, Android 4.2, Raspbian, Lubuntu, Open Suse, Debian

GPIO PIN define

Banana Pi BPI-M1+ has a 40-pin GPIO header that matches that of the Model Raspberry Pi 3. Following is the Banana Pi GPIO Pinout:

Gpio define.png

40 PIN GPIO of Banana pi BPI-M1+
GPIO Pin Name Default Function Function2:GPIO
CON3-P01 VCC-3V3
CON3-P02 VCC-DC
CON3-P03 TWI2-SDA PB21
CON3-P04 VCC-DC
CON3-P05 TWI2-SCK PB20
CON3-P06 GND
CON3-P07 PWM1 PI3
CON3-P08 UART3\_TX PH0
CON3-P09 GND
CON3-P10 UART3\_RX PH1
CON3-P11 UART2\_RX PI19
CON3-P12 PH2 PH2
CON3-P13 UART2\_TX PI18
CON3-P14 GND
CON3-P15 UART2\_CTS PI17
CON3-P16 CAN\_TX PH20
CON3-P17 VCC-3V3
CON3-P18 CAN\_RX PH21
CON3-P19 SPI0\_MOSI PI12
CON3-P20 GND
CON3-P21 SPI0\_MISO PI13
CON3-P22 UART2\_RTS PI16
CON3-P23 SPI0\_CLK PI11
CON3-P24 SPI0\_CS0 PI10
CON3-P25 GND
CON3-P26 SPI0\_CS1 PI14
CON3-P27 TWI3-SDA PI1
CON3-P28 TWI3-SCK PI0
CON3-P29 I2S\_MCLK PB5
CON3-P30 GND
CON3-P31 I2S\_BCLK PB6
CON3-P32 I2S\_DI PB12
CON3-P33 I2S\_LRCK PB7
CON3-P34 GND
CON3-P35 I2S\_DO0 PB8
CON3-P36 UART7\_RX PI21
CON3-P37 IR0\_TX PB3
CON3-P38 UART7\_TX PI20
CON3-P39 GND
CON3-P40 SPDIF\_DO PB13

CSI Camera Connector specification:

The CSI Camera Connector is a 40-pin FPC connector which can connect external camera module with proper signal pin mappings.The pin definitions of the CSI interface are shown as below. This is marked on the Banana Pi board as “CON1″.

CSI PIN of Banana pi BPI-M1+
CSI Pin Name Default Function Pin name Function2:GPIO
CON1 P01 LINEINL
CON1 P02 LINEINR
CON1 P03 VCC-CSI
CON1 P04 ADC\_X1
CON1 P05 GND
CON1 P06 ADC\_X2
CON1 P07 FMINL
CON1 P08 ADC\_Y1
CON1 P09 FMINR
CON1 P10 ADC\_Y2
CON1 P11 GND
CON1 P12 CSI-FLASH PH17
CON1 P13 LRADC0
CON1 P14 TWI1-SDA PB19
CON1 P15 LRADC1
CON1 P16 TWI1-SCK PB18
CON1 P17 CSI-D0 PE4
CON1 P18 CSI0-STBY-EN PH19
CON1 P19 CSI0-D1 PE5
CON1 P20 CSI-PCLK PE0
CON1 P21 CSI-D2 PE6
CON1 P22 CSI0-PWR-EN PH16
CON1 P23 CSI-D3 PE7
CON1 P24 CSI0-MCLK PE1
CON1 P25 CSI-D4 PE8
CON1 P26 CSI0-RESET\# PH14
CON1 P27 CSI-D5 PE9
CON1 P28 CSI-VSYNC PE3
CON1 P29 CSI-D6 PE10
CON1 P30 CSI-HSYNC PE2
CON1 P31 CSI-D7 PE11
CON1 P32 CSI1-STBY-EN PH18
CON1 P33 AP-RESET\#
CON1 P34 CSI1-RESET\# PH13
CON1 P35 CSI-IO0 PH11
CON1 P36 HPR
CON1 P37 HPL
CON1 P38 IPSOUT
CON1 P39 GND
CON1 P40 IPSOUT

LVDS \(LCD display interface\)

The LVDS Connector is a 40-pin FPC connector which can connect external LCD panel \(LVDS\) and touch screen \(I2C\) module as well.The pin definitions of this connector are shown as below. This is marked on the Banana Pi board as “CON2″.

LVDS PIN of Banana pi BPI-M1+
LVDS Pin Default Function Function2 Function3:GPIO
CON2 P01 IPSOUT\(5V output\)
CON2 P02 TWI3-SDA PI1
CON2 P03 IPSOUT\(5V output\)
CON2 P04 TWI3-SCK PI0
CON2 P05 GND
CON2 P06 LCD0-IO0 PH7
CON2 P07 LCDIO-03 PH12
CON2 P08 LCD0-IO1 PH8
CON2 P09 LCD0-D0 LVDS0-VP0 PD0
CON2 P10 PWM0 PB2
CON2 P11 LCD0-D1 LVDS0-VN0 PD1
CON2 P12 LCD0-IO2
CON2 P13 LCD0-D2 LVDS0-VP1 PD2
CON2 P14 LCD0-DE PD25
CON2 P15 LCD0-D3 LVDS0-VN1 PD3
CON2 P16 LCD0-VSYNC PD27
CON2 P17 LCD0-D4 LVDS0-VP2 PD4
CON2 P18 LCD0-HSYNC PD26
CON2 P19 LCD0-D5 LVDS0-VN2 PD5
CON2 P20 LCD0-CS
CON2 P21 LCD0-D6 LVDS0-VPC PD6
CON2 P22 LCD0-CLK PD24
CON2 P23 LCD0-D7 LVDS0-VNC PD7
CON2 P24 GND
CON2 P25 LCD0-D8 LVDS0-VP3 PD8
CON2 P26 LCD0-D23 PD23
CON2 P27 LCD0-D9 LVDS0-VN3 PD9
CON2 P28 LCD0-D22 PD22
CON2 P29 LCD0-D10 PD10
CON2 P30 LCD0-D21 PD21
CON2 P31 LCD0-D11 PD11
CON2 P32 LCD0-D20 PD20
CON2 P33 LCD0-D12 PD12
CON2 P34 LCD0-D19 PD19
CON2 P35 LCD0-D13 PD13
CON2 P36 LCD0-D18 PD18
CON2 P37 LCD0-D14 PD14
CON2 P38 LCD0-D17 PD17
CON2 P39 LCD0-D15 PD15
CON2 P40 LCD0-D16 PD16

UART specification:

The jumper J11header CON4 is the UART interface.For developers of Banana Pi, this is an easy way to get the UART console output to check the system status and log message.

UART debug PIN of Banana pi BPI-M1+
Pin Name Default Function GPIO
CON4 P03 UART0-TXD PB22
CON4 P02 UART0-RXD PB23
CON4 P01 GND

Software

Development

Basic Development

Resources

Source code

  • Android 4.4 source code
LCD7 type: https://github.com/BPI-SINOVOIP/BPI-A20-Android-4.4
  • Android 4.2.2 source code
HDMI type: https://github.com/BPI-SINOVOIP/BPI-A20-Android

Documents

allwinner chip online datasheet and documents: http://dl.linux-sunxi.org/

Image Release

Android 4.4

  • 2018-07-28 update android 4.4 LCD version image
Features Map:http://wiki.banana-pi.org/M1_Image_Map
Baidu Drive:https://pan.baidu.com/s/1DfSIiMvW_I-kFjTZMtcVsA
Google Drive: https://drive.google.com/open?id=1qcH9baIhOphsDdlH_yBADuBiZsvrSKnt
Forum pthtread :http://forum.banana-pi.org/t/bananapi-m1-m1p-r1-new-image-release-20180728/6357

Armbian image

  • Armbian Xenial and Armbian Jessie
Image lownload link :https://www.armbian.com/banana-pi-plus/

Debian Linux

  • 2019-9-18 update. Debian 10 buster mate desktop with grub support (boot-2019.07 + kernel 5.1.1)
google driver:https://drive.google.com/file/d/1FhbaO6pDBu5jSPYq1ghd7YKG-KvFy33Q/view?usp=sharing
forum pthread:http://forum.banana-pi.org/t/bpi-m1-m1-r1-new-image-debian-10-buster-mate-desktop-with-grub-support-boot-2019-07-kernel-5-1-1/9916

OpenWRT

Officeal OpenWRT

BPI BSP for OpenWRT

FreeBSD

FreeBSD on Allwinner (sunxi) systems for banana pi

Banana pi as the official partner of Allwinner , must banana pi product use Allwinner chip design . such as A20/A31S/H3/H2+/A64/A83T , and FreeBSD have support many Allwinner . so easy to use on banana pi board.

  • Allwinner A20 (sun7i), a dual-core Cortex-A7 BPI-M1/BPI-M1+/BPI-R1
  • Allwinner A31 and A31s (sun6i), a quad-core Cortex-A7 BPI-M2
  • Allwinner A64 (sun50i), a quad-core Cortex-A53 BPI-M64
  • Allwinner A83T (sun8i), an octa-core Cortex-A7 BPI-M3
  • Allwinner H3 (sun8i), a quad-core Cortex-A7 BPI-M2+/BPI-M2+ EDU/

https://wiki.freebsd.org/FreeBSD/arm/Allwinner

OpenSuse

OpenMediaVault

Arch Linux

Gentoo Linux

RaspBSD

CentOS

DietPi

FreeBSD/NetBSD

Lakka TV

http://mirror.lakka.tv/nightly/

Simplenas

FAQ