Banana Pi BPI-M1
Introduction
The Banana Pi BPI-M1 is a business card-sized and low-power single-board computer featuring a high performance AllWinner A20 dual-core SoC at 1 GHz, 1 GB of DDR3 SDRAM, Gigabit Ethernet, SATA, USB, and HDMI connections. It can run a variety of operating systems including Android, Lubuntu, Ubuntu, Debian, and Raspbian.
The BPI-M1 is our first product in our goal of creating an open source devlopment board community. 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.
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.
Key Features
- Allwinner A20 Dual-core 1.0GHz CPU
- Mali-400 MP2 with Open GL ES 2.0/1.1.
- 1 GB DDR3 memory.
- 1x SATA interface.
- 1x Gigabit LAN
- 1x USB otg and 2x USB 2.0
- 1X MIC
- AV vide out
- HDMI out
- IR
- CSI camera interface
- DSI display interface
- 26 PIN gpio
Getting Start
Hardware
Hardware interfact
Hardware spec
Banana Pi BPI-M1 | |
---|---|
CPU | A20 ARM Cortex -A7 Dual-Core |
GPU | ARM Mali 400 MP2; Complies with OpenGL ES 2.0/1.1 |
Memory | 1GB DDR3 |
Network | 10/100/1000 Ethernet 8P8C (1000BASE-T) |
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 | 5 volts DC via Micro USB or GPIO |
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, |
GPIO PIN define
Banana Pi BPI-M1 has a 26-pin GPIO header that matches that of the Model A and Model B Raspberry Pi. Following is the Banana Pi GPIO Pinout:
Note: 5V1,5V2 only support output,not support input
CSI Camera Connector specification:
CSI Camera Connector 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″.
40 PIN GPIO of Banana pi BPI-M1 | |||
CSI GPIO Pin | Pin Name | 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 | 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 GPIO of Banana pi BPI-M1 | |||
LVDS Pin | Pin Name | Multiplex Function Select | GPIO |
Multi 1 | Multi 2 | ||
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 | PH9 | |
CON2 P13 | LCD0-D2 | LVDS0-VP1 | PD2 |
CON2 P14 | LCD0-DE | PD25 | |
CON2 P15 | LCD0-D3 | LVDS0-VN1 | PD3 |
CON2 P16 | LCD0-VSYNC | ||
CON2 P17 | LCD0-D4 | LVDS0-VP2 | PD4 |
CON2 P18 | LCD0-HSYNC | ||
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 J11 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.
Jumper J11 of Banana pi BPI-M1 | |||
J11 Pin | Pin Name | Multiplex Function Select | GPIO |
Multi 1 | Multi 2 | ||
J11 Pin1 | TXD | UART0-TX | PB22 |
J11 Pin2 | RXD | UART0-RX | PB23 |
The jumper J12 provides the power source including 3.3V and 5V. There is a pair of UART TX/RX signals output here.
Jumper J12 of Banana pi BPI-M1 | |||
J12 Pin | Pin Name | Multiplex Function Select | GPIO |
Multi 1 | Multi 2 | ||
J12 Pin1 | 5V | ||
J12 Pin2 | 3.3V | ||
J12 Pin3 | NC | IO-7 | PH5 |
J12 Pin4 | RXD | UART7\_RX | PI21 |
J12 Pin5 | NC | IO-8 | PH3 |
J12 Pin6 | TXD | UART7\_TX | PI20 |
J12 Pin7 | GND | ||
J12 Pin8 | GND |
All GPIO define list:
Software
Android
Linux
Opnewrt
Development
Basic Development
Resources
Source code
- Android 4.4 source code
Documents
- schematic diagram: google drive
- BPI-M1 DXF file download link : google drive
- BPI-M1 3D design file download link :google drive
- CE FCC RoHS : 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
- 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
Armbian image
- Armbian Xenial and Armbian Jessie
- Image lownload link :https://www.armbian.com/bananapi/
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
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