Banana Pi BPI-M1 User manual

1.1
1.2
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
1.2.6
1.2.7
1.2.8
1.2.9
1.2.10
1.2.11
1.2.12
1.2.13
1.2.14
1.2.15
1.2.16
1.2.17
1.2.18
1.2.19
1.2.20
1.3
1.3.1
1.3.2
1.3.2.1
1.3.3
1.3.3.1
1.3.3.1.1
1.3.3.2
1.3.4
1.3.4.1
1.3.4.2
1.3.5
1.3.5.1
1.3.5.2
1.3.5.3
1.3.6
1.3.7
TableofContents
BPI-M1
BPI-M1hardware
BPI-M1hardwareinterface
BPI-M1hardwarespec
BPI-M1GPIOPindefine
BPI-M1SDcardslot
BPI-M1GigELAN
BPI-M1HDMIinterface
BPI-M1IRinterface
BPI-M1CANBus
BPI-M1Camerainterface
BPI-M1RGBDSIinterface
BPI-M1SATAinterface
BPI-M1MIC
BPI-M1Audio
BPI-M13.7Vlithiumbatteryinterface
BPI-M1OTGinterface
BPI-M1UARTinterface
BPI-M1DCPowerinterface
BPI-M1schematicdiagram
BPI-M1DXFand3Ddesign
BPI-M1CEFCCRoHSCertification
BPI-M1software
BPI-M1quickstart
Androidsoftware
AndroidMattrixXBMC\/KODIImage-V3.1
Linuxsoftware
Linuxkernel3.4image
CompulsivemodificationofHDMIoutputresolution
Linuxmainlinekernelimage
BPI-M1WiringPi
WiringPipython
Pi4JProject
OpenWRT
OfficealOpenWRT
HowtobuildOpenWRTimagefromgithub
LamoboOpenwrtimage
AsteriskforVOIP
ArchLinux
1

1.3.8
1.3.9
1.3.10
1.3.11
1.3.12
1.3.13
1.3.14
1.3.15
1.3.16
1.3.17
1.4
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
1.4.6
1.4.7
1.4.8
1.4.9
1.5
1.6
1.7
OpenSuse
BananianLinux
OpenMediaVault
ArmbianLinux
GentooLinux
RaspBSDonBPI-M1
CentOS7LinuxforBPI
lakka.tv
DietPi
FreeBSD/NetBSD
Referencedocuments
BPI-M1linux-sunxiwiki
NetBSD\/evbarmonAllwinnerTechnologySoCs
ArchlinuxwikiforBPI-M1
NasforBPI
BuildingtheclusteronBPI
HowtobootingfromSSDusingLubuntu\/Raspbian
bananapibooks
Linuxmainliningeffort
Allwinnerchipdocuments
AllBananaPiSBCComparison
Allbananapiproduct
BPI4.0customizedServer
2

bananapiBPI-M1
BPI-M1isanOpenSourcehardwareplatform.BananaPIBPI-M1adualcore,whichismuchbetterthantheRaspberryPi.
TheBananaPiBPI-M1hardwarerunsAndroid,DebianLinux,UbuntuLinux,OpenSuselinuxandimagesthatrunonthe
RaspberryPiBandCubieboard.
BananaPIBPI-M1hasaGigabitEthernetportandaSATASocket.ItcanrunwithAndroid4.2.2smoothly.Thesizeof
BananaPIM1isaboutthesamesizeasacreditcard,
Itcaneasilyrungamesasitsupports1080Phighdefinitionvideooutput.TheGPIOiscompatiblewithRaspberryPiand
canrunRaspberryPiimagesdirectly.
forum:http://www.banana-pi.org
forum:http://www.bananapi.com
product:http://www.banana-pi.com
easytobuyasample:
BPI-M1
3

BPI-M1Hardware
BIP-M1with26PIN
BPI-M1+with40pinandsupportWIFIonboard
BPI-M1hardware
4

BPI-M1hardware
5

BPI-M1hardwareinterface
Hardwareinterface:
BPI-M1hardwareinterface
6

BPI-M1hardwareinterface
7

hardwareinterface:
BPI-M1hardwareinterface
8

Hardwarespecification
CPU A20ARMCortex™-A7Dual-Core
GPU ARMMali400MP2ComplieswithOpenGLES2.0/1.1
Memory (SDRAM)1GBDDR3(sharedwithGPU)
OnboardStorage SD(Max.64GB)/MMCcardslotUPto2Ton2.5SATAdisk
OnboardNetwork 10/100/1000EthernetRJ45,optionalWIFI
VideoInput ACSIinputconnectorallowsfortheconnectionofadesignedcameramodule
VideoOutputs HDMI,CVBS,LVDS/RGB
AudioOutput 3.5mmJackandHDMI
PowerSource 5voltviaMicroUSB(DCInOnly)and/orMicroUSB(OTG)
USB2.0Ports 2(directfromAllwinnerA20chip)
Buttons Resetbutton:NexttoMicroUSBconnector,Powerbutton:NexttoResetbutton,Bootbutton
(Optional):BehindHDMIconnector
GPIO(2X13)pin GPIO,UART,I2Cbus,SPIbuswithtwochipselects,CANbus,ADC,PWM,+3.3v,+5v,ground.
LED PowerKey&RJ45
Remote IR(Optional)
OS Android4.2,Linuxetc.OS
Productsize 92mm×60mm
Weight 48g
working
temperaturerange -15~75℃
BPI-M1hardwarespec
9

bananapiBPI-M126PINGPIOdefine
BananaPiBPI-M1hasa26-pinGPIOheaderthatmatchesthatoftheModelAandModelBRaspberryPi.Followingisthe
BananaPiGPIOPinout:
Note:5V1,5V2onlysupportoutput,notsupportinput
CSICameraConnectorspecification:
BPI-M1GPIOPindefine
10

CSICameraConnector
TheCSICameraConnectorisa40-pinFPCconnectorwhichcanconnectexternalcameramodulewithpropersignalpin
mappings.ThepindefinitionsoftheCSIinterfaceareshownasbelow.ThisismarkedontheBananaPiboardas“CON1″.
CSIPin PinName GPIO
CON1P01 LINEINL
CON1P02 LINEINR
CON1P03 VCC-CSI
CON1P04 ADC_X1
CON1P05 GND
CON1P06 ADC_X2
CON1P07 FMINL
CON1P08 ADC_Y1
CON1P09 FMINR
CON1P10 ADC_Y2
CON1P11 GND
CON1P12 CSI-FLASH PH17
CON1P13 LRADC0
CON1P14 TWI1-SDA PB19
CON1P15 LRADC1
CON1P16 TWI1-SCK PB18
CON1P17 CSI-D0 PE4
CON1P18 CSI0-STBY-EN PH19
CON1P19 CSI0-D1 PE5
CON1P20 CSI-PCLK PE0
CON1P21 CSI-D2 PE6
CON1P22 CSI0-PWR-EN PH16
CON1P23 CSI-D3 PE7
CON1P24 CSI0-MCLK PE1
CON1P25 CSI-D4 PE8
CON1P26 CSI0-RESET# PH14
CON1P27 CSI-D5 PE9
CON1P28 CSI-VSYNC PE3
CON1P29 CSI-D6 PE10
CON1P30 CSI-HSYNC PE2
CON1P31 CSI-D7 PE11
CON1P32 CSI1-STBY-EN PH18
CON1P33 RESET#
CON1P34 CSI1-RESET# PH13
BPI-M1GPIOPindefine
11

CON1P35 CSI-IO0 PH11
CON1P36 HPR
CON1P37 HPL
CON1P38 IPSOUT
CON1P39 GND
CON1P40 IPSOUT
LVDSspecification
LVDS(LCDdisplayinterface)
TheLVDSConnectorisa40-pinFPCconnectorwhichcanconnectexternalLCDpanel(LVDS)andtouchscreen(I2C)
moduleaswell.Thepindefinitionsofthisconnectorareshownasbelow.ThisismarkedontheBananaPiboardas
“CON2″.
LVDSPin PinName MultiplexFunctionSelect GPIO
Multi1 Multi2
CON2P01 IPSOUT(5Voutput)
CON2P02 TWI3-SDA PI1
CON2P03 IPSOUT(5Voutput)
CON2P04 TWI3-SCK PI0
CON2P05 GND
CON2P06 LCD0-IO0 PH7
CON2P07 LCDIO-03 PH12
CON2P08 LCD0-IO1 PH8
CON2P09 LCD0-D0 LVDS0-VP0 PD0
CON2P10 PWM0 PB2
CON2P11 LCD0-D1 LVDS0-VN0 PD1
CON2P12 LCD0-IO2 PH9
CON2P13 LCD0-D2 LVDS0-VP1 PD2
CON2P14 LCD0-DE PD25
CON2P15 LCD0-D3 LVDS0-VN1 PD3
CON2P16 LCD0-VSYNC PD27
CON2P17 LCD0-D4 LVDS0-VP2 PD4
CON2P18 LCD0-HSYNC PD26
CON2P19 LCD0-D5 LVDS0-VN2 PD5
CON2P20 LCD0-CS PH6
CON2P21 LCD0-D6 LVDS0-VPC PD6
CON2P22 LCD0-CLK PD24
CON2P23 LCD0-D7 LVDS0-VNC PD7
CON2P24 GND
CON2P25 LCD0-D8 LVDS0-VP3 PD8
BPI-M1GPIOPindefine
12

CON2P26 LCD0-D23 PD23
CON2P27 LCD0-D9 LVDS0-VN3 PD9
CON2P28 LCD0-D22 PD22
CON2P29 LCD0-D10 PD10
CON2P30 LCD0-D21 PD21
CON2P31 LCD0-D11 PD11
CON2P32 LCD0-D20 PD20
CON2P33 LCD0-D12 PD12
CON2P34 LCD0-D19 PD19
CON2P35 LCD0-D13 PD13
CON2P36 LCD0-D18 PD18
CON2P37 LCD0-D14 PD14
CON2P38 LCD0-D17 PD17
CON2P39 LCD0-D15 PD15
CON2P40 LCD0-D16 PD16
UARTspecification:
ThejumperJ11istheUARTinterface.FordevelopersofBananaPi,thisisaneasywaytogettheUARTconsoleoutputto
checkthesystemstatusandlogmessage.
J11Pin PinName MultiplexFunctionSelect GPIO
Multi1 Multi2
J11Pin1 TXD UART0-TX PB22
J11Pin2 RXD UART0-RX PB23
ThejumperJ12providesthepowersourceincluding3.3Vand5V.ThereisapairofUARTTX/RXsignalsoutputhere.
J12Pin PinName MultiplexFunctionSelect GPIO
Multi1 Multi2
J12Pin1 5V
J12Pin2 3.3V
J12Pin3 NC IO-7 PH5
J12Pin4 RXD UART7_RX PI21
J12Pin5 NC IO-8 PH3
J12Pin6 TXD UART7_TX PI20
J12Pin7 GND
J12Pin8 GND
AllGPIOdefinelist:
BPI-M1GPIOPindefine
13

BPI-M1GPIOPindefine
14

BPI-M1SDcardslot
BPI-M1+havesupportaSDcardslot.youcanburnimagetoSDcard,anduseitbootBPI-M1sameasraspberrypi.
BPI-M1SDcardslot
15

BPI-M1GigERJ45LAN
BPI-M1haveoneGigELANport.useRTL8211Echiponboard
BPI-M1GigELAN
16

BPI-M1HDMIinterface
BPI-M1hasastandardHDMI1.4interface.soWecanuseHDMI-to-HDMIcabletoconnectBPI-M1tothedisplaymonitor
thathasHDMIinterface.
ButIfthedisplaymonitordoesn'thaveHDMIinterface,onlyVGAorDVIport.WeshoulduseHDMI-to-VGAorHDMI-to-DVI
cabletoconnecttheBPI-M1tothedisplaymonitor.
Note:iftheHDMI-to-VGA/DVIcableisabadqualitycable,itwillgowrongonthemonitordisplay.pleasechooseagood
qualitycableforBPI-M1
BPI-M1HDMIinterface
17

BPI-M1IRinterface
BPI-M1supportIRinterfaceonboard.youcanuseitasremotecontrol.
HowtouseIRinterface
testonbananianimage:
1,installlirc
apt-getinstalllirc
apt-getinstallevtest
2,edit/etc/lirc/hardware.confasbelow:
nano/etc/lirc/hardware.conf
#/etc/lirc/hardware.conf
#
#Argumentswhichwillbeusedwhenlaunchinglircd
LIRCD_ARGS="--uinput"
#Don'tstartlircmdevenifthereseemstobeagoodconfigfile
#START_LIRCMD=false
#Don'tstartirexec,evenifagoodconfigfileseemstoexist.
#START_IREXEC=false
#Trytoloadappropriatekernelmodules
LOAD_MODULES=true
#Run"lircd--driver=help"foralistofsupporteddrivers.
DRIVER="UNCONFIGURED"
#usually/dev/lirc0isthecorrectsettingforsystemsusingudev
DEVICE="/dev/input/event0"
MODULES="sunxi-ir"
ctrl+Osaveandctrl+xexit.
3,testlirc
servicelircstart
4testremote-controlunit
evtest
choose"0"mustxunxi-ir
BPI-M1IRinterface
18

pleasenote:value0value1
pressis:1,unpressis:0
BPI-M1IRinterface
19

BPI-M1CANBus
Inordertoportcan4linuxtotheBananaPi,theCANmoduledescriptionisneededfromtheA20hardwaremanual.
can4linuxisacharacter-driver-basedLinuxdriverusedalreadyondesktopPCsandembeddedplatformslikeFreescale
FlexCAN(thei.MXseriesofmicrocontrollers)orXilinyZynq.
ThereisamoredetaileddocumentaboutCANontheA20athttps://dl.linux-sunxi.org/A20/CAN%20Bus1.pdf
ThisisatutorialforusingCANBUSonbananapiwithbananian15-01
Thankselqcirsharethisexample:
Downloadandinstall"bananian-1501.img"into8GBSDCard.
Expandtherootfilesystemusing"bananian-config"
Installmissingpackage:
apt-getinstallgit
apt-getupdate
apt-getupgrade
reboot
Getlastbananianavailable,andcontinutoinstallmissingpackage:
gitclonehttps://github.com/Bananian/linux-bananapi
apt-getinstallbuild-essentialu-boot-toolsuboot-mkimage
apt-getinstalllibusb-1.0-0libusb-1.0-0-devgitwgetfakerootkernel-packagezlib1g-devlibncurses5-dev
apt-getinstallsubversion
Buildkernel:
cdlinux-bananapi
makemenuconfig
Exitwithoutsavingwhenmenuappears
zcat/proc/config.gz>/root/linux-bananapi/.config
makeuImagemodules
makeINSTALL_MOD_PATH=outputmodules_install
Atthisstep,kernelshouldbecompiledand"Module.symvers"shouldbeavailable
ThenrenamemodulesandfirmwareprovidebyBananian,andreplacebythenewone.
mv/lib/modules/lib/modules.old
mv/lib/firmware/lib/firmware.old
mv/root/linux-bananapi/output/lib/modules/lib/modules
mv/root/linux-bananapi/output/lib/firmware/lib/firmware
SameforuImage:
mount/dev/mmcblk0p1/mnt
cd/mnt
mvuImageuImage.old
mv/root/linux-bananapi/arch/arm/boot/uImage/mnt
reboot
Createlinkforfurtherbuild:
BPI-M1CANBus
20
Table of contents
Other Banana Pi Motherboard manuals