Table of Contents

About BPI-M3 1.1 BPI-M3 hardware 1.2 BPI-M3 hardware interface 1.2.1 BPI-M3 hardware spec 1.2.2 BPI-M3 GPIO Pin define 1.2.3 BPI-M3 micro SD card slot 1.2.4 BPI-M3 GigE LAN 1.2.5 BPI-M3 eMMC flash 1.2.6 BPI-M3 SATA interface 1.2.7 BPI-M3 WIFI interface 1.2.8 BPI-M3 wifi antenna slot 1.2.9 BPI-M3 interface 1.2.10 BPI-M3 HDMI interfact 1.2.11 BPI-M3 CSI camera interface 1.2.12 BPI-M3 MIPI DSI interface 1.2.13 BPI-M3 3.5 mm TRRS jack Audio interface 1.2.14 BPI-M3 Audio microphone interface 1.2.15 BPI-M3 IR interface 1.2.16 BPI-M3 USB interface 1.2.17 BPI-M3 OTG interface 1.2.18 BPI-M3 DC Power interface 1.2.19 BPI-M3 3.7V lithium battery interface 1.2.20 BPI-M3 schematic diagram 1.2.21 BPI-M3 DXF and 3D design 1.2.22 BPI-M3 software 1.3 BPI-M3 Quick Start 1.3.1 Android software 1.3.2

How to burn android image to eMMC 1.3.2.1 How to control GPIO on Android 1.3.2.2

Linux software 1.3.3

How to burn image to eMMC 1.3.3.1 Linux for Kernel 3.4 image 1.3.3.2

GPU for kernel 3.4 1.3.3.2.1 How to rotate display screen 1.3.3.2.2

how to use fatload uEnv.txt & script.bin & kernel uImage 1.3.3.2.3

mainline Linux 1.3.3.3 uboot 1.3.3.3.1

mainline kernel 1.3.3.3.2

OpenWRT 1.3.4

1 BanaNAS - SimpleNas 1.3.5 Lakka TV 1.3.6 BPI-M3 WiringPi 1.3.7 BPI-tools 1.3.8 bpi-bootsel command 1.3.8.1 bpi-get command 1.3.8.2 bpi-copy command 1.3.8.3 bpi-update 1.3.8.4 BPI-M3 source code on github 1.4 How to setup docker env. to build github source code 1.4.1 BPI-M3 Cross Compile teach 1.4.2 BPI-M3 fix rootmydevice issue for Security Alert 1.4.3 How to compile BPI-M3-bsp kernel on BPI-M3 1.4.4 Reference documents 1.5 A83T Linux-sunxi wiki 1.5.1 BPI-M3 linux-sunxi wiki 1.5.2 wikipedia wiki 1.5.3 Linux mainlining effort 1.5.4 BPI-M3 online video 1.5.5 Allwinner documents 1.5.6 BPI-M3 quality guarantee 1.6 BPI-M3 WIFI Lab test 1.6.1 BPI-M3 Validation test 1.6.2 BPI-M3 CE,FCC RoHS Certification 1.6.3 All Banana Pi SBC Comparison 1.7 BPI-M3 vs ODROID-XU4 1.7.1 All banana pi product 1.8 BPI 4.0 customized Server 1.9

2 About BPI-M3

Banana Pi BPI-M3

Banana PI BPI-M3 is the open source hardware platform, Banana PI BPI-M3 is an octa-core version of Banana Pi, Banana PI it support WIFI+BT on board.

Banana Pi BPI-M3 series run Android, linux, linux,Raspbian image and other OS.

Banana PI PBI-M3 hardware: 1.8GHz ARM Cortex-A7 octa-core processor, 2GB LPDDR3 SDRAM, 8G eMMC flash on board

Banana PI BPI-M3with Gigabit port, It can run Android 5.1 smoothly. The size of Banana PI BPI-M3 same as Banana Pi M1, it can play games at 1080P, the GPIO header is pin-compatible with and can run the ROM Image

The Banana Pi BPI-M3 is SinoVoip latest single board computer equipped with an Octa Core processor using the A83T TSMC 28nm chip,based on eight ARM Cortex-A7 CPU core operating at high frequency up to 2.0GHZ.Board hardware specs include 2G LPDDR3 memory operating frequency up to 800Mhz capable of smooth playback at 1901200HD resoltion.Following the A31/A31s design A83T has a PowerVR SG544 GPU runs at frequencies up to around 700MHZ with high image processing performance ensuring the ultimate gaming experience and fluency.

In Multimedia processing,A83T can play 1080P@60fbs including 1080P@20fps videos with H.265 codec support,More than sufficient to meet the needs of end-users daily audio-visiual entertainment.

A83T built ISP image signal processor can support 8MP camera interface and also integrates a full-color display Lai Chip technology that enhances image display quality,not only for the end-users,it brings a more vivid visual experience,while optimizing degree in pastel colors and enhance the end-user,even minimizing eyesight damages especially to children.

Integrated full hardware security system is another major feature of the A83T supports DRM solutions which include high- grade Widevine Level1. HDCP 2.* for Miracast support secure boot \secure storage capabilities to ensure the security system and data.In the power saving area 28nm advanced technology uses high energy-effieient.Cortex-A7 architecture,Performance and power consumption is very balanced in the PoweVR 5 GPU series due to software optimization.

3 About BPI-M3

forum: http://www.banana-pi.org forum: http://www.bananapi.com product: http://www.banana-pi.com

Video:

Banana Pi BPI-M3 UNBOXING + Quickstart https://www.youtube.com/watch?time_continue=308&v=uvW72fhhz48

4 BPI-M3 hardware

Banana pi BPI-M3 octa-core development board

5 BPI-M3 hardware

BPI-M3 use allwinner A83T chip on board. but also can support H8, R58 chip on board. but software need to do some change,when software boot , allwinner source code will check Chip ID and PMU IP, just need change this,all code will can run on three boards. so if you want use allwinner H8 or R58. it is easy to development software.

6 BPI-M3 hardware

BPI-M3-H with H8 chip on board:

test android 5.1.1 on BPI-M3-H: https://www.youtube.com/watch?v=AUCOKEDcUGA&feature=youtu.be

BPI-M3-R with R58 chip on board:

7 BPI-M3 hardware

test android 5.1.1 on BPI-M3-R: https://www.youtube.com/watch?v=XEZqG5yqCcY&feature=youtu.be

8 BPI-M3 hardware interface

BPI-M3 hardware interface

BPI-M3 power with microUSB power (option)

BPI-M3 power with DC port (default)

9 BPI-M3 hardware interface

NOTE: SATA port use USB 2.0 to SATA interface.

10 BPI-M3 hardware spec

BPI-M3 hardware spec

Hardware Specification of Banana pi BPI-M3

Soc Allwinner A83T ARM Cortex-A7

CPU A83T ARM Cortex-A7 octa-core,512 KB L1 cache 1 MB L2 cache

GPU PowerVR SGX544MP1· Comply with OpenGL ES 2.0, OpenCL 1.x, DX 9.3

SDRAM 2GB LPDDR3 with 733MHz(shared with GPU)

Power 5V @ 2A via micro USB power

40 Pins Header, 28×GPIO, some of which can be used for specific functions including UART, I2C, SPI, GPIO PWM, I2S.

On board 10/100/1000Mbps Ethernet (Realtek RTL8211E/D) Network

Wifi WiFi 802.11 b/g/n (AP 6212 module on board) Module

Bluetooth BT4.0

On board MicroSD (TF) card,SATA2.0(up to 2TB - USB-to-SATA: GL830), eMMC 8G on board (option: Storage 16/32/64G)

Supports multi-channel HD display: HDMI 1.4 (Type A - full),MIPI Display Serial Interface (DSI) for raw Display LCD panels,1.4 HDMI resolutions from 640×480 to 1920×1200

Multi-format FHD video decoding, including Mpeg1/2, Mpeg4, H.263, H.264, etc H.264 high profile Video 1080p@60fps or 720p@120fps encoding,HEVC/H.265 decoder 1080P@30fps with software

Audio HDMI, analog audio (via 3.5 mm TRRS jack), I2S audio (also potentially for audio input) outputs

Camera Parallel 8-bit camera interface or MIPI Camera serial Interface(CSI)

Audio On board microphone input

USB 2 USB 2.0 host, 1 USB 2.0 OTG

Buttons Reset button, Power button

Leds Power status Led and RJ45 Led

IR on board IR receiver

Sizes 92mm×60mm

Weight 45g

11 BPI-M3 GPIO Pin define

BPI-M3 GPIO Pin define

GPIO specification

Banana Pi 40-pin GPIO

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

12 BPI-M3 GPIO Pin define

13 BPI-M3 GPIO Pin define

GPIO Pin Name Default Function Function2:GPIO Function3

CON1-P01 VCC-3V3

CON1-P02 DCIN

CON1-P03 TWI2-SDA PH5-EINT5

CON1-P04 DCIN

CON1-P05 TWI2-SCK PH4-EINT4

CON1-P06 GND

CON1-P07 S-PWM PL10-S-EINT10

CON1-P08 UART2-TX PB0-EINT0

CON1-P09 GND

CON1-P10 UART2-RX PB1-EINT1

CON1-P11 PC4 PC4

CON1-P12 UART2-CTS PB3-EINT3

CON1-P13 PC7 PC7

CON1-P14 GND

CON1-P15 PC17 PC17

CON1-P16 UART2-RTS PB2-EINT2

CON1-P17 VCC-3V3

CON1-P18 PL8-ENT8 PL8-S-ENT8

CON1-P19 SPI0_MOSI PC0

CON1-P20 GND

CON1-P21 SPI0_MISO PC1

CON1-P22 PL9-EINT9 PL9-S-EINT9

CON1-P23 SPI0_CLK PC2

CON1-P24 SPI0_CS PC3

CON1-P25 GND

CON1-P26 PH10-ENT10 PH10-ENT10

CON1-P27 TWI1-SDA PH3-EINT3

CON1-P28 TWI1-SCK PH2-EINT2

CON1-P29 PC18 PC18

CON1-P30 GND

CON1-P31 I2S1-BCLK PG10-EINT10 UART3-TX

CON1-P32 I2S1-DIN PG13-EINT13 UART3-CTS

CON1-P33 I2S1-LRCK PG11-EINT11 UART3-RX

CON1-P34 GND

CON1-P35 I2S1-DOUT PG12-EINT12 UART3-RTS

CON1-P36 PE5 PE5

14 BPI-M3 GPIO Pin define

CON1-P37 PE4 PE4

CON1-P38 OWA-DOUT PE18

CON1-P39 GND

CON1-P40 PE19 PE19

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 “CSI”.

CSI Pin Name Default Function Function2:GPIO

CN7-P01 IPSOUT

CN7-P02 AFVCC

CN7-P03 IPSOUT

CN7-P04 IOVDD

CN7-P05 GND

CN7-P06 GND

CN7-P07 CSI2-D3N

CN7-P08 AVDD-CSI

CN7-P09 CSI2-D3P

CN7-P10 DVDD-CSI-R

CN7-P11 GND

CN7-P12 NC

CN7-P13 CSI2-D2N

CN7-P14 CSI-RST-R PE16

CN7-P15 CSI2-D2P

CN7-P16 CSI-STBY-R PE17

CN7-P17 GND

CN7-P18 CSI-PCLK PE0

CN7-P19 CSI2-CKN

CN7-P20 CSI-MCLK PE1

CN7-P21 CSI2-CKP

CN7-P22 CSI-HSYNC PE2

CN7-P23 GND

CN7-P24 CSI-VSYNC PE3

CN7-P25 CSI2-D1N

CN7-P26 CSI-D9 PE13

CN7-P27 CSI2-D1P

CN7-P28 CSI-D8 PE12

15 BPI-M3 GPIO Pin define

CN7-P29 GND

CN7-P30 CSI-D7 PE11

CN7-P31 CSI2-D0N

CN7-P32 CSI-D6 PE10

CN7-P33 CSI2-D0P

CN7-P34 CSI-D5 PE9

CN7-P35 GND

CN7-P36 CSI-D4 PE8

CN7-P37 CSI-SCK PE14

CN7-P38 CSI-D3 PE7

CN7-P39 CSI-SDA PE15

CN7-P40 CSI-D2 PE6

Display specification

MIPI DSI (Display Serial Interface):

The display Connector is a 40-pin FPC connector which can connect external LCD panel (MIPI DSI) 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 “DSI”.

DSI Pin Name Default Function Function2:GPIO

CN6-P01 VCC-MIPI

CN6-P02 IPSOUT

CN6-P03 VCC-MIPI

CN6-P04 IPSOUT

CN6-P05 GND

CN6-P06 IPSOUT

CN6-P07 GND

CN6-P08 IPSOUT

CN6-P09 NC

CN6-P10 GND

CN6-P11 NC

CN6-P12 DSI-D0N

CN6-P13 NC

CN6-P14 DSI-D0P

CN6-P15 NC

CN6-P16 GND

CN6-P17 TWI0-SDA PH1-EINT1

CN6-P18 DSI-D1N

CN6-P19 TWI0-SCK PH0-EINT0

CN6-P20 DSI-D1P

16 BPI-M3 GPIO Pin define

CN6-P21 TP-INT PL7-S-EINT7

CN6-P22 GND

CN6-P23 TP-RST PL6-S-EINT6

CN6-P24 DSI-CKN

CN6-P25 GND

CN6-P26 DSI-CKP

CN6-P27 LCD-BL-EN PD29

CN6-P28 GND

CN6-P29 LCD-RST PD26

CN6-P30 DSI-D2N

CN6-P31 LCD-PWR-EN PD27

CN6-P32 DSI-D2P

CN6-P33 GND

CN6-P34 GND

CN6-P35 LCD-PWM PD28

CN6-P36 DSI-D3N

CN6-P37 GND

CN6-P38 DSI-D3P

CN6-P39 AP-RESET#

CN6-P40 GND

UART specification:

The header 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.

CON2 Pin Name Default Function GPIO

CON2 P03 UART0-TXD PB9

CON2 P02 UART0-RXD PB10

CON2 P01 GND

17 BPI-M3 micro SD card slot

BPI-M3 micro SD card slot

BPI-M3 have support a micro SD card slot. you can burn image to micro SD card ,and use it boot BPI-M3 same as raspberry pi.

Note:

support 8G 16G 32G 64G

please choose class 10 TF card for banana pi.

18 BPI-M3 GigE LAN

BPI-M3 GigE RJ45 LAN

Banana PI BPI-M3 with one Gigabit ethernet port,use RTL8211E chip on board.

19 BPI-M3 eMMC flash

BPI-M3 eMMC flash

BPI-M3 have support 8G eMMC flash on board by defaults. also can support 4-64G eMMC for option: test 64G eMMC flash on BPI-M3 http://forum.banana-pi.org/t/replace-the-on-board-8g-emmc-with-64g-emmc-including-some-test-results/1432

So, you can burn your image to eMMC flash and boot from eMMC flash.

How to burn Android image to eMMC please read this book:

2.2.1 How to burn android image to eMMC

How to burn Linux image to eMMC please read this book:

2.3.1 How to burn linux image to eMMC

Note: the first boot is from microSD card. if you want to boot from eMMC flash ,please remove microSD card from BPI-M3 microSD card slots.

20 BPI-M3 SATA interface

BPI-M3 SATA interface

A83T SoC used on the BPI-M3 isn't SATA capable and therefore the SATA port is provided by an USB-to-SATA-bridge

BPI-M1,BPI-M1+,BPI-R1 use A20 chip on board ,A20 have support SATA interface.

21 BPI-M3 WIFI interface

BPI-M3 WIFI interface

BPI-M3 support AP6212 wifi module on board. it support 802.11/b/g/n wifi.

BPI-M3 Validation test- WIFI we have do Validation test for onboard AP6212 wifi module,all test is pass. http://forum.banana-pi.org/t/bpi-m3-validation-wifi-sdio-test/969 about AP6212 wifi&BT module spec: http://wiki.friendlyarm.com/wiki/images/5/57/AP6212_V1.1_09022014.pdf

22 BPI-M3 wifi antenna slot

BPI-M3 wifi antenna slot banana pi BPI-M3 have support ap6212 wifi&BT module onboard

BPI-M3 have wifi antenna on board

1: wifi onboard antenna. 2: when you want use extend antenna for BPI-M3, you need remove this Rs if you want use a extend antenna for bpi-M3, you can add by youself. wifi extend antenna slot:

wifi extend antenna wifi slot spec:

23 BPI-M3 wifi antenna slot

note: please remove Rs for extend antenna. if you use extend antenna , need to antenna Adaptive test at first.

So you can choose 2DB 3DB or 5DB antenna on BPI-M3.

24 BPI-M3 bluetooth interface

BPI-M3 bluetooth interface

BPI-M3 have AP6212 WiFi&Bluetooth on baord. it support bluetooth function by defaults.

BPI-M3 Validation test- Bluetooth we have do Validation test for onboard AP6212 module bluetooth fuction test ,all test is pass. http://forum.banana-pi.org/t/bpi-m3-validation-uart-bluetooth-test/968

25 BPI-M3 HDMI interfact

BPI-M3 HDMI interfact

BPI-M3 has a standard HDMI 1.4 interface. so We can use HDMI-to-HDMI cable to connect BPI-M3 to the display monitor that has HDMI interface.

But If the display monitor doesn't have HDMI interface,only VGA or DVI port. We should use HDMI-to-VGA or HDMI-to-DVI cable to connect the BPI-M3 to the display monitor.

Note: if the HDMI-to-VGA/DVI cable is a bad quality cable,it will go wrong on the monitor display. please choose a good quality cable for BPI-M3

BPI-M3 Validation - HDMI

Model number:BPI-M3 Android Version: Andriod 5.1 Test Equipments 1. Scope: Tektronix DSA72004 Digital Serial Analyzer Oscilloscope 2. Probe: Tektronix P7380SMA (8GHz/BW)*2&P7313SMA(13GHz/BW) 3. Test Fixture: HDMI Test Board Test Software:HDMI Compliance test solution V4.0.5 Ref Documents 1. HDMI Specification: High-Definition Multimedia Interface Revision: 1.4 2. High-Definition Multimedia Interface Compliance Test Specification Revision: 1.3b

HDMI(1080p) Validation test pass:

26 BPI-M3 HDMI interfact

HDMI(720p) Validation test pass:

27 BPI-M3 CSI camera interface

BPI-M3 CSI camera interface

BPI-M3 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 “CSI”.

CSI pin define: please see: BPI-M3 GPIO pine define

BPI-M3 CSI camera accessories https://bananapi.gitbooks.io/bpi-accessories/content/bpim3camera.html

OV5640 driver:

This is my modified OV5640 driver for the CMOS camera that incorporates many image resolutions and/or image quality. You can take advantage of a higher FPS, Image Quality (Preview or Capture) or Window size, choosing the one that best fit your needs.

This is expected to work with reasonable quality for AW platform (32 bit and 64 bit).

Working window sizes and expected FPS (preview mode)

QSXGA: 2592x1936 (7.5 FPS) QXGA: 2048x1536 (7.5 FPS) 1080P: 1920x1080 (7.5 FPS, 15 FPS) UXGA: 1600x1200 (7.5 FPS, 15 FPS) UXGA: 1280x960 (7.5 FPS, 15 FPS) 720P: 1280x720 (7.5 FPS, 15 FPS) XGA: 1024x768 (7.5 FPS, 15 FPS) SVGA: 800x600 (15 FPS, 30 FPS) VGA: 640x480 (15 FPS, 30 FPS) QVGA: 320x240 (30 FPS) QCIF: 176x144 (30 FPS with some artifacts) link: https://github.com/avafinger/ov5640 from Alex of camera developer., thank Alex do this cool work.

How to use OV8865 on BPI-M3

Step 1: Install git

$ sudo -get install git

Step 2: Update bpi-tools

$ git clone https://github.com/BPI-SINOVOIP/bpi-tools.git5 $ cd bpi-tools $ sudo ./bpi.tools -u -U

Step 3: Use bpi-update to update kerenl (bpi-m3-ov8865.conf)

28 BPI-M3 CSI camera interface

$ mkdir update_file $ cd update_file $ sudo bpi-update - bpi-m3-ov8865.conf $ sudo reboot

Step 4: Check again to see if the kernel's been updated. The version should be newer than Thu Nov 17 08:10:07 UTC 2.016

$ sudo uname -a pi@bpi-iot-ros-ai:~$ uname -a Linux bpi-iot-ros-ai 3.4.39-BPI-M3-Kernel #4 SMP PREEMPT Thu Nov 17 08:10:07 UTC 2016 armv7l armv7l armv7l GNU/Linux

Step 5: Run command (use the ov8865 record video)

$ sudo -3.1.4 -f v4l2 -channel 0 -video_size 1920x1080 -i /dev/video0 -pix_fmt nv12 -r 22 -c:v cedrus264 bpi-m3 _ov8865_test_1920x1080.mp4

OV8865 camera demo: https://www.youtube.com/watch?v=Jp8jjKAlubM

How to use OV5640 on BPI-M3:

Step 1: Install git

$ sudo apt-get install git

Step 2: Update bpi-tools

$ git clone https://github.com/BPI-SINOVOIP/bpi-tools.git5

$ cd bpi-tools

$ sudo ./bpi.tools -u -U

Step 3: Use bpi-update to update kerenl

$ mkdir update\_file

$ cd update\_file

$ sudo bpi-update -c bpi-m3.conf

$ sudo reboot

Step 4: Check again to see if the kernel's been updated.

The version should be newer than **Thu Nov 17 08:10:07 UTC 2.016**

$ sudo uname -a

pi@bpi-iot-ros-ai:~$ uname -a

Linux bpi-iot-ros-ai 3.4.39-BPI-M3-Kernel \#4 SMP PREEMPT Thu Nov 17 08:10:07 UTC 2016 armv7l armv7l armv7l GNU/Linu x

Step 5: Run command (use the ov5640 record video)

29 BPI-M3 CSI camera interface

$ sudo ffmpeg-3.1.4 -f v4l2 -channel 0 -video\_size 1920x1080 -i /dev/video0 -pix\_fmt nv12 -r 22 -c:v cedrus264 bpi- m3\_ov5640\_test\_1920x1080.mp4

OV5640 camera demo: https://www.youtube.com/watch?v=I3XV2rOXBfM

30 BPI-M3 MIPI DSI interface

BPI-M3 MIPI DSI interface

MIPI DSI (Display Serial Interface):

The display Connector is a 40-pin FPC connector which can connect external LCD panel (MIPI DSI) 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 “DSI”.

DSI pin define: please see: BPI-M3 GPIO pine define

BPI-M3 with LCD touch panel video demo on youtube: https://www.youtube.com/watch?v=tSqELzDR410

BPI-M3 LCD touch panel accessories https://bananapi.gitbooks.io/bpi-accessories/content/bpi70lcdtouchpanel.html

note:the touch panel accessories support RGB interface and MIPI interface ,when you use BPI-M3, please choose MIPI interface.

31 BPI-M3 3.5 mm TRRS jack Audio interface

BPI-M3 3.5 mm TRRS jack Audio interface

BPI-M3 support 3.5 mm TRRS jack Audio interface on board.

How to use MIC & Headset on BPI-M3

Step 1: Modity rc.local

rm -f /usr/share/icons/hicolor/scalable/apps/libreoffice-*.svg || true rm -f /usr/share/applications/squeak.desktop || true

/usr/sbin/alsactl restore # headset mixer /usr/bin/amixer -c 0 cset numid=114 1 /usr/bin/amixer -c 0 cset numid=65 0 /usr/bin/amixer -c 0 cset numid=66 0 /usr/bin/amixer -c 0 cset numid=75 1 /usr/bin/amixer -c 0 cset numid=68 1 /usr/bin/amixer -c 0 cset numid=84 1 /usr/bin/amixer -c 0 cset numid=88 1 /usr/bin/amixer -c 0 cset numid=104 0 /usr/bin/amixer -c 0 cset numid=103 0 /usr/bin/amixer -c 0 cset numid=26 61 # amic mixer /usr/bin/amixer -c 0 cset numid=108 0 /usr/bin/amixer -c 0 cset numid=107 0 /usr/bin/amixer -c 0 cset numid=99 1 /usr/bin/amixer -c 0 cset numid=95 1 /usr/bin/amixer -c 0 cset numid=28 0 /usr/bin/amixer -c 0 cset numid=27 0 /usr/bin/amixer -c 0 cset numid=41 1 /usr/bin/amixer -c 0 cset numid=34 1 /usr/bin/amixer -c 0 cset numid=15 4

/usr/sbin/alsactl store

exit 0

Step 2: Install Recorad application

sudo apt-get install audacity

Step 3: Try it

32 BPI-M3 Audio microphone interface

BPI-M3 Audio microphone interface

BPI-M3 support Audio microphone interface on board.

33 BPI-M3 IR interface

BPI-M3 IR interface

BPI-M3 support IR interface on board. you can use it as remote control.

How to enable IR in BPI-M3 (Linux OS)

Step 1: Insmod IR lib

$ sudo insmod /lib/modules/3.4.39-BPI-M3-Kernel/kernel/drivers/input/keyboard/sunxi-ir-rx.ko

Step 2: Turn on (IR debug mode)

$ cd /sys/module/sunxi_ir_rx/parameters $ sudo su $ echo 0xff > debug_mask

Step 3: Input IR keycode and check log

$ dmesg

[ 2797.200733] dcnt = 70 [ 2797.200753] 351 active_delay = 128 [ 2797.200772] 366 len = 153 [ 2797.200795] IR code = 0x609ff708 [ 2797.200821] IR RAW CODE : 159 [ 2797.200903] IR CODE : 159 [ 2797.201020] IR KEY VALE 159 [ 2797.201047] ir_rx_irq_service: Rx Packet End, code=0x609ff708, ir_code=0x609

Ex: Open Browser (IR keycode=150)

demo to open Browser:

34 BPI-M3 IR interface

Reference Key_Map: https://www.redhat.com/archives/libvir-list/2011-May/msg01609.html

How to enable IR in BPI-M3 (Android) how to do check IR address on Android.

echo 0xff > /sys/module/sunxi_ir_rx/parameters/debug_mask

<7>[ 625.998452] IR code = 0xf20d4040 <7>[ 625.998473] IR RAW CODE : 13 <7>[ 625.998542] IR CODE : 13 <7>[ 625.998629] IR KEY VALE 13 <7>[ 625.998653] ir_rx_irq_service: Rx Packet End, code=0xf20d4040, ir_code=0x <6>[ 625.998717] cpus_wakeup_config_handler: address: 0x4040, powerkey: 0x0a <6>[ 626.002717] cpus_wakeup_config_handler: ok

BPI IR remoter control accessoires: https://bananapi.gitbooks.io/bpi-accessories/content/irremotecontrol.html

35 BPI-M3 USB interface

BPI-M3 USB interface

BPI-M3 have two USB 2.0 interface on board.so you can connect Keyboard,mouse, USB camera and ... on BPI-M3

BPI-M3 Android demo with USB camera UVC

USB camera : Logitech C920r HD Pro http://www.logitech.com/en-hk/product/hd-pro-webcam-c9203

Step 1 :

Burn the Android Images onto the SD-Card http://www.banana-pi.org/download.html#e-panel1

Step 2 :

Install thrid-party apk (USB Camera Trial 2.1.7 APK) http://apk-dl.com/usb-camera-trial2

Step 3 :

Open USB Camera Trial 2.1.7 APK logitech C920r HD Pro:

Regular USB camera (supporting UVC driver):

36 BPI-M3 USB interface

logitech C920r HD Pro Video Demo on youtube: https://www.youtube.com/watch?v=gbK_Qi5B7_Y

BPI-M3 Validation test- USB we have do Validation test for BPI-M3 USB port,all test is pass: http://forum.banana-pi.org/t/bpi-m3-validation-usb2-0/974

37 BPI-M3 OTG interface

BPI-M3 OTG interface banana pi BPI-M3 have 1 OTG port on board.

38 BPI-M3 DC Power interface

BPI-M3 DC Power interface

BPI-M3 power with microUSB power (option)

BPI-M3 power with DC port (default)

Dc power size:

Note: please must use 5V/2A power adapter for BPI-M3. for banana pi BPI-M3 power , all power is spport from AXP PMU. we also support get power direct from DC power:

How to change:

1,FB7 add 0 ohm resistor.

39 BPI-M3 DC Power interface

2,FB4 magnetic bead remove. so power is direct from DC power

Note : if you have do this change , if you use 3.7 battery to power , USB port will not work.

40 BPI-M3 DC Power interface

41 BPI-M3 3.7V lithium battery interface

BPI-M3 3.7 V lithium battery interface

1,Battery interface of BPI series:

2,The red wire of battery connects to the anode on the board, the black wire to the cathode on the board(Note: DCIN pins in the GPIO need 5.0V DC Input)

42 BPI-M3 3.7V lithium battery interface

3,when plugging with lithium battery,the power LED is not on until you press the power-on button for several seconds, and then it boots up.

43 BPI-M3 3.7V lithium battery interface

USB,OTG,DSI,CSI work fine when the board is powered by lithium battery.

4, The battery will be charged when DC power is connected.

44 BPI-M3 3.7V lithium battery interface

45 BPI-M3 schematic diagram

BPI-M3 schematic diagram

You can refer to the contents of our forum from this link:

Google driver

File name :BPI-M3 V1_2 schematic diagram 20151014(RELEASE).pdf

46 BPI-M3 DXF and 3D design

BPI-M3 DXF and 3D design banana pi BPI-M3 have public DXF file and 3D design file ,so user to DIY case by theyself.

BPI-M3 DXF file download link:

Google driver

BPI-M3 3D design file download link:

Google driver

47 BPI-M3 software

BPI-M3 software banana pi BPI-M3 support Android 5.1.1 and linux we will update more image on our website . if any user have build youself image ,please share it.

48 BPI-M3 Quick Start

BPI-M3 Quick Start

Step 1: Get what you need

First time to enjoy your Banana Pi, you need at least the accessories in the table below.

No. Item Minimum recommended specification & notes

SD card is optional. If need to boot form SD card, Minimum size 8GB, class 10 (the class 1 MicroSD card indicates how fast the card is). We recommend using branded SD cards as they are more reliable.

avHDMI(Full HDMI to HDMI lead (for HD TVs and monitors with HDMI input).OR HDMI to DVI lead 2 sized) to HDMI (for monitors with DVI input). / DVI lead

Any standard USB keyboard and mouse should work. keyboards or mice that take a lot Keyboard and 3 of power from the USB ports, however, may need a powered USB hub. This may include mouse some wireless devices.

Networking is optional, although it makes updating and getting new software for your 4 Ethernet cable Banana Pi much easier.

Micro USB A good quality, USB Power supply that can provide at least 5V/2A is essential.OTG also 5 power adapter can power the board, but it is not recommended.

Audio lead 6 You can choose a 3.5mm jack audio led to connect to audio port to get stereo audio. (Optional)

Mobile Hard 7 You can choose to connect a mobile hard disk to USB port to store more files. disk (Optional)

Base you need below:

49 BPI-M3 Quick Start

Step 2: Download the relevant Image file:

Please visit our webmaster: www.banana-pi.org to download image, banana pi all image can be download form this web.

Step3: Prepare your SD card for the Banana Pi

In order to enjoy your Banana Pi BPI-M3, you will need to install an (OS) onto an SD card or eMMC Flash. Instructions below will teach you how to write an OS image to your SD card or eMMC Flash under Windows and Linux.

1.Insert your SD card into your computer. The size of SD should be larger than the OS image size, generally 8GB or greater.

2.Format the SD card.

Format your SD under Windows os :

Download the a SD card format tool such as SD Formatter from https://www.sdcard.org/downloads/formatter_4/eula_windows/

*Unzip the download file and run the setup.exe to install the tool on your machine.

*In the "Options" menu, set "FORMAT TYPE" option to QUICK, "FORMAT SIZE ADJUSTMENT" option to "ON".

50 BPI-M3 Quick Start

*Check that the SD card you inserted matches the one selected by the Tool.

*Click the “Format” button.

Format your SD under Linux os :

*Run fdisk –l command to check the SD card node.

*Run sudo fdisk /dev/sdx command to delete all partition of SD card.

*Run mkfs –t vfat /dev/sdx command to format the entire SD card as FAT. (x should be replaced according to your SD card node)

3,Download the OS image from Download district(http://www.banana-pi.org)

4.Unzip the download file to get the OS image.

Windows: Right click on the file and choose “Extract all”.

Linux: Run unzip [downloaded filename] command.

5.Write the image file to the SD card.

Android image

5.1 You need to use Phoenix Card to make the SD card. Download the Phoenix Card from https://drive.google.com/open? id=0BzoTh3Vdt47ffi1ld0RuWXhUVzdYdjFjaHEtMlNQWVFTRmIxcC1OQnczSTV6OGRZWGplNU0

51 BPI-M3 Quick Start

5.2 Run PhoenixCard.exe, Press “Disk Check” and select disk of SD Card.

5.3 Press “Image File” and Select system.img.

52 BPI-M3 Quick Start

5.4 Press “Burn” to start upgrading, Upgraded complete, Press “Exit”.

Linux image:

5.6 burun Linux image under Windows os:

*Download a tool that can wirte image to SD card, such as Win32 Diskimager from: http://sourceforge.net/projects/win32diskimager/files/Archive/

*Open the unzipped image file

*Click Write button. Wait patiently to successfully complete writing.

5.7 burun Linux image under Linux os:

*Run fdisk –l command to check the SD card node.

*Run dd if=[imagename] of=/dev/sdx command to write image file to SD card. Wait patiently to successfully complete writing.

Step4: Set up your Banana Pi M3

According to the set up diagram below, you can easily set up your Banana Pi.

53 BPI-M3 Quick Start

1. Insert the written-image SD card that to the SD card spot on the left side edge of the underside of the board. 2. 2.On the bottom "edge" in the middle of the board is the HDMI Type A (Full sized) port. Just connect any HDMI cable from the board to your TV or HDMI Monitor. 3. Plug a USB keyboard and mouse into the USB slots located on the right edge. 4. Just under the USB ports on the right edge is the Ethernet connector for anyone who wants to plug the Banana Pi into a wired network. 5. 5.Finally, at the very left of the bottom edge is the USB power connector. Plug in a regulated power supply that is rated at 5V ±5% / 2000mA (or 2A). Any number bigger than 700 mA will also work. Avoid using the smaller chargers used for small GSM phones, as these are often unregulated, even if they claim "5V 1A", they may do "5V" and may do "1A", but not at the same time!

If all goes well, the Banana Pi will boot in a few minutes. The screen will display the OS GUI.

Step5: Shut down your Banana Pi

You can use the GUI to shut down the Banana Pi safely.

Also you can run the command in the terminal:

sudo halt or sudo shutdown –h

This will shut down the PI safely, (just use the power key to turn off might damage the SD-cards file system). After that you can press the power key for 5 seconds to turn it off.

If all is well ,so you can use banana pi M3 now. video on youtube : how to burn to your SD card ,all linux image is same: https://www.youtube.com/watch?v=MRNNC6D4F48

54 BPI-M3 Quick Start

55 Android software

Android 5.1.1 image

New image: Android 5.1 (Vsersion:V4) 2017-01-10

Release Note:

1. WIFI can't boot issue - Fixed 2. Power consumption issue - Fixed 3. Google service - Supported 4. Android 5.0 - Optimized

HDMI-Version

Google Drive: https://drive.google.com/open?id=0B_YnvHgh2rwjMVFnQzRhTmM5Q0U

Baidu Cloud: https://pan.baidu.com/s/1sl6fXBv

MD5: 85915509ad849fc7fa28bcaf0528e877

LCD-Version

Google Drive: https://drive.google.com/open?id=0B_YnvHgh2rwjazUxenhSVnllaDQ

Baidu Cloud: https://pan.baidu.com/s/1jIK7wAq

MD5: feada8d6ee0ae29a30d1aa1b1be40472

New image: Android 5.1 (Vsersion:V3)

56 Android software

Release Note:

1. LED Trigger default disable 2. WIFI-Hotspot feature supported 3. Muti-Resolution feature supported (HDMI version only) 4. Static IP feature supported 5. Android root feature supported 6. support double-screen display, MIPI Display and HDMI display. 7. support 720P and 1080P 8. wifi working fine. 9. 1000M RJ45 working fine 10. emmc working fine. 11. USB and OTG working fine.

HDMI-Version

Google Drive: https://drive.google.com/file/d/0B-L3cPQfpxGZeGRDTER1U0tTdkU/view23

Baidu Cloud: http://pan.baidu.com/s/1c2juiZY3

MD5: 918b1d3707ce58cd203d0b392fa4cc8b

LCD-Version

Google Drive: https://drive.google.com/file/d/0B-L3cPQfpxGZb2NnYTJfUjdNWnc/view10

Baidu Cloud: http://pan.baidu.com/s/1c1TfhIw1

MD5: d5d8e33b05d1db502ad3d527e512ab27 discuss on forum:

57 Android software

http://forum.banana-pi.org/t/bpi-m3-new-image-android-5-1-vsersion-v3/1850

58 How to burn android image to eMMC

How to burn android image to eMMC under windows

1,download android 5.1.1 image from http://www.banan-pi.org download page.

2,if your PC is windows OS, please download PhoenixSuit.zip tooling to burn if your PC is Linux OS, please download Linux 32bit or Linux 64bit tooling example: burn android image to EMMC on windows.

1,install PhonenixSuit.

2,running PhonenixSuit. chick "one key to burn" choose your android image file .

3,press on BPI-M3 uboot key. and plug in micro USB data line.

59 How to burn android image to eMMC

4,press on Power key to boot BPI-M3.

5,press Yes to burn image:

6,if all is ok , try to boot from eMMC , if not success ,just need try again.

Video demo how to burn android image to eMMC:

This is a guide on burning the Android image onto the eMMC on the Banana Pi BPI-M3. The eMMC is 8GB and decently fast.

You will need to burn android onto MicroSD with Phoenix Card first and boot it. Then you need to enable USB debugging, install Google Composite ADB drivers, and write the image to eMMC with Phoenix Suit. Then you can take out the MicroSD card and boot M3 from eMMC. https://www.youtube.com/watch?v=FZp6wGtgKd8&feature=youtu.be

60 How to burn android image to eMMC

How to burn android image to eMMC under Linux

1,download android image from http://www.banan-pi.org download page.

2,download Linux 32bit or Linux 64bit tooling

3,Ubuntu OS run LiveSuit_For_Linux32(or 64) Directory LiveSuit.run

sudo ./LiveSuit.run if prompt message missing dkms module,please install it:

sudo apt-get install dkms

sudo ./LiveSuit.run

4,install drivers:

sudo -i awdev-dkms_0.4_all.

5,when finished ,reboot system

6,Ubuntu system add udev rules:

sudo vim /etc/udev/rules.d/10-local.rules

7 input udev rules: note: please replace GROUP="text" text with your user group.

SUBSYSTEM!="usb_device", ACTION!="add", GOTO="objdev_rules_end" #USBasp ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="efe8", GROUP="text", MODE="0666" LABEL="objdev_rules_end" save & reboot or just reboot udev server, so you can run LiveSuit.sh as a general user,reboot udev commond :

sudo service udev restart

8 run burn tooling(home/usernamer/Bin )

./LiveSuit.sh

9 Click "Yes" button to burn eMMC note: when burn eMMC, it will clean all document on eMMC.

61 How to burn android image to eMMC

10, when all is OK ,just rebbot BPI-M3, and boot android image from eMMC flash.

62 How to control GPIO on Android

BPI-M3 How to control GPIO on Android

How to use GPIO (control the LED on the board ) on M3 Android Images

Note : please use BPI-M3 android V3 image.

OS: Android V3.0 HDMI

reg-81x-cs-gpio0ldo/max_microvolts : Blue Led reg-81x-cs-gpio1ldo/max_microvolts : Green Led

Step 1:Burn M3-Android images to Sdcard/Emmc

Sep 2: Please input adb commnad

adb remount adb shell chmod /system/bin/su

Step 3: copy this sample to your app

Sample Code

63 How to control GPIO on Android

package com.bpim3.leddemo;

import android.app.Activity; import android.os.Environment; import android.os.Handler; import android.os.HandlerThread; import android.util.Log;

import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;

public class TestLED extends Thread {

private String TAG = "Test-LED";

TestLED() { }

@Override public void run() { // TODO Auto-generated method stub try { Runtime command = Runtime.getRuntime(); Process proc; DataOutputStream opt; proc = command.exec("su"); opt = new DataOutputStream(proc.getOutputStream()); Log.d(TAG, "LED Testing start."); while (true) { LEDRun(opt); }

} catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

private void LEDRun(DataOutputStream opt) { try { opt.writeBytes("echo 3000 > /sys/bus/platform/devices/reg-81x-cs-gpio0ldo/max_microvolts\n"); opt.writeBytes("echo 3000 > /sys/bus/platform/devices/reg-81x-cs-gpio1ldo/max_microvolts\n"); // Log.d(TAG, "LED ON."); Thread.sleep(500);

opt.writeBytes("echo 0 > /sys/bus/platform/devices/reg-81x-cs-gpio0ldo/max_microvolts\n"); opt.writeBytes("echo 0 > /sys/bus/platform/devices/reg-81x-cs-gpio1ldo/max_microvolts\n"); // Log.d(TAG, "LED OFF."); Thread.sleep(500);

} catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }

} video demo on youtube: https://www.youtube.com/watch?v=3oxzamthXHw

64 How to control GPIO on Android

65 Linux software

Linux software

66 How to burn Linux image to eMMC

How to burn Linux image to eMMC

OS: BPI-M3 Ubuntu15.10 (Kernel3.4)

Version: 1.0 HDMI

Step 1: Start up the computer with the SD card which has been burnt with the Linux images.

Step 2: Put the images which you'd like to burn to the EMMC Storage to the USB drive.

Step 3: Run "fdisk -l" command line on your BPI-M3 and you can see the EMMC path as " /dev/mmcblk1"

sudo fdisk -l

Step 4:Switch to the path of images, and run the command.

sudo dd if=ubuntu--15.10-desktop-armhf-raspberry-pi-2-bpi-m3-sd-emmc-20151203.img of=/dev/mmcblk1 bs=10MB

67 How to burn Linux image to eMMC

Step 5:When finish burning, remove the SD card, and restart the BPI-M3

Step 6:Check if the system starts normally on the EMMC flash boot. video demo on youtube: https://www.youtube.com/watch?v=o9YmGhqUYg4&feature=youtu.be

68 Linux for Kernel 3.4 image

Linux for Kernel 3.4

BPI-M3 new image:berryboot-preview-bpi-m3.img 2016- 08-24

2016-08-24-berryboot-preview-bpi-m3.img.zip

1. based on berryboot-20160807-pi2-pi3.zip from http://www.berryterminal.com/doku.php/berryboot 2. BPI-M3 kernel 3.4 3. username & password: pi/bananapi (NOC-PS Lite), root (Ubuntu Core 15.04) 4. support HDMI 1080P & 720P(default) 5. support eMMC 6. support GMAC 7. support WIFI 8. support SATA 9. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2) under Ubuntu Core 15.04 10. support uEnv.txt to fatload script.bin & uImage 11. support uEnv.txt to set video 1080P & 720P & 480P ... 12. support power . up to 2.5A ~ for DC-IN. 13. fix rootmydevice issue 14. preload NOC-PSLite(limited_to_25_servers).img (https://www.noc-ps.com/) 15. preload Ubuntu_Core_15.04.img192 16. preload BerryWebserver.img240 for Minimal webserver distribution (Lighty + PHP + SQLite) 17. thanks to http://www.berryterminal.com/ google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjMENTWEgwckFRaW8/view?usp=sharing

MD5: d242f1914913ad2b73139780ef601c4d discuss on forum:

69 Linux for Kernel 3.4 image

http://forum.banana-pi.org/t/bpi-m3-new-image-berryboot-preview-bpi-m3-img-2016-08-24/2167

PBI-M3 new image:ubuntu-mate-16.04-desktop-armhf- raspberry-pi-bpi-m3-sd-emmc.img 2016-07-21

2016-07-21-ubuntu-mate-16.04-desktop-armhf-raspberry-pi-bpi-m3-sd-emmc.img.zip

1. based on ubuntu 16.04 mate from https://ubuntu-mate.org/download/ 2. BPI-M3 kernel 3.4 3. username & password: pi/bananapi , root/bananapi 4. support HDMI 1080P & 720P(default) 5. support eMMC 6. support GMAC 7. support WIFI 8. support SATA 9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1) 10. support uEnv.txt to fatload script.bin & uImage 11. support uEnv.txt to set video 1080P & 720P & 480P ... 12. support power max. up to 2.5A ~ for DC-IN. 13. fix rootmydevice issue 14. support video play 1080p with vdpau () 15. support GPU PowerVR SGX544MP (glmark2-es2) 16. support BT (default on, command only, can hcitool scan) 17. support nodejs 18. support node-red 19. thanks to ubuntu-mate.org google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjTElER3djb0FhYzQ/view?usp=sharing

MD5: ef066f2bd78eeadbf7b2675197d3124d

70 Linux for Kernel 3.4 image

note : this image is from ubuntu 16.04 for raspberry pi version ,we let it support banana pi. support GPU and powerVR gpu function. discuss on forum: http://forum.banana-pi.org/t/pbi-m3-new-image-ubuntu-mate-16-04-desktop-armhf-raspberry-pi-bpi-m3-sd-emmc-img-2016- 07-21/2049

BPI-M3 new image: edu-ubuntu-mate-1604-preview-bpi- m3.img

2016-07-19-edu-ubuntu-mate-1604-preview-bpi-m3.img.zip

1. based on ubuntu 16.04 mate from bpi-m3-mate (http://opensource.ntpc.edu.tw/) 2. BPI-M3 kernel 3.4 3. username & password: pi/bananapi , root/bananapi 4. support HDMI 1080P & 720P(default) 5. support eMMC 6. support GMAC 7. support WIFI 8. support SATA 9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1) 10. support uEnv.txt to fatload script.bin & uImage 11. support uEnv.txt to set video 1080P & 720P & 480P ... 12. support power max. up to 2.5A ~ for DC-IN. 13. fix rootmydevice issue 14. support video play 1080p with vdpau (mpv, vlc, smplayer) 15. support GPU PowerVR SGX544MP (glmark2-es2) 16. support BT (default on, command only, can hcitool scan) 17. support nodejs 18. support node-red 19. included many apps for edu

71 Linux for Kernel 3.4 image

20. support scratch 2 online with scratchx 21. special thanks to the team of http://opensource.ntpc.edu.tw/ info: need >= 16GB SD and not use for eMMC(8GB) google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjOXFoZF9EenI3M1U/view?usp=sharing

MD5: fb2c9c8413edaa004ab414cb72544a7e discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-edu-ubuntu-mate-1604-preview-bpi-m3-img/2040

BPI-M3 new image:raspbian-jessie-bpi-m3.img 2016-07- 13

2016-07-13-raspbian-jessie-bpi-m3.img.zip

1. based on RASPBIAN JESSIE 2016-05-27(support rpi3 rpi2 rpi1) 2. BPI-M3 kernel 3.4 3. username & password: pi/bananapi , root/bananapi 4. support HDMI 1080P & 720P(default) 5. support eMMC 6. support GMAC 7. support WIFI 8. support SATA 9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1) 10. support uEnv.txt to fatload script.bin & uImage 11. support uEnv.txt to set video 1080P & 720P & 480P ... 12. support power max. up to 2.5A ~ for DC-IN. 13. fix rootmydevice issue 14. support BT (hcitool scan) 15. thanks for raspberry.org's work(https://www.raspberrypi.org/downloads/raspbian)

72 Linux for Kernel 3.4 image

16. support node-red google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjQ0lkakxQeEJFQVU/view?usp=sharing

MD5: a52e9205e400d559728b1cfa3f6b58ba discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-raspbian-jessie-bpi-m3-img-2016-07-13/2009

BPI-M3 new image: Raspbian-lite-bpi-m3.img 2016-07-12

2016-07-12-raspbian-lite-bpi-m3.img.zip

1. based on RASPBIAN JESSIE LITE 2016-05-27(also support rpi3 rpi2 rpi1) 2. BPI-M3 kernel 3.4 3. username & password: pi/bananapi , root/bananapi 4. support HDMI 1080P & 720P(default) 5. support eMMC 6. support GMAC 7. support WIFI 8. support SATA 9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1) 10. support uEnv.txt to fatload script.bin & uImage 11. support uEnv.txt to set video 1080P & 720P & 480P ... 12. support power max. up to 2.5A ~ for DC-IN. 13. fix rootmydevice issue 14. support BT (hcitool scan)

73 Linux for Kernel 3.4 image

15. thanks for raspberry.org's work google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjMlhfUTZZY0RubFU/view?usp=sharing

MD5: bce09c9a4610cba893943e5653449073 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-raspbian-lite-bpi-m3-img-2016-07-12/2001

BPI-M3 new image :Ubuntu-16.04-xenial-minimal- preview-bpi-m3.img 2016-07-10

2016-07-10-ubuntu-16.04-xenial-minimal-preview-bpi-m3.img.zip

1. based on ubuntu 16.04 xenial ubuntu-minimal. 2. BPI-M3 kernel 3.4 3. username & password: pi/bananapi , root/bananapi 4. support HDMI 1080P & 720P(default) 5. support eMMC 6. support GMAC 7. support WIFI (module only, no wireless tools) 8. support SATA 9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1) 10. support uEnv.txt to fatload script.bin & uImage 11. support uEnv.txt to set video 1080P & 720P & 480P ... 12. support power max. up to 2.5A ~ for DC-IN. 13. fix rootmydevice issue google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjS0JNZEl6dmhCZUU/view?usp=sharing

74 Linux for Kernel 3.4 image

MD5: a9a84e90435f0e3deddb6640246168fa busybox-1.24.2-preview-bpi-m3.img 2016-6-14

2016-06-14-busybox-1.24.2-preview-bpi-m3.img.zip

1. BPI-M3 kernel 3.4 2. username & password: pi/bananapi , root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI ( module only, no wireless tools) 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1 & bpi-m1p & bpi-r1) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue 13. support busybox bash 14. support telnetd google drive: https://drive.google.com/file/d/0B6FbwMfcqfFZc0hSbzJUVURsZTg/view?usp=sharing

MD5: 5af633b0f731da08abe236e2ec922f69 discuss on forum:

75 Linux for Kernel 3.4 image

http://forum.banana-pi.org/t/bpi-m3-new-image-busybox-1-24-2-preview-bpi-m3-img-2016-6-14/1878

Ubuntu-mate-16.04-Xenial-ros-kinetic-preview-bpi-m3-sd- emmc 2016-6-11

2016-06-11-ubuntu-mate-16.04-Xenial-ros-kinetic-preview-bpi-m3-sd-emmc.img.zip

1. BPI-M3 kernel 3.4 2. username & password: pi/bananapi , root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1 & bpi-m1p & bpi-r1) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue 13. based on rootfs, thanks for armbian 14. support ros (kinetic version)

Google driver: uploading baidu cloud: http://yun.baidu.com/share/link?shareid=3707254958&uk=1011158021

MD5: b04a903a9c6ddfbc5b6c94505d629004 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-ubuntu-mate-16-04-xenial-ros-kinetic-preview-bpi-m3-sd-emmc-2016-6- 11/1871

76 Linux for Kernel 3.4 image

2016-05-16-debian-8-jessie-mate-gpu-mpv-1080p-bpi-m3- sd-emmc.img.zip

2016-05-16-debian-8-jessie-mate-bpi-m3-sd-emmc.img.zip

1. BPI-M3 kernel 3.4 2. username & password: pi/bananapi , root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue 13. based on armbian rootfs, thanks for armbian 14. support GPU PowerVR SGX544MP (glmark2-es2) 15. support video hw decode 1080p with mpv (vdpau)

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjX0djZERFcmlYWGM/view?usp=sharing

MD5: f9b4b038ff02fabfd35b1fe70aa58090 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-debian-8-jessie-mate-gpu-mpv-1080p-bpi-m3-sd-emmc-img-2016-5- 16/1708

77 Linux for Kernel 3.4 image

BPI-M3 new image:Debian-8-jessie-lite-bpi-m3-sd- emmc.img 2016-5-15

2016-05-15-debian-8-jessie-lite-bpi-m3-sd-emmc.img.zip

1. BPI-M3 kernel 3.4 2. username & password: root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue 13. based on armbian rootfs, thanks for armbian

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjc2pkTDl4QzFxMFE/view?usp=sharing

MD5: 08f1c6d7f7a30d2ed5c4b623b63726d5 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-debian-8-jessie-lite-bpi-m3-sd-emmc-img-2016-5-15/1698

BPI-M3 new image:raspbian-jessie-mate-gpu-bpi-m3-sd- emmc.img V1.0 2016-5-13

78 Linux for Kernel 3.4 image

2016-05-13-raspbian-jessie-mate-gpu-bpi-m3-sd-emmc.img.zip

1. BPI-M3 kernel 3.4 2. username & password: pi/bananapi , root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. support GPU PowerVR SGX544MP (glmark2-es2) 13. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjNHF3N3hQZXhDWUU/view?usp=sharing

MD5: b8eafe5c4c03b1de2230116b18f35278 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-raspbian-jessie-mate-gpu-bpi-m3-sd-emmc-img-v1-0-2016-5-13/1666/1

BPI-M3 new image:dietpi-preview-bpi-m3-sd- emmc.image 2016-5-14

2016-05-14-dietpi-preview-bpi-m3-sd-emmc.img.zip

79 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: root/dietpi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI (bcmdhd default not load) 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjTkxWc1dkNDJZc3c/view?usp=sharing

MD5: 0b0ee2f45bcec3a7d7a610fa48e74cda discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-dietpi-preview-bpi-m3-sd-emmc-image-2016-5-14/1685

BPI-M3 new image:-kali-xfce-bpi-m3-sd-emmc.img 2016- 5-12

2016-05-12-kali-xfce-bpi-m3-sd-emmc.img.zip

80 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjRXg1bVpUbFFjb1U/view?usp=sharing

MD5: 024f033b00099800c909d0e4dd524721 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-kali-xfce-bpi-m3-sd-emmc-img-2016-5-12/1661

BPI-M3 new image:-lite-preview-bpi-m3.img 2016-5-12

2016-05-12-centos-lite-preview-bpi-m3.img.zip

81 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI bcmdhd module 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjUDg5SmR3dV93c3M/view?usp=sharing

MD5: 7e2397952da69bdd72f923234b838365 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-centos-lite-preview-bpi-m3-img-2016-5-12/1662

BPI-M3 new image:gentoo-stage3-armv7a_lite-bpi-m3- sd-emmc.img V1.0 2016-5-12

2016-05-12-gentoo-stage3-armv7a_lite-bpi-m3-sd-emmc.img.zip

82 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI bcmdhd module 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjQU11b3ZhTEhXb3c/view?usp=sharing

MD5: c056a4345a229eb380cd46e23105eb7f discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-gentoo-stage3-armv7a-lite-bpi-m3-sd-emmc-img-v1-0-2016-5-12/1648

BPI-M3 new image:OpenSUSE-Tumbleweed-ARM-Mate- bpi-m3-sd-emmc 2016-5-11

2016-05-11-openSUSE-Tumbleweed-ARM-Mate-bpi-m3-sd-emmc.img.zip

83 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: pi/bananapi , root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjSzkzem9TSG81MjQ/view?usp=sharing

MD5: ca4b8e0a1d7809f5ffeaab018a138d6d discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-opensuse-tumbleweed-arm-mate-bpi-m3-sd-emmc-2016-5-11/1641

BPI-M3 new image:-arm-3.2-lite-bpi-m3.img 2016- 05-012

2016-05-12-crux-arm-3.2-lite-bpi-m3.img.zip

84 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI bcmdhd module 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjSTlUb2pkb1dBQm8/view?usp=sharing

MD5: 0d53b27094548aa98076c70c48b308a7 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-crux-arm-3-2-lite-bpi-m3-img-2016-05-012/1643

BPI-M3 new image:Fedora-Mate-armhfp-23-10-bpi-m3-sd- emmc 2016-5-11

2016-05-11-Fedora-Mate-armhfp-23-10-bpi-m3-sd-emmc.img.zip

85 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: pi/bananapi , root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjRWdVNXZDcl9NUVU/view?usp=sharing

MD5: f52524ca5625f43c98ad7ccfe2154384 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-fedora-mate-armhfp-23-10-bpi-m3-sd-emmc-2016-5-11/1636

BPI-M3 new image: ArchLinuxARM-lite-bpi-m3 2016-5-10

2016-05-10-ArchLinuxARM-lite-bpi-m3.img.zip

86 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: root/bananapi 3. support HDMI 1080P & 720P(default) 4. support eMMC 5. support GMAC 6. support WIFI 7. support SATA 8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 9. support uEnv.txt to fatload script.bin & uImage 10. support uEnv.txt to set video 1080P & 720P & 480P ... 11. support power max. up to 2.5A ~ for DC-IN. 12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjOEttQUdyRTBzRE0/view?usp=sharing

MD5: 2f0b41f4cfe7fb34aadcaa60f45d1283 discuss on forum: http://forum.banana-pi.org/t/bpi-m3-new-image-archlinuxarm-lite-bpi-m3-2016-5-10/1625

BPI-M3 new image:debian-8-jessie-mate beta V1.0 2016- 4-27

2016-04-27-debian-8-jessie-mate_gpu_mpv_1080p-bpi-m3_beta-sd-emmc.img.zip

87 Linux for Kernel 3.4 image

BPI-M3 kernel 3.4 username & password: pi/bananapi , root/bananapi support HDMI 1080P & 720P(default) support eMMC support GMAC support WIFI support SATA support bpi-bootsel cmd to switch mode support uEnv.txt to fatload script.bin & uImage support uEnv.txt to set video 1080P & 720P & 480P ... support power max. up to 2.5A ~ for DC-IN. support video play 1080p with vdpau (mpv) support GPU PowerVR SGX544MP (glmark2-es2) chromuim default turn on webgl (chrome://gpu, modify /etc/chromium-browser/default) support youtube video play support flash video play. support scratch 2.0 change usb0 setting with script.bin from otg mode to host only (fix: Average load always above 1)

Google Drive download link: https://drive.google.com/file/d/0B6FbwMfcqfFZclQxRlhjeXRuQ28/view?usp=sharing

MD5: f96b2b0486c919c95142b87ae7d54935 discuss on BPI official forum: http://forum.banana-pi.org/t/bpi-m3-new-image-debian-8-jessie-mate-gpu-mpv-1080p-bpi-m3-beta-v1-0-2016-4-27/1545

BPI-M3 new image:ubuntu-mate-16.04 beta V1.0 2016-04- 25

2016-04-25-ubuntu-mate-16.04_Xenial_gpu_mpv_1080p_bt-bpi-m3_beta-sd-emmc.img.zip

88 Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4 2. username & password: pi/bananapi , root/bananapi 3. support HDMI 1080P & 720P 4. support GMAC 5. support WIFI 6. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p) 7. support uEnv.txt to fatload script.bin & uImage 8. support uEnv.txt to set video 1080P & 720P & 480P ... 9. support video play 1080p with vdpau (mpv, vlc, smplayer) 10. support BT (default off, sudo bpi-bt-on) 11. support GPU PowerVR SGX544MP (glmark2-es2) 12. chromuim default turn on webgl (chrome://gpu, modify /etc/chromium-browser/default) 13. support youtube video player. 14. support flash video play. 15. support scratch 2.0 google driver download link: https://drive.google.com/file/d/0B6FbwMfcqfFZY0I4SUZ2QlhQYUk/view?usp=sharing

Note: please use 16G micro SD for this image. discuss on BPI official forum: http://forum.banana-pi.org/t/bpi-m3-new-image-ubuntu-mate-16-04-beta-v1-0-2016-04-25/1528

[BPI-M3] New image:Berryboot and GPU (PowerVR SGX544) included in Ubuntu Mate 15.10

Release date:2016/02/03

Google Drive:

89 Linux for Kernel 3.4 image

https://drive.google.com/file/d/0B_YnvHgh2rwjNjNlcEpqQVNDLTg/view?usp=sharing

Baidu Cloud: http://pan.baidu.com/s/1dEe53PZ

MD5: 46f55765f7cd210678dd05cd6de08deb

Release Note:

1. Aufs file system included in BPI-M3 kernel 3.4 (commit 2141b27fdbb5b3baff0bdff95aef3bbe8a7259ad) 2. Berryboot supported 3. Ubuntu Mate 15.10 included 4. GMAC supported 5. Camera ov8865 supported ( tv://) 6. Wifi supported (modprobe bcmdhd) 7. Fatload script-bpi-m3.bin, kernel, and ramdisk supported 8. Reboot issue fixed 9. GPU PowerVR SGX544 supported (glmark2-es) 10. username & password: pi/bananapi , root/bananapi , bananapi/bananapi

discuss at forum: http://forum.banana-pi.org/t/bpi-m3-new-image-berryboot-and-gpu--sgx544-included-in-ubuntu-mate-15-10/1133

90 Linux for Kernel 3.4 image

GPU for kernel 3.4

1,How to enable GPU on ubuntu 15.10 download link: https://drive.google.com/file/d/0B4PAo2nW2KfnVFBYNzB2N1ZKU00/view?usp=sharing step 1: dpkg -i linux-bananapi-bpi-m3-kernel3_1.2.6_armhf.deb step 2: bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz or bpi-bootsel /usr/lib/u-boot/bananapi/bpi- m3/BPI_M3_1080P.img.gz step 3: dpkg -i xserver-xorg-video-gpu-bananapi-bpi-m3_1.0-15.10_armhf.deb step 4: reboot

2,how to check gpu running

root@bananapi:~# ps ax | grep X 629 tty7 Ss+ 0:09 /usr/local/XSGX/bin/X -verbose -config /usr/local/XSG X/etc/xorg.conf :0 -seat seat0 -auth /var/run//root/:0 -nolisten tcp vt7 -novtswitch 1449 ttyS0 S+ 0:00 grep --color=auto X root@bananapi:~# how to disable/enable gpu

root@bananapi:/usr/share/lightdm/lightdm.conf.d# cat 55-xserver-command-pvr.conf [Seat:*] # Dump core #xserver-command=X -core #xserver-command=/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg. conf root@bananapi:/usr/share/lightdm/lightdm.conf.d#

91 Linux for Kernel 3.4 image

How to rotate display screen

OS: BPI-M3 Ubuntu15.10 (Kernel3.4)

Version: 1.0 HDMI

1.Add Command in your /etc/rc.local:

echo 1 > /sys/class/graphics/fbcon/rotate_all

2.Edit /etc/X11/xorg.conf with this content:

Section "Device" Identifier "Raspberry Pi FBDEV" Driver "fbturbo" Option "fbdev" "/dev/fb0" Option "SwapbuffersWait" "true" Option "rotate" "cw" EndSection

Parameter Description

"rotate" "cw" // clockwise 90° "rotate" "ud" // clockwise 180° "rotate" "ccw" //clockwise 270° clockwise 90°

clockwise 180°

92 Linux for Kernel 3.4 image

93 Linux for Kernel 3.4 image

how to use fatload uEnv.txt & script.bin & kernel uImage all file on github: https://github.com/BPI-SINOVOIP/BPI-files/tree/master/debs file:linux-bananapi-bpi-m3-kernel3_1.2.8_armhf.deb: how to use fatload uEnv.txt & script.bin & kernel uImage step 1: dpkg -i linux-bananapi-bpi-m3-kernel3_1.2.8_armhf.deb step 2: bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz step 3: mkdir -p /boot/bananapi/bpi-m3 step 4: cp -a /usr/lib/u-boot/bananapi/bpi-m3/linux /boot/bananapi/bpi-m3 step 5: cd /boot/bananapi/bpi-m3/linux ; vi uEnv.txt (if you want to change) step 6: reboot

root@bananapi:/media/bpi/BPI-BOOT/bananapi/bpi-m3/linux# ls -l total 5648 -rw-r--r-- 1 bpi bpi 55408 2月 23 14:27 script.bin -rw-r--r-- 1 bpi bpi 2013 2月 25 08:39 uEnv.txt -rw-r--r-- 1 bpi bpi 5718480 2月 24 10:53 uImage

# cat uEnv.txt bpi=bananapi board=bpi-m3 chip=a83t service=linux #kernel=kernel_bpi-m3_aufs.img #kernel=boot.fex kernel=uImage scrip=script.bin

ahello=echo Banaan Pi ${board} chip: $chip Service: $service

aboot=if fatload $device $partition 0x43100000 ${bpi}/berryboot.img; then bootm 0x48000000 0x43100000; else bootm 0x4 8000000; fi aload_script=fatload $device $partition 0x43000000 ${bpi}/${board}/${service}/${script} aload_kernel=fatload $device $partition 0x48000000 ${bpi}/${board}/${service}/${kernel} uenvcmd=run ahello aload_script aload_kernel aboot

94 Linux for Kernel 3.4 image

# # from sys_config.fex # #;output_type (0:none; 1:lcd; 2:tv; 3:; 4:vga) #;output_mode (used for tv/hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50 5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60 11:pal 14:ntsc) #

# ref. sys_config.fex, use default script.bin bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_cma_l ist="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2

# output HDMI 1080P (type:3 mode:10) #bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_cma_ list="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2 disp.screen0_output_type=3 disp.screen0_output_ mode=10 disp.screen1_output_type=3 disp.screen1_output_mode=10

# output HDMI 720P (type:3 mode:5) #bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_cma_ list="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2 disp.screen0_output_type=3 disp.screen0_output_ mode=5 disp.screen1_output_type=3 disp.screen1_output_mode=5

# output HDMI 480P (type:3 mode:2) #bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_cma_ list="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2 disp.screen0_output_type=3 disp.screen0_output_ mode=2 disp.screen1_output_type=3 disp.screen1_output_mode=2 how to check output video mode:

root@bananapi:~# dmesg | grep DISP [ 0.670049] [DISP]disp_module_init [ 0.670431] [DISP]parser_disp_init_para: screen0_output_type(3) [ 0.670472] [DISP]parser_disp_init_para: screen0_output_mode(10) value(10) [ 0.670503] [DISP]parser_disp_init_para: screen1_output_type(3) [ 0.670533] [DISP]parser_disp_init_para: screen1_output_mode(10) value(10) [ 0.731031] [DISP] Fb_map_kernel_logo,line:895:Fb_map_kernel_logo failed! [ 0.797416] [DISP]disp_module_init finish [ 7.840077] [DISP] disp_device_attached_and_enable,line:159:attched ok, mgr0< -->device1, type=4, mode=10 [ 31.112875] [DISP] disp_ioctl,line:1480:para err in disp_ioctl, cmd = 0x0,scr een id = 65536 how to boot with SATA rootfs:

# vi uEnv.txt # ref. sys_config.fex, use default script.bin bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/sda2 rootwait init=/init vmalloc=384M ion_cma_list=" 120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=sda2

how to boot with USB DISK rootfs: # vi uEnv.txt # ref. sys_config.fex, use default script.bin bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/sdb2 rootwait init=/init vmalloc=384M ion_cma_list=" 120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=sdb2 for berryboot env. use only: bootmenutimeout=XXX datadev=XXX how to check bananapi's packages:

95 Linux for Kernel 3.4 image

root@bananapi:~# dpkg -l | grep bananapi ii bananapi-bpi-tools 1.0.1 armhf Banaan Pi: tools ii linux-bananapi-bpi-m2-kernel3 1.2 armhf Banaan Pi BPI-M2: linux kernel 3.3 image & modules ii linux-bananapi-bpi-m3-kernel3 1.2.6 armhf Banaan Pi BPI-M3: linux kernel 3.4 image & modules ii linux-firmware-bananapi-bpi-wifi 1.0 armhf Banaan Pi: linux kernel firmware for wifi ap6181 & ap6212 demo video: https://www.youtube.com/watch?time_continue=2&v=aF_WZFDxGs4

96 mainline Linux

mainline Linux

Many open source development help us to use mainline linux on BPI-M3. if someone want to help use ,please contact us ,we will send free sample to you.

97 mainline Linux

mainline uboot sunxi: Add suport for A83T based Banana-pi M3 Board https://patchwork.ozlabs.org/patch/563980/

Download (v2016.05-rc1) http://git.denx.de/?p=u-boot.git;a=summary

98 mainline Linux

BPI-M3 mainline kernel not support yet

99 OpenWRT

OpenWRT on banana pi

OpenWRT have support many allwinner chip . so easy to use it on banana pi

Allwinner Sun4i/5i/6i/7i/9i (sunxi) Various vendors are offering development boards / single-board computer based on the Allwinner SoCs. These are running various flavors of the A1x, A20, A31, and soon H3 SoCs, with different buildouts. The mach is called "sunxi".

For some specs rather see Allwinner_Technology#A-Series.

more please see: https://wiki.openwrt.org/doc/hardware/soc/soc.allwinner.sunxi?s[]=banana&s[]=pi

100 BanaNAS - SimpleNas

BanaNAS-Nas server based on Debian Jessie

Image already have instaled OpenMediaVault v3 beta. (omv v3.0.13) in version <= 3.0.14 is a lot of bugs.

Bittorrent DLNA SMB FTP ...

System image requires at least 16GB SD card (i use 32GB) http://simplenas.com/download/banana-m3

101 Lakka TV

Lakka TV

The newly supported boards are:

Banana Pi M2+ with H3 chip Banana Pi M3 with A83T chip for BPI-M1 and BPI-M1+ use A20 chip design ,also can find some support for A20.

As you can see, H3 is used in a lot of boards. Each of them have different specs. Some of them are available at a very cheap price.

The original OpenELEC and LibreELEC port has been done by @jernejsk and we backported it to Lakka.

The images can be downloaded from there: http://mirror.lakka.tv/nightly/

@Ntemis took care of testing the image on some of these boards and Lakka and RetroArch are working well on them.

If you are new to Lakka and want to test one of the images, just adapt the installation instruction that you can find on our website for any other ARM board.

As I don’t own any of these boards myself, I can’t check them for regressions and support them officially for now. But I will as soon as some contributors send me one or two.

We need more owners of any of these boards on our IRC chan to check if all the images are really working well. Remember that this is mainly untested work when you report bugs. more please visit lakka TV official website: http://www.lakka.tv/

102 BPI-M3 WiringPi

BPI-M3 WiringPi install BPI-M3 WiringPi:

1,Download WiringPi from github For BPI-M3

git clone https://github.com/BPI-SINOVOIP/BPI-WiringPi.git -b BPI_M3

2,Installation:

cd BPI-WiringPi

chmod +x ./build

sudo ./build

3,test wiringPi is install success

gpio -v

gpio readall

4,create new : blink.c

103 BPI-M3 WiringPi

#include int main(void) { wiringPiSetup() ; pinMode (0, OUTPUT) ; for(;;) { digitalWrite(0, HIGH) ; delay (500) ; digitalWrite(0, LOW) ; delay (500) ; } } compile and run it:

gcc -Wall -o blink blink.c -lwiringPi runing it:

sudo ./blink

BPI have many extend board support WiringPi. so you can free DIY by youself: more about BPI extend board,please see: https://bananapi.gitbooks.io/bpi-accessories/content/ link to forum: http://forum.banana-pi.org/t/bpi-wiringpi-officially-supports-bpi-m3-kernel-3-4/998/4 youtube vodeo for how to: https://www.youtube.com/watch?v=OJeFWyiTqgQ

104 BPI-tools

BPI-tools

[bpi-tools]: v1.0.3: bpi-tools bpi-get cmd support update tools & download images bpi-tools can install to ubuntu and Banana Pi: on x86 pc: for ubuntu 14.04 (x86):

dpkg --add-architecture armhf or for ubuntu 12.04 (x86):

echo "foreign-architecture armhf" >> /etc/dpkg/dpkg.cfg.d/multiarch

dpkg -i bananapi-bpi-tools*.deb if you don't have pv cmd: apt-get install pv (for bpi-copy use) download bpi-tools & install: on ubuntu / raspbian / debian : download file: bananapi-bpi-tools_1.0.3_armhf.deb github: https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/bananapi-bpi-tools_1.0.3_armhf.deb google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjc29jNVdoaDNXRUU/view?usp=sharing

MD5: 0408a434003651001f0131e61cadc2fd

# sudo dpkg -i bananapi-bpi-tools_1.0.3_armhf.deb on other system : download file: bpi-tools.tgz google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjMGZOZC1Gd3dwQkE/view?usp=sharing

MD5: 82e35dba52bc3edb48e96c8a544ac216

# sudo tar xvf bpi-tools.tgz -C /

HOW TO USE:

105 BPI-tools

root@bananapi:~# bpi-tools bpi-tools v1.0.6 usage: bpi-tools bpi-tools FILE bpi-tools --all | --update | --download | --version

bpi files: bpi-tools v1.0.6 bpi-bootsel v1.0.4 bpi-copy v1.0.10a bpi-get v1.0.3 root@bananapi:~# bpi-tools --update bpi-tools v1.0.6 usage: bpi-tools bpi-tools FILE bpi-tools --all | --update | --download | --version

BPIFILE=/root/.bpi-tools.lst Wait for download index file ... OK!!\n

bpi files: bpi-tools v1.0.6 bpi-bootsel v1.0.4 bpi-copy v1.0.10a bpi-get v1.0.3 root@bananapi:~# bpi-tools --version

bpi files: /usr/bin/bpi-tools v1.0.6 /usr/bin/bpi-bootsel v1.0.4 /usr/bin/bpi-copy v1.0.10a /usr/bin/bpi-get v1.0.3 root@bananapi:~# bpi-tools --download

download bpi files: bpi-tools bpi-tools: OK bpi-tools: v1.0.6 bpi-bootsel bpi-bootsel: OK bpi-bootsel: v1.0.4 bpi-copy bpi-copy: OK bpi-copy: v1.0.10a bpi-get bpi-get: OK bpi-get: v1.0.3 root@bananapi:~# ls -l total 20 -rwxr-xr-x 1 root root 1493 5月 6 10:06 bpi-bootsel -rwxr-xr-x 1 root root 6170 5月 6 10:06 bpi-copy -rwxr-xr-x 1 root root 1391 5月 6 10:06 bpi-get -rwxr-xr-x 1 root root 2898 5月 6 10:06 bpi-tools root@bananapi:~# bpi-get bpi-get v1.0.3 usage: bpi-get bpi-get FILE

BPIFILE=/root/.bpi-files.lst

Wait for download index file ...

106 BPI-tools

bpi files: 2016-05-05-u1510_gpu_vpu_camera_bt_bpi-m2p_beta.img.zip 2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip 2016-04-27-debian-8-jessie-mate_gpu_mpv_1080p-bpi-m3_beta-sd-emmc.img.zip 2016-04-25-ubuntu-mate-16.04_Xenial_gpu_mpv_1080p_bt-bpi-m3_beta-sd-emmc.img.zip u1510_gpu_vpu_camera_bpi-m2p-20160413_preview.img.zip 2016-04-11-Armbian_5.07_Bananapim2plus_Debian_jessie_3.4.111_desktop_preview.img.zip 2016-04-08-raspbian-jessie-bpi-m2.img.zip 2016-04-08-raspbian-jessie-bpi-m2p.img.zip 2016-04-08-raspbian-jessie-bpi-m3.img.zip

root@bananapi:~# bpi-get 2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip INFO: Try to get 2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip ... BPIFILE=/root/.bpi-files.lst IMGFILE=2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip MD5TMP=/tmp/.md5.tmp.8322 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 280 0 280 0 0 430 0 --:--:-- --:--:-- --:--:-- 430 0 0 0 671M 0 0 3317k 0 --:--:-- 0:03:27 --:--:-- 3533k 2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip: OK root@bananapi:~# bpi-copy . SRC=. DST= COPYMODE=usage default bpi-copy v1.0.10a usage: bpi-copy bpi-copy IMGFILE bpi-copy IMGDIR bpi-copy IMGFILE DEVICE bpi-copy DEVICE IMGFILE

bpi images: (*.img.zip) ./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip bpi images: (*.img) bpi images: (*.img.gz) /usr/lib/u-boot/bananapi/bpi-m2/BPI_M2_720P.img.gz /usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m1.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m1p.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m2.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m2p.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m3.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-r1.img.gz xz images: (*.xz) zip images: (*.zip) ./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip raw images: (*.raw)

Disks: (lsblk | grep disk) sda 8:0 0 931.5G 0 disk sdb 8:16 0 2.7T 0 disk sdc 8:32 1 14.9G 0 disk

Disks: (fdisk -l | grep Disk | grep bytes) Disk /dev/sda: 1000.2 GB, 1000204886016 bytes Disk /dev/sdb: 3000.6 GB, 3000558944256 bytes Disk /dev/sdc: 15.9 GB, 15931539456 bytes root@bananapi:~# bpi-copy ./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip /dev/sdc SRC=./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip DST=/dev/sdc COPYMODE=imagetodisk imagetodisk bpi-copy v1.0.10a usage: bpi-copy bpi-copy IMGFILE bpi-copy IMGDIR

107 BPI-tools

bpi-copy IMGFILE DEVICE bpi-copy DEVICE IMGFILE

Warning: Try to write ./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip to BOOTDISK /dev/sdc ======五 5月 6 10:21:13 CST 2016 *** start COPY (blue led on ) ..... umount device: /dev/sdc umount /dev/sdc2 umount /dev/sdc1 ======IMGFILE=./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip ======zip 1.91GB 0:01:59 [16.3MB/s] [ <=> ] 0+20666 records in 0+20666 records out *** end COPY (blue led off) ..... 五 5月 6 10:23:40 CST 2016 ======RUNTIME 2:27 OK!! You can remove the BOOTDISK /dev/sdc now!! root@bananapi:~# if you want to use bpi-m2p image for bpi-m3, you can re-insert SD card:

root@bananapi:~# bpi-bootsel bpi-bootsel v1.0.4 usage: bpi-bootsel bpi-bootsel IMGFILE bpi-bootsel IMGFILE DEVICE

bpi images: /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m1.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m2.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m1p.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m2p.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-r1.img.gz /usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m3.img.gz /usr/lib/u-boot/bananapi/bpi-m2/BPI_M2_720P.img.gz /usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz

Disks: (lsblk | grep disk) sda 8:0 0 931.5G 0 disk sdb 8:16 0 2.7T 0 disk sdc 8:32 1 14.9G 0 disk

Disks: (fdisk -l | grep Disk | grep bytes) Disk /dev/sda: 1000.2 GB, 1000204886016 bytes Disk /dev/sdb: 3000.6 GB, 3000558944256 bytes Disk /dev/sdc: 15.9 GB, 15931539456 bytes root@bananapi:~# bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz /dev/sdc Warning: Try to write /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz to BOOTDISK /dev/sdc umount device: /dev/sdc umount /dev/sdc2 umount /dev/sdc1 OK!! You can remove the BOOTDISK /dev/sdc now!! root@bananapi:~#

108 bpi-bootsel command

bpi-bootsel commond

How to use bpi-bootsel command (Multi-use SD card supported)

From now on, just download either M2 or M3, then you can switch to any of them as you wish! bpi-bootsel v1.0.5

usage: bpi-bootsel bpi-bootsel IMGFILE bpi-bootsel IMGFILE DEVICE

1. Download BPI-Tools , please run the following command wget https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/bananapi-bpi-tools_1.0.3_armhf.deb

1. Set up development environment

2-1: On X86-PC (Ubunut 12.04)

sudo echo "foreign-architecture armhf" >> /etc/dpkg/dpkg.cfg.d/multiarch

2-2 :On X86-PC (Ubunut 14.04)

sudo dpkg --add-architecture armhf

2-3 :On BananaPI M3/M2Plus do nothing

2. Install BPI-Tools

sudo dpkg -i bananapi-bpi-tools*.deb

109 bpi-bootsel command

3. Creat a folder of BPI-Tools

mkdir BPI-Tools cd BPI-Tools

4. Update BPI-Tools

sudo bpi-tools --upgrade

5. Use bpi-bootsel commnad

6-1: M3 imgae is switchable to M2_Plus

sudo bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz

6-2 : M2_Plus imgae is switchable to M3imgae

sudo bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz

Video Demo https://www.youtube.com/watch?v=HdBNcrOKngM&feature=youtu.be

110 bpi-get command

bpi-get command

How to use bpi-get command (Download BPI Images)

bpi-get v1.0.3 usage: bpi-get bpi-get FILE

1. Download BPI-Tools , please run the following command wget https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/bananapi-bpi-tools_1.0.3_armhf.deb

1. Set up development environment

2-1: On X86-PC (Ubunut 12.04)

sudo echo "foreign-architecture armhf" >> /etc/dpkg/dpkg.cfg.d/multiarch

2-2 :On X86-PC (Ubunut 14.04)

sudo dpkg --add-architecture armhf

2-3 :On BananaPI M3/M2Plus do nothing

2. Install BPI-Tools

sudo dpkg -i bananapi-bpi-tools*.deb

3. Creat a folder of BPI-Tools

mkdir BPI-Tools cd BPI-Tools

4. Update BPI-Tools

sudo bpi-tools --upgrade

111 bpi-get command

5. Use bpi-get commnad

6-1: Download BPI Images

sudo bpi-get 2016-07-01-ubuntu-mate-16.04-Xenial-gpu-mpv-bt-nodejs-beta3-bpi-m3-sd-emmc.img.zip

Video Demo https://www.youtube.com/watch?v=Bf4QfDnwKAk&feature=youtu.be

112 bpi-copy command

bpi-copy command

How to use bpi-copy command (Burning images to EMMC , Copying data from SD-Card/EMMC to be Images)

usage: bpi-copy bpi-copy IMGFILE bpi-copy IMGDIR bpi-copy IMGFILE DEVICE bpi-copy DEVICE IMGFILE

1. Download BPI-Tools , please run the following command wget https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/bananapi-bpi-tools_1.0.3_armhf.deb

1. Set up development environment

2-1: On X86-PC (Ubunut 12.04)

sudo echo "foreign-architecture armhf" >> /etc/dpkg/dpkg.cfg.d/multiarch

2-2 :On X86-PC (Ubunut 14.04)

sudo dpkg --add-architecture armhf

2-3 :On BananaPI M3/M2Plus do nothing

2. Install BPI-Tools

sudo dpkg -i bananapi-bpi-tools*.deb

3. Creat a folder of BPI-Tools

mkdir BPI-Tools cd BPI-Tools

113 bpi-copy command

4. Update BPI-Tools

sudo bpi-tools --upgrade

5. Use bpi-copy commnad

6-1: To burn into EMMC, please run the following command

sudo bpi-copy < images file>

6-2 :Copy data from SD-Card/EMMC to be Images

sudo bpi-copy < device path> < xxxxx.img.zip>

6-3 :To burn into certain device,please run the following command

sudo bpi-copy < xxxxx.img.zip> < device path>

Video Demo (To burn into EMMC) https://www.youtube.com/watch?v=Arn7HC2urt4

Video Demo ( Copy data from SD-Card/EMMC to be Images) https://www.youtube.com/watch?v=H1LjORwzO3E

114 bpi-update

bpi-update command

How to : Use bpi-update command to update kernel image

Step1: Update bpi-tools

$ git clone https://github.com/BPI-SINOVOIP/bpi-tools.git8 $ cd bpi-tools $ sudo ./bpi-tools -u -U

Step 2: Check bpi-tools version

$ bpi-tools -v

Step 3: Use bpi-update to update kerenl

$ mkdir update_file $ cd update_file

BPI-M2U

$ sudo bpi-update -c bpi-m2u.conf

BPI-M2P

$ sudo bpi-update -c bpi-m2p.conf

BPI-M3

$ sudo bpi-update -c bpi-m3.conf

115 BPI-M3 source code on github

BPI-M3 source code on github

All newest source code have update on this github site. https://github.com/BPI-SINOVOIP/BPI-M3-bsp

116 How to setup docker env. to build github source code

How to setup docker env. to build github source code how to setup docker env. to build banana pi github source code step 1: install docker https://docs.docker.com/engine/installation/linux/ubuntulinux/ step 2: docker run https://hub.docker.com/r/sinovoip/bpi-build/

$ docker run -d -p 2222:22 -v /media:/media sinovoip/bpi-build:ubuntu12.04 on your host

$ ssh -p 2222 [email protected] //default passwd is root or (with --privileged can use /dev/loop for create img)

$ docker run -d -p 3333:22 --privileged -v /media:/media sinovoip/bpi-build:ubuntu12.04

$ ssh -p 3333 [email protected] //default passwd is root step 3: git clone

# cd /media/XXX/your-source # git clone https://github.com/BPI-SINOVOIP/BPI-M3-bsp.git step 4: build

# ./build.sh how to create your own env. to build the code step 1: git clone https://github.com/BPI-SINOVOIP/bpi-build.git step 2: vi Dockerfile step 3. vi build.sh step 4: ./build.sh why use docker env. to build banana pi source code

1. allwinner tools needs ubuntu12.04 with ia32-libs ... 2. user maybe use ubuntu 12.04 or 14.04 and newer like 16.04, the docker env. the same, even other linux like fedora archlinux ...., or other os like , windows ... 3. build BPI-Mx-bsp env. than mainline kernel & uboot or android 4.X or android 5.X / 6.X not the same.

117 BPI-M3 Cross Compile teach

BPI-M3 BSP Cross Compile teach thank 陳鈞 share it.we just transfer to english.

BLOG:http://blog.jim60105.com/2016/03/bananapi-m3-cross-compile.html use system message:

jim@jim-Ubuntu:~$ uname -a Linux jim-Ubuntu 4.2.0-34-generic #39-Ubuntu SMP Thu Mar 10 22:13:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

1 Compile BPI-M3 BSP create a dir for BPI-M3 and get source code from gitgub

mkdir bananapi cd bananapi git clone https://github.com/BPI-SINOVOIP/BPI-M3-bsp.git

cd BPI-M3-bsp mkdir -p linux-sunxi/output/lib/firmware

2, run this segment if you use 64 bits platform the official kit was compiled on 32 bit platform ,so you must support 32bit execution in your 64 bits ubuntu.

118 BPI-M3 Cross Compile teach

sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get upgrade sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386

3,install necessary tools:(skip this if you have executed the two instructions in the segment of the 64 bits)

sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential u-boot-tools binutils-arm-linux-gnueabihf gcc-4.7-arm-linux-gnueabihf-base g++-4 .7-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gcc-arm-linux-gnueabi cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0- 0-dev git wget fakeroot kernel-package zlib1g-dev libncurses5-dev

4,begin to Compile for me, i need use LCD on BPI-M3, so i choose is:3

./build.sh now choose menu:

BPI-M3 BSP Build Tool ======

This tool support following BPI board(s): ------1. BPI_M3_720P 2. BPI_M3_1080P 3. BPI_M3_LCD7 4. BPI_M3_USB_720P 5. BPI_M3_USB_1080P 6. BPI_M3_USB_LCD7 ------Please choose a target(1-6): 3

Now configuring...

BPI_M3_LCD7 configured. Now run `make`

Configure success! please waitting , it need long time to compile,it takes a while and depends on the performance of your computer

119 BPI-M3 Cross Compile teach

Note: if compile success ,will have ../bananapi/BPI-M3-BSP dir.if it does not show up, any other "build success" screen are deceptive.

5 burn image to SD card: take a new SD card , and install official image to SD card. official image : http://www.banana-pi.org/download.html the next step, be sure to choose the correct device.

sudo fdisk -l

120 BPI-M3 Cross Compile teach

umount /dev/sdf* clean

sudo fdisk /dev/sdf p d w sync please use "d" clean partition.And then dropped the device completely clear

dd if=/dev/zero of=/dev/sdf bs=4M buru official image to SD card .please do not Android and Berryboot image. example: ArchLinux image name: 015-12-09-ArchLinuxARM-lite-bpi-m3-sd-emmc.img.zip

unzip 2015-12-09-ArchLinuxARM-lite-bpi-m3-sd-emmc.img.zip -d ~ cd ~ sudo dd if=2015-12-09-ArchLinuxARM-lite-bpi-m3-sd-emmc.img of=/dev/sdf bs=4M waiting still dd finish.

umount /dev/sdf* check partition

sudo fsck /dev/sdf1 sudo fsck /dev/sdf2 change /dev/sdf2 to ext2,and change size

sudo tune2fs -O ^has_journal /dev/sdf2 sudo e2fsck -f /dev/sdf2

Write the first compiled data: next step will clean partition table, so we must transcribe it at first

121 BPI-M3 Cross Compile teach

go to we just compiled things stored folder

cd ~/bananapi/BPI-M3-bsp/download/BPI_M3_LCD7 all file will such as this below:

Empty memory card 1m before space (and clears the partition table)

sudo dd if=/dev/zero of=/dev/sdf bs=1M count=1 in order to write compiled file

122 BPI-M3 Cross Compile teach

sudo dd if=boot0_sdcard.fex of=/dev/sdf bs=1k seek=8 sudo dd if=u-boot.fex of=/dev/sdf bs=1k seek=19096 sudo dd if=sunxi_mbr.fex of=/dev/sdf bs=1k seek=20480 sudo dd if=boot-resource.fex of=/dev/sdf bs=1k seek=36864 sudo dd if=env.fex of=/dev/sdf bs=1k seek=69632 sudo dd if=boot.fex of=/dev/sdf bs=1k seek=86016 recovery partition table,and increase the capacity to the memory card is the largest,also change to /dev/sdf2.

sudo fdisk /dev/sdf p n p 1 204800 729087 t c n p 2 729088 # here just "enter",default will get max size w sync sudo fsck /dev/sdf1 sudo fsck /dev/sdf2 sudo resize2fs /dev/sdf2 sudo tune2fs -j /dev/sdf2 sudo e2fsck -f /dev/sdf2 all is finish. just use this SD card to boot your banana pi.

123 BPI-M3 fix rootmydevice issue for Security Alert

BPI-M3 fix rootmydevice issue for Security Alert

BPI-M3: fix rootmydevice issue

STEP 1. download update file & install STEP 2. update boot files

======STEP 1:======on ubuntu / raspbian / debian : download file: linux-bananapi-bpi-m3-kernel3_1.2.9_armhf.deb github: https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/linux-bananapi-bpi-m3-kernel3_1.2.9_armhf.deb google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjdHJ2T3d6b0xja0k/view?usp=sharing

MD5: aeb90ff97a536c2c31fccfedd6d1c164

# sudo dpkg -i linux-bananapi-bpi-m3-kernel3_1.2.9_armhf.deb on other system : download file: 3.4.39-BPI-M3-Kernel.tgz google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjMU01LTRyRXBpUHM/view?usp=sharing

MD5: aef73f35266e78957066dd5be2bab3b2

# sudo tar xvf 3.4.39-BPI-M3-Kernel.tgz -C /

======STEP 2:======

124 BPI-M3 fix rootmydevice issue for Security Alert

# sudo su # ls -l /usr/lib/u-boot/bananapi/bpi-m3/linux/ total 5908 -rwxr-xr-x 1 root root 55408 4月 27 06:11 script.bin -rwxr-xr-x 1 root root 55408 4月 30 05:01 script.bin.emmc -rwxr-xr-x 1 root root 55408 2月 23 06:27 script.bin.otg -rwxr-xr-x 1 root root 74463 4月 27 04:07 sys_config.fex -rwxr-xr-x 1 root root 74529 4月 30 04:55 sys_config.fex.emmc -rwxr-xr-x 1 root root 2254 5月 4 07:49 uEnv.txt -rw-r--r-- 1 root root 5717352 5月 3 21:47 uImage

# mount /dev/mmcblk0p1 /boot # cp -a /usr/lib/u-boot/bananapi/bpi-m3/linux/* /boot/bananapi/bpi-m3/linux # bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz # reboot

125 How to compile BPI-M3-bsp kernel on BPI-M3

How to compile BPI-M3-bsp kernel on BPI-M3

1,at first download code

git clone https://github.com/BPI-SINOVOIP/BPI-M3-bsp.git

2, Add depend package

apt-get install git build-essential libncurses5-dev

3.edit BPI-M3-bsp/Makefile delete the cross compiler options

.PHONY: all clean help .PHONY: u-boot kernel kernel-config .PHONY: linux pack include chosen_board.mk SUDO=sudo #unmark for use new toolchain , this time just for KERNEL TEST ONLY #DONOT USE FOR UBOOT this time, #due to allwinner UBOOT release without some source code issue. OUTPUT_DIR=$(CURDIR)/output U_CONFIG_H=$(U_O_PATH)/include/config.h K_DOT_CONFIG=$(K_O_PATH)/.config LICHEE_KDIR=$(CURDIR)/linux-sunxi ROOTFS=$(CURDIR)/rootfs/linux/default_linux_rootfs.tar.gz Q= J=$(shell expr `grep ^processor /proc/cpuinfo | wc -l` \* 2) all: bsp ## DK, if u-boot and kernel KBUILD_OUT issue fix, u-boot-clean and kernel-clean ## are no more needed clean: u-boot-clean kernel-clean rm -f chosen_board.mk ## pack pack: sunxi-pack $(Q)scripts/mk_pack.sh # u-boot $(U_CONFIG_H): u-boot-sunxi $(Q)$(MAKE) -C u-boot-sunxi $(UBOOT_CONFIG)_config -j$J u-boot: $(U_CONFIG_H) $(Q)$(MAKE) -C u-boot-sunxi all -j$J u-boot-clean: rm -f sunxi-pack/chips/sun8iw6p1/bin/u-boot-sun8iw6p1.bin rm -f u-boot-sunxi/tools/sunxi_env_gen $(Q)$(MAKE) -C u-boot-sunxi -j$J distclean ## linux $(K_DOT_CONFIG): linux-sunxi $(Q)$(MAKE) -C linux-sunxi ARCH=arm $(KERNEL_CONFIG) kernel: $(K_DOT_CONFIG) $(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J INSTALL_MOD_PATH=output uImage modules $(Q)$(MAKE) -C linux-sunxi/modules/gpu ARCH=arm LICHEE_KDIR=${LICHEE_KDIR} $(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J INSTALL_MOD_PATH=output modules_install $(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J headers_install #cd linux-sunxi && ${K_CROSS_COMPILE}objcopy -R .note..build-id -S -O binary vmlinux bImage kernel-clean: $(Q)$(MAKE) -C linux-sunxi/arch/arm/mach-sunxi/pm/standby ARCH=arm clean $(Q)$(MAKE) -C linux-sunxi/modules/gpu ARCH=arm LICHEE_KDIR=${LICHEE_KDIR} clean $(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J distclean rm -rf linux-sunxi/output/ rm -f linux-sunxi/bImage kernel-config: $(K_DOT_CONFIG) $(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J menuconfig cp linux-sunxi/.config linux-sunxi/arch/arm/configs/$(KERNEL_CONFIG) ## bsp bsp: u-boot kernel ## linux

126 How to compile BPI-M3-bsp kernel on BPI-M3

linux: $(Q)scripts/mk_linux.sh $(ROOTFS) help: @echo "" @echo "Usage:" @echo " make bsp - Default 'make'" @echo " make linux - Build target for linux platform, as ubuntu, need permisstion confirm during the build process" @echo " Arguments:" @echo " ROOTFS= - Source rootfs (ie. rootfs.tar.gz with absolute path)" @echo "" @echo " make pack - pack the images and rootfs to a PhenixCard download image." @echo " make clean" @echo "" @echo "Optional targets:" @echo " make kernel - Builds linux kernel" @echo " make kernel-config - Menuconfig" @echo " make u-boot - Builds u-boot" @echo ""

4.eidt BPI-M3-bsp/linux-sunxi/arch/arm/mach-sunxi/pm/standby/Makefile find here

always := standby.code resume1.code targets := standby.elf resume1.elf and add

hostprogs-y := mksunxichecksum change 103、104 line to

$(obj)/resume1.code: $(obj)/resume1.bin $(obj)/mksunxichecksum $(obj)/mksunxichecksum $(obj)/resume1.bin $(obj)/super/resume/resume1.code

1. at BPI-M3-bsp/linux-sunxi/arch/arm/mach-sunxi/pm/standby/ dir add file: mksunxichecksum.c as below:

/* * (C) Copyright 2015 Jean-Francois Moine * (C) Copyright 2014 Henrik Nordstrom * * Based on mksunxiboot * * (C) Copyright 2007-2011 * Co., Ltd. * * SPDX-License-Identifier: GPL-2.0+ */ #include #include #include #include #include /* boot head definition from sun4i boot code */ struct boot_file_head { uint32_t b_instruction; /* one intruction jumping to real code */ uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ uint32_t check_sum; /* generated by PC */ uint32_t length; /* generated by PC */ /* * We use a simplified header, only filling in what is needed * for checksum calculation. */ }; #define STAMP_VALUE 0x5F0A6C39

127 How to compile BPI-M3-bsp kernel on BPI-M3

/* check sum functon from sun4i boot code */ static int gen_check_sum(struct boot_file_head *head_p) { uint32_t length; uint32_t *buf; uint32_t loop; uint32_t i; uint32_t sum; length = head_p->length; // if ((length & 0x3) != 0) /* must 4-byte-aligned */ // return -1; buf = (uint32_t *)head_p; head_p->check_sum = STAMP_VALUE; /* fill stamp */ loop = length >> 2; /* calculate the sum */ for (i = 0, sum = 0; i < loop; i++) sum += buf; /* write back check sum */ head_p->check_sum = sum; return 0; } int main(int argc, char *argv[]) { struct boot_file_head h, *buf; unsigned file_size; FILE *f; if (argc != 3) { printf("Usage: %s file.bin file.code\n" "calculates BROM checksum in boot header of given .bin file and writes to .code file\n" "", argv[0]); exit(1); } f = fopen(argv[1], "rb"); if (!f) { perror("Open input file"); exit(1); } fread(&h, 1, sizeof h, f); file_size = h.length; // wanted length buf = malloc(file_size); memset(buf, 0xff, file_size); rewind(f); fread(buf, 1, file_size, f); fclose(f); gen_check_sum(buf); f = fopen(argv[2], "wb"); if (!f) { perror("Open output file"); exit(1); } fwrite(buf, 1, file_size, f); fclose(f); return 0; } save and exit. run

./build.sh compile : 1(1-6) choose compile : 3(1-6) begin to compile .

After the completion of the copy Uimage to boot partition boot/BPI m3 below

128 How to compile BPI-M3-bsp kernel on BPI-M3

129 Reference documents

Reference documents

130 A83T Linux-sunxi wiki

A83T Linux-sunxi wiki about allwinner A83T chip,please reference this link: http://linux-sunxi.org/A83T all about allwinner chip: https://en.wikipedia.org/wiki/Allwinner_Technology

131 BPI-M3 linux-sunxi wiki

linux-sunxi wiki

Be aware that the board manufacturer is not cooperative. Despite its name the M3 is incompatible to Banana Pi/M1/M1+/Pro due to a different SoC requiring different boot loaders and drivers. It's just another attempt to cash in on the Banana Pi's popularity with another incompatible SBC sharing brand, name, form factor and GPIO header. more,please see this link: http://linux-sunxi.org/Banana_Pi_M3

132 Banana pi wikipedia wiki

Banana pi wikipedia wiki all banana pi development board wikipedia wiki https://en.wikipedia.org/wiki/Banana_Pi

133 Linux mainlining effort

Linux mainlining effort

The purpose of this page is to try and define sub-goals and milestones for the mainlining effort, containing goals and sub- goals with milestones for adding Allwinner support in the upstream mainline Linux Kernel.

It is very important to note that this is intended as a rough set of minimal goals - it is not meant to collide with the huge effort of rewriting major drivers! more ,please see link: http://linux-sunxi.org/Linux_mainlining_effort

134 BPI-M3 online video

BPI-M3 online video

Banana Pi M3 Overview And Android Benchmark Test 8 Core Single Board Computer https://www.youtube.com/watch?v=y4PtSTN3R-8

Banana Pi BPI-M3 UNBOXING + Quickstart https://www.youtube.com/watch?time_continue=308&v=uvW72fhhz48

BPI -M3 Performance and Benchmarks https://www.youtube.com/watch?v=2rWsTpDYMwg

banana pi BPI-M3 WiringPi demo https://www.youtube.com/watch?v=tv18IHQD264

banna pi BPI-M3 Andorid 5.1.1 test and how to install :Mit Android zum Mediencenter auf dem Bastelrechner https://www.youtube.com/watch?v=_FmtB7NP1Ms

Banana Pi BPI-M3 Android Web Server with Servers Ultimate via Play Store https://www.youtube.com/watch?v=bdfGECuyUng

banana pi BPI-M3-H allwinner H8 Android 5.1.1 Test https://www.youtube.com/watch?v=AUCOKEDcUGA

banana pi BPI-M3-R with allwinner R58 chip Android 5.1.1 Test https://www.youtube.com/watch?v=XEZqG5yqCcY

banana pi BPI-M3 EMMC burning simply under Ubuntu https://www.youtube.com/watch?v=1d5enpxQpWE

Burning Android to eMMC on Banana Pi BPI-M3 https://www.youtube.com/watch?v=FZp6wGtgKd8

Banana Pi BPI-M3 Review - Android 5.0 L and Ubuntu Mate Demo https://www.youtube.com/watch?v=foxnnQT58FE

banana pi BPI-M3 use UniPi demo and how to use https://www.youtube.com/watch?v=-4dgZZLFl3g

banana pi BPI-M3 BPI 8x8 RGB LED Martix module how to use

https://www.youtube.com/watch?v=K6mRB_CtOlI

Banana Pi M3 Review Parte 1 - Web browser, Multimidia and Android Games ( BPI-M3 ) https://www.youtube.com/watch?v=fdxjSuBLmzk

Banana Pi M3 Review Parte 2 - Testing android emulators ( Dreamcast / PSP / N64 / PS1 ) https://www.youtube.com/watch?v=zAIKmh6FI34

135 Allwinner chip documents

Allwinner chip documents allwinner chip online datasheet and documents:

http://dl.linux-sunxi.org/

136 BPI-M3 quality guarantee

BPI-M3 quality guarantee

All the products Banana pi release go through strictly controlled process from developing,testing,manufacturing to certification.

We put quality first, users can mass produce their products using our boards directly, we've been dedicating to providing the most cost performance products.

137 BPI-M3 WIFI Lab test

BPI-M3 WIFI Lab test

Date: 2015/12/16

Overall Result: PASS

AP 6212 wifi 802.11 B test report

138 BPI-M3 WIFI Lab test

139 BPI-M3 WIFI Lab test

AP 6212 wifi 802.11 G test report

140 BPI-M3 WIFI Lab test

141 BPI-M3 WIFI Lab test

AP 6212 wifi 802.11 N test report

142 BPI-M3 Validation test

BPI-M3 Validation test

BPI-M3 have do full Validation test on Lab. all test result: PASS main Validation test report:

BPI-M3 Validation - RF Connectivity Test http://forum.banana-pi.org/t/bpi-m3-validation-rf-connectivity-test/996

BPI-M3 Validation - USB2.0 http://forum.banana-pi.org/t/bpi-m3-validation-usb2-0/974

BPI-M3 Validation - HDMI(720p) http://forum.banana-pi.org/t/bpi-m3-validation-hdmi-720p/971

BPI-M3 Validation - HDMI(1080p) http://forum.banana-pi.org/t/bpi-m3-validation-hdmi-1080p/972

BPI-M3 Validation - Wifi_SDIO Test http://forum.banana-pi.org/t/bpi-m3-validation-wifi-sdio-test/969

BPI-M3 Validation - UART(Bluetooth) Test http://forum.banana-pi.org/t/bpi-m3-validation-uart-bluetooth-test/968

BPI-M3 Validation - Signal Integrity Test http://forum.banana-pi.org/t/bpi-m3-validation-signal-integrity-test/967

BPI-M3 Validation - Over Load Protection Test http://forum.banana-pi.org/t/bpi-m3-validation-over-load-protection-test/966

BPI-M3 Validation - Ripple/Noise Test http://forum.banana-pi.org/t/bpi-m3-validation-ripple-noise-test/965

143 BPI-M3 CE,FCC RoHS Certification

BPI-M3 CE,FCC RoHS Certification

BPI-M3 CE Certification

BPI-M3 FCC Certification

144 BPI-M3 CE,FCC RoHS Certification

BPI-M3 RoHS Certification

145 BPI-M3 CE,FCC RoHS Certification

146 All Banana Pi SBC Comparison

All Banana Pi SBC Comparison

147 BPI-M3 vs ODROID-XU4

BPI-M3 vs ODROID-XU4

148 All banana pi product

All banana pi product

banana pi BPI-M1 allwinner A20 dual core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m1/content/en/

banana pi BPI-M1+(BPI-M1+ plus) allwinner A20 dual core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m1-bpi-m1-plus-/content/en/

banana pi BPI-M2 allwinner A31s quad core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m2/content/en/

banana pi BPI-M2+(BPI-M2 Plus)allwinner H3 quad cord single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m2-/content/en/

banana pi BPI-M2 Ultra allwinner R40 quad core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m2-ultra/content/

Banana pi BPI-M3 allwinner A83T (R58 H8) octa-core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m3/content/en/

banana pi BPI-M64 allwinner A64 64 bit single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m64/content/en/

banana pi BPI-R1 allwinner A20 dual core smart router board

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-r1/content/en/

banana pi BPI-D1 open source IP camera board

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-d1/content/en/

banana pi BPI-G1 open source IoT development board

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-g1/content/en/

banana pi BPI Accessories

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-accessories/content/en/

BPI Open debugger burn development tool board

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-open-debugger-burn-board/content/en/

149 BPI 4.0 customized Server

BPI 4.0 customized Server

Having been doing R&D in embeded systems for more than 12 years. Our experienced teams are able to help you to carry out your dream. Whether you want to customize banana pi or want to design a computer from scratch, we got you covered. Also, our modern ISO factory spans over 10,000 square meters can help you mass manufacture products to hit the market

Our factory:Sinovoip In order to meet the companys development needs, and further production capacity and product quality. Sources Communication shareholders decided to invest in new plant to build their own, the new factory site is located in manholes and covers an area of more than 10000 square meters,equipped with full range of production equipment and high quality technical management personnel . We have complete SMT production lines, plug-ins production line, assembly line, production line testing.

your Idea, we will help you optimize and design. your Design, we will help you bring it to live. your Product, we will help you mass produce it.

Customize Pi

If you want to tailor your Banana pi to your specific use or to minimize the cost for mass production purpose, you are coming the right place. We provide the customization service of banana pi such as remove/add headers or connectors,change component layout,add/remove components,change interfaces etc.

Start from scratch (ODM)

An idea flashes through your mind in your dreams or a solution bearing in your mind for a long time, which you think would turn out to be great gadget to hit the market, but you are worrying about how to start and realize it without R&D and manufacturing, now that's no longer a trouble to you. Taking advantage of our expertise,we provide full ODM service for you. We let you have your sample products from scratch within 45 days. Don't wait,come to realize your dreams.

150 BPI 4.0 customized Server

Have a prototype (OEM)

You are an expert, you designed a wonderful device that most people would want to have it, you knew it quite well that your success is just around the corner. The only last step is to produce it,but without manufactruing capability..., no problem, let us carry you through. Our 13 years of SCM experience and mass manufacturing facilities enable you free from quality issue,delivery...

151