Difference between pages "Getting Started with BPI-W3" and "Banana Pi BPI-M6"

From Banana Pi Wiki
(Difference between pages)
Jump to: navigation, search
(Wlan&BT)
 
(Armbian)
 
Line 1: Line 1:
 +
[[zh:香蕉派 BPI-M6]]
 
=Introduction=
 
=Introduction=
[[File:Banana Pi BPI-W3 LGA 1.jpg|thumb|[[Banana Pi BPI-W3]] with Rockchip RK3588 chip design]]
 
[[File:Banana_Pi_BPI-RK3588-LGA_5.jpg|thumb| RK3588 LGA BGA core board with Rockchip RK3588]]
 
[[File:BPI-RK3588_board_core_2.jpg|thumb|[[BPI-RK3588 Core board and development Kit]] Gold finger interface core board]]
 
[[File:Banana_pi_BPI-R1_1.JPG|thumb|[[Banana Pi BPI-R1]] Allwinner A20]]
 
[[File:BPI-R2_3.JPG|thumb|[[Banana Pi BPI-R2]] with MTK MT7623N chip design]]
 
[[File:Banana_Pi_BPI-R2_Pro_1_750.jpg|thumb|[[Banana Pi BPI-R2 Pro]] Rockchip RK3568 design]]
 
[[File:BPI-R64_3.JPG|thumb|[[Banana Pi BPI-R64]] MTK MT7622]]
 
[[File:O2A0500.jpg|thumb|[[Banana Pi BPI-W2]] with Realtek RTD1296 chip design]]
 
[[File:Banana_Pi_BPI-R3_Router_2.jpg|thumb|[[Banana Pi BPI-R3]] with MediaTek MT7986(Filogic 830)]]
 
[[File:Banana_Pi_BPI-M2S_1.jpg|thumb|[[Banana Pi BPI-M2S]] Amlogic A311D chip]]
 
  
Before starting to use your ArmSoM-W3 get the following items ready
+
[[File:Banana_Pi_BPI-M6_1.jpg|thumb|[[Banana Pi BPI-M6]] with  Synaptics VS680]]
 +
[[File:Banana_Pi_BPI-M6_2.jpg|thumb|[[Banana Pi BPI-M6]] with  Synaptics VS680]]
 +
[[File:BPI-M2_Pro_2.jpg|thumb|[[Banana Pi BPI-M2 Pro]] S905x3 design]]
 +
[[File:Banana_Pi_BPI-M5_1.JPG|thumb|[[Banana Pi BPI-M5 ]]Amlogic S905X3 Processor]]
 +
[[File:Banana_Pi_BPI-M4_1.jpg|thumb|[[Banana Pi BPI-M4]] Realtek RTD1395]]
 +
[[File:Banana_pi_BPI-M64_1.jpg|thumb|[[Banana Pi BPI-M64]] Allwinner A64]]
 +
[[File:Banana_pi_BPI-M2+_2.jpg|thumb|[[Banana Pi BPI-M2+]] Allwinner H3/H5/H2+]3]]
 +
[[File:Banana_Pi_BPI-M6_banner.jpg]]
  
*PI-W3
+
Banana Pi BPI-M6 is the next generation single board computer from Banana Pi in 2022,It is powered by Synaptics VS680 quad-core Cortex-A73 (2.1GHz) and One Cortex-M3 processor,Imagination GE9920 GPU.and NPU Up to 6 .75Tops. Onboard 4GB LPDDR4 memory and 16GB EMMC storage, and supports 4 USB 3.0 interface, a gigabit network port.onboard 1 HDMI-rx port and 1 Hdmi-tx port.
*power supply(choose one of three)
 
::12 volt @2/3A via DC Power
 
::USB C PD Charger (15W & above)
 
::12 volt PoE
 
*If you wish to boot from sd card:MicroSD Card/TF Card: Class 10 or Above, minimum 8GB SDHC
 
  
=specifications=
+
==About VideoSmart VS680==
 +
VideoSmart™ VS680 solution, an industry-first edge computing SoC that combines a CPU, NPU, and GPU. This new multimodal platform with integrated neural network accelerator is purpose built with perceptive intelligence for applications including smart displays, smart cameras, set-top-boxes and media streamers.The Synaptics VideoSmart VS680 is a multimedia powerhouse that combines a Qdeo 4K-video engine, an audio processor capable of far-field keyword detection and voice recognition, and a proprietary SyNap deep-learning accelerator (DLA). it also integrates a higher-performance Imagination PowerVR Series9 GPU. Another new feature is an ISP with HDR capabilities that can handle two 4K cameras. Previous VideoSmart products target the streaming-video set-top-box (STB) market, but the VS680 aims for a broader range of smart-home devices. It s well suited to the Facebook Portal and other smart displays, which enable video calling. The audio processor can drive a smart speaker or sound bar, but when coupled with the DLA, it handles on-device voice-UI functions in addition to providing the front end to a cloud-based digital assistant. The DLA works with the dual ISP to run neural networks on video streams from front and rear cameras, enabling face ID, object recognition, and security monitoring, among other tasks. The Qdeo engine can drive two displays, allowing the device to power a 1080p touchscreen panel in an STB while simultaneously streaming to a 4K TV.
  
=Android=
+
VS680 chip official Developer Center: https://developer.senarytech.com/index.html
==Prepare==
 
:1. Good Type-C data cable for image download into EMMC
 
:2. Usb to ttl cable if you need debug, default baudrate is 1500000.
 
:3. Windows or Linux PC.
 
:4. Download the  [https://wiki.banana-pi.org/Banana_Pi_BPI-W3#Android Android], and confirm that the md5 checksum is correct before flashing.
 
Note: The below picture is for BPI-W3's Debug Connecting, the red usb cable is Type-C data cable for image download,  the three colors usb to ttl cable is linux serial console, please install CH340E's USB convert serial driver.
 
:[[File:linux_download.jpg|820px]]
 
  
 +
==Key Features==
 +
* Synaptics VideoSmart VS680 quad-core Cortex-A73 (2.1GHz) and One Cortex-M3 processor
 +
* Imagination GE9920 GPU
 +
* NPU for AI up to 6 .75Tops
 +
* 4GB LPDDR4
 +
* 16GB eMMC flash
 +
* M.2 Key E(PCIe + MIPI CSI)
 +
* 4 USB 3.0
 +
* 1 GbE ethernet
 +
* 1 HDMIin and 1 HDMIout
  
==Install Whole Image with Usb Download Tool==
+
==Getting Start==
  
===Windows Driver install===
+
*[[Getting Started with BPI-M6]]
1. Download and install [https://download.banana-pi.dev/d/ca025d76afd448aabc63/files/?p=%2FTools%2Fimage_download_tools%2FDriverAssitant_v5.11.zip Rockchip USB driver]
 
:[[File:driver_install_2.PNG]]
 
  
2. Download [https://download.banana-pi.dev/d/ca025d76afd448aabc63/files/?p=%2FTools%2Fimage_download_tools%2FUpdate-EMMC-Tools.zip Rockchip USB Download Tool for EMMC upgrade]
+
=Hardware=
:This tool defaults language is Chinese. you can change it to English after extract the package. Open RKDevTool_Release_v2.84/config.ini with an text editor (like notepad). The starting lines are:
 
  
  #Language Selection: Selected=1(Chinese); Selected=2(English)
+
==Hardware interface==
  [Language]
+
[[File:Banana_Pi_BPI-M6_interface.jpg]]
  Kinds=2
 
  Selected=2
 
  LangPath=Language\
 
  
3. Open RKDevTool.exe, Switch to the “upgrade firmware” page. Press the “firmware” button to open the image file to be upgraded. The upgrade tool displays detailed firmware information.
+
==Hardware spec==
  Note: Because Linux's release image is very large, So you need wait for a long time when Software open and analysis the image file.
+
{| class="wikitable"
:[[File:Bpi-r2pro-Firmware.png]]
+
|-
 +
| style="background: PaleTurquoise; color: black" colspan="4"| '''HardWare  Specification of Banana pi BPI-M6'''
 +
|-
 +
|CPU|| Synaptics VS680 quad-core Cortex-A73 (2.1GHz) and One Cortex-M3 processor
 +
|-
 +
| GPU||Imagination GE9920 GPU
 +
|-
 +
|NPU for AI|| Up to 6 .75Tops
 +
|-
 +
| Memory|| 4 GB LPDDR4
 +
|-
 +
| Storage|| MicroSD slot with support for up to 256GB expansion and 16G eMMC flash with support for up to 64GB
 +
|-
 +
| Network|| 10/100/1000 Mbit/s Ethernet ,Optional WiFi USB dongle
 +
|-
 +
|Video || 1 x HDMI 2.1 (up to 4K@60Hz with HDR, CEC, EDID) out, and 1 HDMI in Port
 +
|-
 +
| Audio Output(s)|| 1 x HDMI digital output
 +
|-
 +
|Display||MIPI DSI interface
 +
|-
 +
|M.2 interface||M.2 Key E(PCIe + MIPI CSI)
 +
|-
 +
| USB ports|| USB 3.0 PORT (x4)
 +
|-
 +
|GPIO|| 40 Pin Header : GPIO (x28) and Power (+5V, +3.3V and GND). GPIO pins can be used for UART, I2C, SPI or PWM
 +
|-
 +
|Switches|| SPI boot and U-boot
 +
|-
 +
| LED|| Power Status and Activity status
 +
|-
 +
| Power Source|| 5 volt @3A TYPE C 
 +
|-
 +
|Size & Weight|| 92x60mm, 48g
 +
|-
 +
|OS|| Android and Linux
 +
|}
  
4. Disconnect the power adapter , connect the type-c cable to the bpi-w3 and PC.
+
==GPIO PIN define ==
 +
===40PIN Header(CON3)===
 +
{| class="wikitable"
 +
|-
 +
| style="background: PaleTurquoise; color: black" colspan="4"| ''' BPI-M6 40PIN Header(CON3)'''
  
5. There have two usb download mode for image upgrade.
+
|-
 +
|BPI-M6-CON3 ||PIN ||PIN ||BPI-M6-CON3
 +
|-
 +
|PWR_3V3_CTL ||1 ||2 ||PWR_5V
 +
|-
 +
|GPIO46/TW0_SDA ||3 ||4 ||PWR_5V
 +
|-
 +
|GPIO47/TW0_SCL ||5 ||6 ||GND
 +
|-
 +
|GPIO53/PWM1 ||7 ||8 ||SM_GPIO15/UART2_TXD
 +
|-
 +
|GND ||9 ||10 ||SM_GPIO14/UART2_RXD
 +
|-
 +
|GPIO36/PWM3 ||11 ||12 ||GPIO20/I2S1_BCLK
 +
|-
 +
|GPIO37/PWM2 ||13 ||14 ||GND
 +
|-
 +
|EXPANDER_TW3_GPIO1_4 ||15 || 16 ||EXPANDER_TW3_GPIO1_0
 +
|-
 +
|PWR_3V3_CTL ||17 ||18 ||EXPANDER_TW3_GPIO1_1
 +
|-
 +
|SM_GPIO13/SPI2_SDO/URT2_RTS/SM_STRAP1 ||19 ||20 ||GND
 +
|-
 +
|SM_GPIO12/SPI2_SDI/URT2_CTS ||21 ||22 ||GPIO4/SPDIF
 +
|-
 +
|SM_GPIO11/SPI2_SCK ||23 ||24 ||SM_GPIO17/SPI2_SS0/SM_STRAP2
 +
|-
 +
|GND ||25 ||26 ||SM_GPIO16/SPI2_SS1/SM_STRAP3
 +
|-
 +
|GPIO15/I2S1_DO3 ||27 ||28 ||GPIO16/I2S1_DO2
 +
|-
 +
|EXPANDER_TW3_GPIO1_7 ||29 ||30 ||GND
 +
|-
 +
|EXPANDER_TW3_GPIO1_6 ||31 ||32 ||EXPANDER_TW3_GPIO1_3
 +
|-
 +
|EXPANDER_TW3_GPIO1_5 ||33 ||34 ||GND
 +
|-
 +
|GPIO21/I2S1_LRCK ||35 ||36 ||EXPANDER_TW3_GPIO1_2
 +
|-
 +
|GPIO18/I2S1_MCLK ||37 ||38 ||GPIO17/I2S1_DO1
 +
|-
 +
|GND ||39 ||40 ||GPIO19/I2S1_DO0
 +
|-
 +
|}
  
:*'''Uboot Usb Download Mode (loader mode)'''
+
===M.2 E-KEY(CN10)===
::It's supposed to use this way if board already flashed a bootable uboot before.
 
:*'''Maskrom Usb Download Mode'''
 
  
:Press the Recovery button or Maskrom button beside 3pin uart header and hold, connect the power adapter or press the RST button if power adapter already connected, about two seconds later, release the button. PC will Identify the device if RK usb driver installed correctly.
+
{| class="wikitable"
:[[File:device_manage.PNG]]
+
|-
 +
| style="background: PaleTurquoise; color: black" colspan="4"| ''' BPI-M6 M.2 E-KEY(CN10)'''
  
:The download tool also show the download mode if device connected.
+
|-
:[[File:load_download.PNG]]
+
| ||PIN || ||PIN
 +
|-
 +
|GND ||1 ||2 ||VCC-NGFF
 +
|-
 +
|NGFF_KEYE_DP ||3 ||4 ||VCC-NGFF
 +
|-
 +
|NGFF_KEYE_DM ||5 ||6 ||WiFi-LED
 +
|-
 +
|GND ||7 ||8 ||SM_GPIO10/TW3_SDA
 +
|-
 +
|MIPI_CSI0_RD0p ||9 ||10 ||SM_GPIO9/TW3_SCL
 +
|-
 +
|MIPI_CSI0_RD0n ||11 ||12 ||NI
 +
|-
 +
|MIPI_CSI0_RD1p ||13 ||14 ||BT-LED
 +
|-
 +
|MIPI_CSI0_RD1n ||5 ||16 ||BT-LED
 +
|-
 +
|MIPI_CSI0_RD2p ||17 ||18 ||GND
 +
|-
 +
|MIPI_CSI0_RD2n ||19 ||20 ||SM_GPIO6/UART_WAKE#Puboot
 +
|-
 +
|MIPI_CSI0_RD3p ||21 ||22 ||GPIO43/UART3_RXD
 +
|-
 +
|MIPI_CSI0_RD3n ||23 ||24 ||NOTCH
 +
|-
 +
|NOTCH ||25 ||26 ||NOTCH
 +
|-
 +
|NOTCH ||27 ||28 ||NOTCH
 +
|-
 +
|NOTCH ||29 ||30 ||NOTCH
 +
|-
 +
|NOTCH ||31 ||32 ||GPIO42/UART3_TXD
 +
|-
 +
|GND ||33 ||34 ||GPIO41/UART3_CTSn
 +
|-
 +
|PCIe_TX0p ||35 ||36 ||GPIO40/UART3_RTSn
 +
|-
 +
|PCIe_TX0n ||37 ||38 ||NI
 +
|-
 +
|GND ||39 ||40 ||MIPI_CSI0_RCKp
 +
|-
 +
|PCIe_RX0p ||41 ||42 ||MIPI_CSI0_RCKn
 +
|-
 +
|PCIe_RX0n ||43 ||44 ||NI
 +
|-
 +
|GND ||45 ||46 ||NI
 +
|-
 +
|PCIe_CLKp ||47 ||48 ||NI
 +
|-
 +
|PCIe_CLKn ||49 ||50 ||CLK32_OUT
 +
|-
 +
|GND ||51 ||52 ||PCIE_PERSTn
 +
|-
 +
|PCIE_CLKREQ ||53 ||54 ||GPIO10/DISABLE_BT
 +
|-
 +
|PCIE_PEWAKE ||55 ||56 ||GPIO09/DISABLE_WiFi
 +
|-
 +
|GND ||57 ||58 ||GPIO46/TW0_SDA(VDDIO_1.8V)
 +
|-
 +
|PCIe_TX1p ||59 ||60 ||GPIO47/TW0_SCL(VDDIO_1.8V)
 +
|-
 +
|PCIe_TX1n ||61 ||62 ||NI
 +
|-
 +
|GND ||63 ||64 ||MIPI_CSI1_RD0p
 +
|-
 +
|PCIe_RX1p ||65 ||66 ||MIPI_CSI1_RD0n
 +
|-
 +
|PCIe_RX1n ||67 ||68 ||MIPI_CSI1_RD1p
 +
|-
 +
|GND ||69 ||70 ||MIPI_CSI1_RD1n
 +
|-
 +
|MIPI_CSI1_RCKp ||71 ||72 ||VCC-NGFF
 +
|-
 +
|MIPI_CSI1_RCKn ||73 ||74 ||VCC-NGFF
 +
|-
 +
|GND ||75
 +
|-
 +
|}
  
:[[File:maskrom_download.PNG]]
+
===MIPI DSI(CN12)===
  
6. Press the “upgrade” button to start the upgrade.
+
{| class="wikitable"
:[[File:upgrade.PNG]]
+
|-
 +
| style="background: PaleTurquoise; color: black" colspan="4"| ''' BPI-M6 MIPI DSI(CN12)'''
 +
|-
 +
|CN12-P1 ||MIPI_DSI_TX1_D0n
 +
|-
 +
|CN12-P2 ||MIPI_DSI_TX1_D0p
 +
|-
 +
|CN12-P3 ||MIPI_DSI_TX1_D1n
 +
|-
 +
|CN12-P4 ||MIPI_DSI_TX1_D1p
 +
|-
 +
|CN12-P5 ||MIPI_DSI_TX1_CLKn
 +
|-
 +
|CN12-P6 ||MIPI_DSI_TX1_CLKp
 +
|-
 +
|CN12-P7 ||MIPI_DSI_TX1_D2n
 +
|-
 +
|CN12-P8 ||MIPI_DSI_TX1_D2p
 +
|-
 +
|CN12-P9 ||MIPI_DSI_TX1_D3n
 +
|-
 +
|CN12-P10 ||MIPI_DSI_TX1_D3p
 +
|-
 +
|CN12-P11 ||GND
 +
|-
 +
|CN12-P12 ||LCD_ADC
 +
|-
 +
|CN12-P13 ||GPIO2/LCD1_PWR_EN(VDDIO_1.8V)
 +
|-
 +
|CN12-P14 ||GPIO3/LCD1_RST(VDDIO_1.8V)
 +
|-
 +
|CN12-P15 ||GPIO39/LCD1_BL_PWM(VDDIO_1.8V)
 +
|-
 +
|CN12-P16 ||GND
 +
|-
 +
|CN12-P17 ||GPIO0/TP_INT(VDDIO_1.8V)
 +
|-
 +
|CN12-P18 ||GPIO1/TP_RST(VDDIO_1.8V)
 +
|-
 +
|CN12-P19 ||GPIO47/TW0_SCL(VDDIO_1.8V)
 +
|-
 +
|CN12-P20 ||GPIO46/TW0_SDA(VDDIO_1.8V)
 +
|-
 +
|CN12-P21 ||GND
 +
|-
 +
|CN12-P22 ||GND
 +
|-
 +
|CN12-P23 ||PWR_5V
 +
|-
 +
|CN12-P24 ||PWR_5V
 +
|-
 +
|}
  
7: If the upgrade fails, you can try to erase the Emmc by pressing the EraseFlash button first, and then upgrade image again.
+
===Debug UART(CON2)===
:[[File:erase.PNG]]
+
{| class="wikitable"
 +
|-
 +
| style="background: PaleTurquoise; color: black" colspan="4"| '''BPI-M6 Debug UART(CON2)'''
 +
|-
 +
|CON2-P1 ||GND
 +
|-
 +
|CON2-P2 ||UART0-RX
 +
|-
 +
|CON2-P3 ||UART0-TX
 +
|-
 +
|}
  
=Linux=
+
=Software=
 +
==Source code on github==
  
==Prepare==
+
Armbian Source code:
:1. Usb to ttl cable if you need debug, default baudrate is 1500000.
+
*https://github.com/BPI-SINOVOIP/armbian-build/commit/9163a04ca984461bec2516e9be0acd8a990863b9
:2. Download the  [https://wiki.banana-pi.org/Banana_Pi_BPI-W3#Linux Linux], and confirm that the md5 checksum is correct before flashing.
+
*https://github.com/BPI-SINOVOIP/armbian-build/tree/v23.12.18
  
===Install Image to SDcard 1===
+
Linux Source code:
  
'''NOTE: Use this method for Ubuntu and Armbian images.'''
+
*https://github.com/BPI-SINOVOIP/pi-linux/tree/pi-5.4-vs680-hdmi-rx
 +
*https://github.com/BPI-SINOVOIP/pi-u-boot/tree/v2019.10-vs680-hdmi-rx
  
:Install Image with Balena Etcher.
+
==Documents==
:[https://balena.io/etcher Balena Etcher] is an opensource GUI flash tool by Balena, Flash OS images to SDcard or USB drive.
+
*Senary VS680(Synaptics SN3680) datasheet:  
 +
*The VS680 NPU is ranked first on AI benchmark website: https://ai-benchmark.com/ranking_IoT.html
  
::1.Click on "Flash from file" to select image.
+
*BPI-M6 AI function test: https://www.youtube.com/watch?v=RIO0K_V12D4
::2.Click on "Select target" to select USB device.
 
::3.Click on "Flash!" Start burning.
 
  
::[[File:etcher.jpg]]
+
*BPI-M6 VS680 SOC System Tool Manual V1.3.2.1
 +
:Baidu Cloud: https://pan.baidu.com/s/1tX7UVSJQOcNhMlazQRQkpw?pwd=8888 (pincode:8888)
 +
:Google Drive: https://drive.google.com/file/d/1gQalGLqNN24TeTBmJGzS0e3HeXxRD1fP/view?usp=sharing
  
===Install Image to SDcard 2===
+
*BPI-M6 schematic diagram
 +
:Baidu Cloud: https://pan.baidu.com/s/18VTAdGtQFb2nu1bku8mHBw?pwd=8888 (pincode:8888)
 +
:Google Drive: https://drive.google.com/file/d/1z-o5dZWcYrmTqNH3Wz9ttWUzptveCS6s/view?usp=sharing
  
'''NOTE: Debian images use this method.'''
+
*BPI-M6 DXF File:
 +
:Baidu Cloud: https://pan.baidu.com/s/1Ngc11CcnufAdDcdwMd2mmQ?pwd=8888 (pincode:8888)
 +
:Google Drive: https://drive.google.com/file/d/1HJmpC5L3YqrJt4IsN0SMD5HoowqfGCyU/view?usp=sharing
  
: 1. Download Rockchip [https://download.banana-pi.dev/d/ca025d76afd448aabc63/files/?p=%2FTools%2Fimage_download_tools%2FUpdate-SD-Tools.zip SDDiskTool].
+
*Vergleich Banana Pi Bpi M6 Vs Raspberry Pi 5:https://cool-web.de/raspberry/vergleich-banana-pi-bpi-m6-vs-raspberry-pi-5.htm
: 2. Insert card reader to Windows PC, 8GB sdcard size at least.
 
: 3. Run SD_Firmware_Tool, check the “SD card startup” box and select the correct removable disk device, Choose firmware image, then Click Create button to make it and wait until it is finshed.
 
  
:[[File:w3_debian.jpg]]
+
*Banana Pi Bpi M6 Raspberry Pi 5 Alternative Ersteinrichtung Firmware Image Hochladen:https://cool-web.de/raspberry/banana-pi-bpi-m6-raspberry-pi-5-alternative-ersteinrichtung-firmware-image-hochladen.htm
  
==Build Linux BSP Source Code==
+
=Image Release=
:1. Get Linux source code
 
  
  $ git clone https://github.com/BPI-SINOVOIP/BPI-W3-BSP
+
==Android==
 +
*2023-08-30 release aosp_dolphin_tablet-syna-image-lpddr4x
 +
:Baidu Cloud: https://pan.baidu.com/s/1unEibD-NI8-Ti5le2E6d7g?pwd=8888 (pincode:8888)
 +
:Google Drive:https://drive.google.com/file/d/1egPBOusdlNGJDdp5muAjiv2MvMya0F-H/view?usp=sharing
  
:2. Build the Linux BSP Source code
+
==Linux==
 +
===Armbian===
 +
*2024.05.22-Armbian-bpi-senarytech_24.2.0-trunk_Bananapim6
 +
:Default account/password: pi/bananapi.
 +
:'''Automatically set up at first boot, avoiding the trouble of using serial line configuration before fbconsole supports it.'''
 +
:Google drive: https://drive.google.com/file/d/14RinIcN2t8aalVt6tww4t-goOQTJf1M0/view?usp=drivesdk
 +
:Baidu cloud: https://pan.baidu.com/s/1WrHOiA_2XPjv2Uvhv2G9oQ?pwd=8888
  
==Dual Display==
+
*2024.05.0-Armbian-bpi_24.2.0-trunk_Bananapim6 : Resolve sound playback issues
  Note: All linux Image suuport dual display HDMI and MIPI-DSI together, MIPI-DSI only support 1200x1920.
+
:Google drive: https://drive.google.com/drive/folders/1iUooyTawTBGKnVOzZl9lSve5WLLtEarl?usp=sharing
  Note: HDMI Display
+
:Baidu cloud: https://pan.baidu.com/s/1UfH-2M5rImuz3ZaF2gzuDg?pwd=8888 (PIN code:8888)
:[[File:HDMI.jpg|640px]]
 
  Note: MIPI-DSI panel Display
 
:[[File:mipi-dsi.jpg|640px]]
 
  
==Wlan&BT==
+
*Banana Pi BPI-M6 Synaptics VS680 SBC new image : fixed voice issue when play video
:J14 M.2 KEY E Slot is used for connect Wlan&BT adapter, default image support RTL8822CE(PCIE+USB) and RTL8822CS(SDIO+UART).
+
:Image name : 2024-04-16-Armbian-unofficial_24.2.0-trunk_Bananapim6_bookworm_legacy_5.4.195_cinnamon_desktop.img.xz
 +
:Google link : https://drive.google.com/file/d/1E2jS7RtWMP0ihqXgv1oo9rUxAWCC69n_/view?usp=drivesdk
 +
:Baidu link : https://pan.baidu.com/s/1E_zNbfCIZtoft0nC8JJ99w?pwd=8888
  
==Connect WiFi==
+
*2024-04-07-Armbian-unofficial_24.2.0-trunk_Bananapim6
===Command line connection===
+
:Baidu cloud: https://pan.baidu.com/s/1cEHX-n3EYtMWn1fkQd3ECA?pwd=8888 (pincode:8888)
:1.Open WiFi:
+
:Google drive: https://drive.google.com/drive/folders/1Rr874RdjsEZcdgKmVN83G08vBgGMX6f-?usp=sharing
sudo nmcli r wifi on
 
  
:2.List wifi list:
+
*2024-03-20 armbian-unoffcial_24.2.0 image for BPI-M6,support NPU yolov6 AI recognition
sudo nmcli dev wifi list
+
:Baidu cloud: https://pan.baidu.com/s/1t9aDdKxTeUnawz_vBIni0g?pwd=8888 (pincode:8888)
 +
:Google drive: https://drive.google.com/drive/folders/1CZbac_R6VgfLBoJbIzbyCzwYCmQ_j8oQ?usp=sharing
  
:3.Connect to wifi
+
*2024-02-29 armbian-unoffcial_24.2.0 image for BPI-M6
:SSID is BPI, password is bananapi, using the wlan0 interface as an example.
+
:Baidu cloud:https://pan.baidu.com/s/1pZFEna3CwR-v8lS-7Z88vA?pwd=8888 (PIN code:8888)
sudo nmcli dev wifi connect BPI password bananapi ifname wlan0
+
:Google drive: https://drive.google.com/drive/folders/1uh01OPtJ05Q_TAb-5HEcSMSiLTuSivKc?usp=sharing
  
===Command line graphical connection​===
+
===Ubuntu===
:Enter graphics configuration
+
*2024-01-25-ubuntu-20.04-mate-desktop-vpu-npu-bpi-m6-aarch64-sd.img
sudo nmtui
+
:Baidu Cloud: https://pan.baidu.com/s/1IUDdKI0lT53-jFqUgqrdGA?pwd=8888 (pincode:8888)
:Move the keyboard arrow keys to Active a connection and press Enter to enter wifi settings
+
:Google Drive: https://drive.google.com/file/d/1mw0Fiwa0fmXyTs6c6DI9Z4bcQZEy83p2/view?usp=sharing
:Move the arrow keys to the wifi you want to connect to and press Enter
 
:If you are connecting to an unconnected hotspot with a password, you will enter the password input interface.
 
:If you want to disconnect from wifi, press the Enter key when connected to disconnect.
 
  
===Desktop connection​===
+
=Easy to buy sample=
:When using wired Internet access, please plug the network cable into the RJ45 interface. There will be a network connection icon in the upper right corner of the desktop. Select the network you want to connect to and enter the password to access the Internet.
+
*SINOVOIP Aliexpress Shop: https://www.aliexpress.us/item/3256805894958914.html
 
+
*BIPAI Aliexpress Shop: https://www.aliexpress.us/item/3256805895088983.html
==Ethernet==
+
*Taobao Shop:https://item.taobao.com/item.htm?spm=a213gs.success.result.1.27e34831MXYuie&id=740957817652&qq-pf-to=pcqq.group
ArmSoM-w3 is configured with one 2.5G Ethernet interface. You can connect ArmSoM-w3 to the network using a network cable (one end is connected to an external network port or a route). The ArmSoM-w3 automatically configures the network for your Internet access.
+
*OEM&ODM, please contact: judyhuang@banana-pi.com
 
 
Check that the Ethernet is working by using the ifconfig command, which displays network card eth0 or enP4p65s0, along with the Ethernet IP address. In addition, you can use the ping tool to test network connectivity.
 
 
 
ifconfig
 
ping www.google.com
 
 
 
If the network cable is connected, no IP address is assigned to the node.
 
 
 
dhclient eth0
 
or
 
dhclient enP4p65s0
 
 
 
==HDMI RX==
 
The ArmSoM-w3 uses an hdmi_in port built into the rk3588 chip,You can use the v4l2 command to test the hdmi in interface.
 
 
 
====View all video nodes====
 
 
ls /dev/video*
 
 
 
====Look for the rk hdmirx device====
 
Run the v4l2-ctl -d command to specify the vidoe node. Run the -D command to view the node information. Check the rk_hdmirx device using the Driver name.
 
 
 
# v4l2-ctl -d /dev/video0 -D
 
Driver Info:
 
Driver name : rk_hdmirx
 
Card type : rk_hdmirx
 
Bus info : fdee0000.hdmirx-controller
 
Driver version : 5.10.66
 
Capabilities : 0x84201000
 
Video Capture Multiplanar
 
Streaming
 
Extended Pix Format
 
Device Capabilities
 
Device Caps : 0x04201000
 
Video Capture Multiplanar
 
Streaming
 
Extended Pix Format
 
 
 
====Query resolution and image format====
 
To query the current resolution and image format:
 
 
 
# v4l2-ctl -d /dev/video17 --get-fmt-video
 
Format Video Capture Multiplanar:
 
Width/Height : 3840/2160
 
Pixel Format : 'NV16'
 
Field : None
 
Number of planes : 1
 
Flags : premultiplied-alpha, 000000fe
 
Colorspace : Unknown (1025fcdc)
 
Transfer Function : Unknown (00000020)
 
YCbCr Encoding : Unknown (000000ff)
 
Quantization : Default
 
Plane 0 :
 
Bytes per Line : 3840
 
Size Image : 16588800
 
 
 
====Grab image file====
 
Save the image file to the device, adb pull to the PC, and view it through 7yuv and other tools:
 
 
 
v4l2-ctl --verbose -d /dev/video17 \
 
--set-fmt-video=width=3840,height=2160,pixelformat='NV16' \
 
--stream-mmap=4 --stream-skip=3 \
 
--stream-to=/data/4k60_nv16.yuv \
 
--stream-count=5 --stream-poll
 
 
 
====Querying the HDMI RX status====
 
Query the current status of HDMI RX, including signal locking, image format, Timings information, Pixl Clk, etc.
 
 
 
# cat /d/hdmirx/status
 
status: plugin
 
Clk-Ch:Lock Ch0:Lock Ch1:Lock Ch2:Lock
 
Ch0-Err:0 Ch1-Err:0 Ch2-Err:0
 
Color Format: YUV422 Store Format: YUV422 (8 bit)
 
Mode: 3840x2160p60 (4400x2250) hfp:172 hs:92 hbp:296 vfp:8 vs:10 vbp:72
 
Pixel Clk: 594024000
 
 
 
==Camera==
 
 
 
1. MIPI-CSI
 
The camera uses the IMX415 module,After the camera module is connected and powered on, you can view the startup log.
 
 
 
root@linaro-alip:/# dmesg | grep imx415
 
[    2.547754] imx415 3-001a: driver version: 00.01.08
 
[    2.547767] imx415 3-001a:  Get hdr mode failed! no hdr default
 
[    2.547819] imx415 3-001a: Failed to get power-gpios
 
[    2.547826] imx415 3-001a: could not get default pinstate
 
[    2.547831] imx415 3-001a: could not get sleep pinstate
 
[    2.547850] imx415 3-001a: supply dvdd not found, using dummy regulator
 
[    2.547918] imx415 3-001a: supply dovdd not found, using dummy regulator
 
[    2.547945] imx415 3-001a: supply avdd not found, using dummy regulator
 
[    2.613843] imx415 3-001a: Detected imx415 id 0000e0
 
[    2.613890] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_imx415 3-001a:bus type 5
 
[  18.386174] imx415 3-001a: set fmt: cur_mode: 3864x2192, hdr: 0
 
[  18.389067] imx415 3-001a: set exposure(shr0) 2047 = cur_vts(2250) - val(203)
 
 
 
The kernel assigns device information description files to the camera.
 
 
 
grep "" /sys/class/video4linux/v*/name | grep mainpath
 
/sys/class/video4linux/video11/name:rkisp_mainpath
 
Verify the functions of the camera
 
 
 
Grab a picture
 
 
 
# v4l2-ctl -d /dev/video11 --set-fmt-video=width=3840,height=2160,pixelformat=NV12 --stream-mmap=3 --stream-skip=60 --stream-to=/tmp/cif73.out --stream-count=3 --stream-poll
 
 
 
Display on desktop using gst-launch-1.0
 
 
 
# gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,format=NV12,width=3840,height=2160, framerate=30/1 ! xvimagesink
 
 
 
[[File:1200px-Gst-luanch.jpeg]]
 
 
 
2. USB3.0 Camera
 
 
 
After connecting the usb3.0 camera, open the Qt V4L2 test Utility application for testing
 
 
 
[[File:V4L2.png]]
 
 
 
Then open the video node: video21:
 
 
 
[[File:Video21.png]]
 
 
 
Then click the camera button, you will see the camera screen:
 
 
 
[[File:1200px-Capture.png]]
 
 
 
==NPU usage==
 
 
 
DEMO video: https://www.youtube.com/watch?v=y7mYxn3rq0U
 
 
 
Prepare tools
 
 
 
1. Use the Ubuntu18.04 / Ubuntu20.04 operating system (OS).
 
 
 
2. An W3-PRO board
 
 
 
Preparation procedure
 
 
 
First make sure you have docker installed on your Ubuntu system,If not, refer to the Internet installation tutorial
 
 
 
We provide the source code and the docker image of the installed environment:docker image
 
 
 
Create a rknpu folder on the PC server and copy the firmware to the folder
 
 
 
rknpu/rknn-toolkit2-1.4.0/docker$ ls
 
md5sum.txt  rknn-toolkit2-1.4.0-cp36-docker.tar.gz  rknn-toolkit2-1.4.0-cp38-docker.tar.gz
 
 
 
Run the following command to run the docker image. After the Docker image is run, the bash environment of the image is displayed
 
 
 
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb rknn-toolkit2:1.4.0-cp38 /bin/bash
 
 
 
Map examples code into a Docker environment by attaching "-v <host src folder>:<image dst folder>"Parameters, such as:
 
 
 
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /your/rknn-toolkit2-1.x.x/examples:/examples rknn-toolkit2:1.x.x /bin/bash
 
 
 
The code is synchronized after mapping
 
 
 
The rknn service needs to run on the development board
 
 
 
BOARD ARCH corresponds to the aarch64 directory on 64-bit Linux systems and to the armhf directory on 32-bit systems
 
 
 
1. adb push all files in Linux/rknn server/${B0ARD_ ARCH}/usr/bin/ to /usr/bin
 
2. adb push Linux/librknn api/${BOARD ARCH}/ librknrnt. so to /usr/1ib
 
3. Access the serial port terminal of the board and run the following command
 
chmod +x /usr/bin/rknn server
 
chmod +X /usr/bin/start_ rknn.sh
 
chmod +X /usr/bin/restart rknn.sh
 
restart_ rknn. sh
 
 
 
run program
 
 
 
Execute adb devices in the docker image first, remembering the adb ID number
 
 
 
Go to /examples/onnx/yolov5 and change test.py
 
 
 
ret = rknn.init_runtime(target='rk3588', device_id=DEVICE_ID, perf_debug=True,eval_mem=True)
 
outputs = rknn.inference(inputs=[img])
 
ret = rknn.eval_perf(inputs=[img], is_print=True)
 
cv2.imwrite("result.jpg", img_1)
 
 
 
The above four functions are not added
 
 
 
Run python3 test.py
 
 
 
==LED==
 
 
 
On BPI-W3 three-color LED is configured as LED class device. When the blue LED is not active a green LED will show to indicate the board has power. You can control the behavior mode of the blue LED by writing to /sys/class/leds/blue:status/trigger. By default only root users can write to the device. The default mode of the blue LED is heartbeat.
 
 
 
linaro@linaro-alip:/home/linaro# sudo su // linaro password
 
root@linaro-alip:/home/linaro# echo timer > /sys/class/leds/blue:status/trigger
 
root@linaro-alip:/home/linaro# echo activity > /sys/class/leds/blue:status/trigger
 
 
 
You can use cat on the trigger property to list all the available LED modes. The value in brackets is the currently active mode.
 
 
 
root@linaro-alip:/home/linaro# cat /sys/class/leds/blue:status/trigger
 
none rfkill-any rfkill-none kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock tcpm-source-psy-4-0022-online mmc2 mmc1 timer oneshot disk-activity disk-read disk-write ide-disk mtd nand-disk heartbeat backlight gpio cpu cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7 mmc0 [activity] default-on transient flash torch panic netdev rfkill0
 
 
 
In the None mode, writing to /sys/class/leds/blue:status/brightness can manually control the status of the blue LED.
 
 
 
root@linaro-alip:/home/linaro# echo none > /sys/class/leds/blue:status/trigger
 
root@linaro-alip:/home/linaro# echo 1 > /sys/class/leds/blue:status/brightness
 
root@linaro-alip:/home/linaro# echo 0 > /sys/class/leds/blue:status/brightness
 
 
 
red light is the same, class device /sys/class/leds/red:status/trigger
 
 
 
==RTC Device==
 
 
 
BPI-W3 is equipped with one RTC IC hym8563
 
 
 
Firstly, plug in RTC battery to give power to RTC IC. Please note that we should keep the RTC battery in the RTC connector.
 
 
 
Secondly,Check whether the driver is successfully loaded.
 
 
 
root@linaro-alip:~# dmesg | grep rtc
 
[    3.149263] rtc-hym8563 6-0051: rtc information is valid
 
[    3.154624] rtc-hym8563 6-0051: registered as rtc0
 
[    3.155646] rtc-hym8563 6-0051: setting system clock to 2021-01-01T12:00:05 UTC (1609502405)
 
 
 
Finally, check whether you can view and set the time.
 
 
 
root@linaro-alip:~# hwclock -r
 
2022-08-07 13:38:24.370866+00:00
 
root@linaro-alip:~# date
 
2022年 08月 07日 星期日 13:38:41 UTC
 
root@linaro-alip:~# hwclock -w
 
 
 
==Audio==
 
 
 
View sound cards in the system.
 
 
 
root@linaro-alip:/# aplay -l
 
**** List of PLAYBACK Hardware Devices ****
 
card 0: rockchipdp0 [rockchip,dp0], device 0: rockchip,dp0 spdif-hifi-0 [rockchip,dp0 spdif-hifi-0]
 
  Subdevices: 1/1
 
  Subdevice #0: subdevice #0
 
card 1: rockchipes8316 [rockchip-es8316], device 0: fe470000.i2s-ES8316 HiFi es8316.7-0011-0 [fe470000.i2s-ES8316 HiFi es8316.7-0011-0]
 
  Subdevices: 1/1
 
  Subdevice #0: subdevice #0
 
card 3: rockchiphdmi0 [rockchip-hdmi0], device 0: rockchip-hdmi0 i2s-hifi-0 [rockchip-hdmi0 i2s-hifi-0]
 
  Subdevices: 1/1
 
  Subdevice #0: subdevice #0
 
card 4: rockchiphdmi1 [rockchip-hdmi1], device 0: rockchip-hdmi1 i2s-hifi-0 [rockchip-hdmi1 i2s-hifi-0]
 
  Subdevices: 1/1
 
  Subdevice #0: subdevice #0
 
 
 
Specify the sound card to play audio fiile.
 
 
 
aplay -D hw:0,0 /mnt/test.wav
 
 
 
==MIC==
 
 
 
root@linaro-alip:/root# arecord -D hw:1,0 -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav
 
Recording WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
 
root@linaro-alip:/root# aplay t.wav
 
Playing WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
 
 
 
==Storage device==
 
 
 
Supports three types of storage devices
 
 
 
microSD card
 
 
 
/dev/mmcblk1
 
 
 
eMMC
 
 
 
/dev/mmcblk0
 
 
 
NVME M.2 SDD
 
 
 
root@linaro-alip:/home/linaro# mkdir temp
 
root@linaro-alip:/home/linaro# mount /dev/nvme0n1 temp
 
 
 
==FAN==
 
echo 0 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/export
 
echo 10000 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/period
 
echo 5000 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/duty_cycle
 
echo inversed  > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/polarity
 
echo 1 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/enable
 
#echo 0 > /sys/devices/platform/fd8b0010.pwm/pwm/pwmchip*/pwm0/enable
 
 
 
 
 
==Others==
 
===NPU usage===
 
‎<youtube width="1920" height="1080">y7mYxn3rq0U</youtube>
 
====Prepare tools====
 
 
 
1. Use the Ubuntu18.04 / Ubuntu20.04 operating system (OS).
 
 
 
2. An W3-PRO board
 
 
 
====Preparation procedure====
 
First make sure you have docker installed on your Ubuntu system,If not, refer to the Internet installation tutorial
 
 
 
We provide the source code and the docker image of the installed environment:[https://pan.baidu.com/s/1qm7qPQ-6Cau7kVhf-T-hzg?pwd=1234 docker image]
 
 
 
Create a rknpu folder on the PC server and copy the firmware to the folder
 
 
 
rknpu/rknn-toolkit2-1.4.0/docker$ ls
 
md5sum.txt  rknn-toolkit2-1.4.0-cp36-docker.tar.gz  rknn-toolkit2-1.4.0-cp38-docker.tar.gz
 
 
 
Run the following command to run the docker image. After the Docker image is run, the bash environment of the image is displayed
 
 
 
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb rknn-toolkit2:1.4.0-cp38 /bin/bash
 
 
 
Map examples code into a Docker environment by attaching "-v <host src folder>:<image dst folder>"Parameters, such as:
 
 
 
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /your/rknn-toolkit2-1.x.x/examples:/examples rknn-toolkit2:1.x.x /bin/bash
 
 
 
The code is synchronized after mapping
 
 
 
The rknn service needs to run on the development board
 
 
 
BOARD ARCH corresponds to the aarch64 directory on 64-bit Linux systems and to the armhf directory on 32-bit systems
 
 
 
1. adb push all files in Linux/rknn server/${B0ARD_ ARCH}/usr/bin/ to /usr/bin
 
2. adb push Linux/librknn api/${BOARD ARCH}/ librknrnt. so to /usr/1ib
 
3. Access the serial port terminal of the board and run the following command
 
  chmod +x /usr/bin/rknn server
 
  chmod +X /usr/bin/start_ rknn.sh
 
  chmod +X /usr/bin/restart rknn.sh
 
  restart_ rknn. sh
 
 
 
====run program====
 
Execute adb devices in the docker image first, remembering the adb ID number
 
 
 
Go to /examples/onnx/yolov5 and change test.py
 
 
 
ret = rknn.init_runtime(target='rk3588', device_id=DEVICE_ID, perf_debug=True,eval_mem=True)
 
outputs = rknn.inference(inputs=[img])
 
ret = rknn.eval_perf(inputs=[img], is_print=True)
 
cv2.imwrite("result.jpg", img_1)
 
 
 
The above four functions are not added
 
 
 
Run python3 test.py
 

Latest revision as of 21:53, 30 May 2024

Introduction

Banana Pi BPI-M6 with Synaptics VS680
Banana Pi BPI-M6 with Synaptics VS680
Banana Pi BPI-M2 Pro S905x3 design
Banana Pi BPI-M5 Amlogic S905X3 Processor
Banana Pi BPI-M4 Realtek RTD1395
Banana Pi BPI-M64 Allwinner A64
Banana Pi BPI-M2+ Allwinner H3/H5/H2+]3

Banana Pi BPI-M6 banner.jpg

Banana Pi BPI-M6 is the next generation single board computer from Banana Pi in 2022,It is powered by Synaptics VS680 quad-core Cortex-A73 (2.1GHz) and One Cortex-M3 processor,Imagination GE9920 GPU.and NPU Up to 6 .75Tops. Onboard 4GB LPDDR4 memory and 16GB EMMC storage, and supports 4 USB 3.0 interface, a gigabit network port.onboard 1 HDMI-rx port and 1 Hdmi-tx port.

About VideoSmart VS680

VideoSmart™ VS680 solution, an industry-first edge computing SoC that combines a CPU, NPU, and GPU. This new multimodal platform with integrated neural network accelerator is purpose built with perceptive intelligence for applications including smart displays, smart cameras, set-top-boxes and media streamers.The Synaptics VideoSmart VS680 is a multimedia powerhouse that combines a Qdeo 4K-video engine, an audio processor capable of far-field keyword detection and voice recognition, and a proprietary SyNap deep-learning accelerator (DLA). it also integrates a higher-performance Imagination PowerVR Series9 GPU. Another new feature is an ISP with HDR capabilities that can handle two 4K cameras. Previous VideoSmart products target the streaming-video set-top-box (STB) market, but the VS680 aims for a broader range of smart-home devices. It s well suited to the Facebook Portal and other smart displays, which enable video calling. The audio processor can drive a smart speaker or sound bar, but when coupled with the DLA, it handles on-device voice-UI functions in addition to providing the front end to a cloud-based digital assistant. The DLA works with the dual ISP to run neural networks on video streams from front and rear cameras, enabling face ID, object recognition, and security monitoring, among other tasks. The Qdeo engine can drive two displays, allowing the device to power a 1080p touchscreen panel in an STB while simultaneously streaming to a 4K TV.

VS680 chip official Developer Center: https://developer.senarytech.com/index.html

Key Features

  • Synaptics VideoSmart VS680 quad-core Cortex-A73 (2.1GHz) and One Cortex-M3 processor
  • Imagination GE9920 GPU
  • NPU for AI up to 6 .75Tops
  • 4GB LPDDR4
  • 16GB eMMC flash
  • M.2 Key E(PCIe + MIPI CSI)
  • 4 USB 3.0
  • 1 GbE ethernet
  • 1 HDMIin and 1 HDMIout

Getting Start

Hardware

Hardware interface

Banana Pi BPI-M6 interface.jpg

Hardware spec

HardWare Specification of Banana pi BPI-M6
CPU Synaptics VS680 quad-core Cortex-A73 (2.1GHz) and One Cortex-M3 processor
GPU Imagination GE9920 GPU
NPU for AI Up to 6 .75Tops
Memory 4 GB LPDDR4
Storage MicroSD slot with support for up to 256GB expansion and 16G eMMC flash with support for up to 64GB
Network 10/100/1000 Mbit/s Ethernet ,Optional WiFi USB dongle
Video 1 x HDMI 2.1 (up to 4K@60Hz with HDR, CEC, EDID) out, and 1 HDMI in Port
Audio Output(s) 1 x HDMI digital output
Display MIPI DSI interface
M.2 interface M.2 Key E(PCIe + MIPI CSI)
USB ports USB 3.0 PORT (x4)
GPIO 40 Pin Header : GPIO (x28) and Power (+5V, +3.3V and GND). GPIO pins can be used for UART, I2C, SPI or PWM
Switches SPI boot and U-boot
LED Power Status and Activity status
Power Source 5 volt @3A TYPE C
Size & Weight 92x60mm, 48g
OS Android and Linux

GPIO PIN define

40PIN Header(CON3)

BPI-M6 40PIN Header(CON3)
BPI-M6-CON3 PIN PIN BPI-M6-CON3
PWR_3V3_CTL 1 2 PWR_5V
GPIO46/TW0_SDA 3 4 PWR_5V
GPIO47/TW0_SCL 5 6 GND
GPIO53/PWM1 7 8 SM_GPIO15/UART2_TXD
GND 9 10 SM_GPIO14/UART2_RXD
GPIO36/PWM3 11 12 GPIO20/I2S1_BCLK
GPIO37/PWM2 13 14 GND
EXPANDER_TW3_GPIO1_4 15 16 EXPANDER_TW3_GPIO1_0
PWR_3V3_CTL 17 18 EXPANDER_TW3_GPIO1_1
SM_GPIO13/SPI2_SDO/URT2_RTS/SM_STRAP1 19 20 GND
SM_GPIO12/SPI2_SDI/URT2_CTS 21 22 GPIO4/SPDIF
SM_GPIO11/SPI2_SCK 23 24 SM_GPIO17/SPI2_SS0/SM_STRAP2
GND 25 26 SM_GPIO16/SPI2_SS1/SM_STRAP3
GPIO15/I2S1_DO3 27 28 GPIO16/I2S1_DO2
EXPANDER_TW3_GPIO1_7 29 30 GND
EXPANDER_TW3_GPIO1_6 31 32 EXPANDER_TW3_GPIO1_3
EXPANDER_TW3_GPIO1_5 33 34 GND
GPIO21/I2S1_LRCK 35 36 EXPANDER_TW3_GPIO1_2
GPIO18/I2S1_MCLK 37 38 GPIO17/I2S1_DO1
GND 39 40 GPIO19/I2S1_DO0

M.2 E-KEY(CN10)

BPI-M6 M.2 E-KEY(CN10)
PIN PIN
GND 1 2 VCC-NGFF
NGFF_KEYE_DP 3 4 VCC-NGFF
NGFF_KEYE_DM 5 6 WiFi-LED
GND 7 8 SM_GPIO10/TW3_SDA
MIPI_CSI0_RD0p 9 10 SM_GPIO9/TW3_SCL
MIPI_CSI0_RD0n 11 12 NI
MIPI_CSI0_RD1p 13 14 BT-LED
MIPI_CSI0_RD1n 5 16 BT-LED
MIPI_CSI0_RD2p 17 18 GND
MIPI_CSI0_RD2n 19 20 SM_GPIO6/UART_WAKE#Puboot
MIPI_CSI0_RD3p 21 22 GPIO43/UART3_RXD
MIPI_CSI0_RD3n 23 24 NOTCH
NOTCH 25 26 NOTCH
NOTCH 27 28 NOTCH
NOTCH 29 30 NOTCH
NOTCH 31 32 GPIO42/UART3_TXD
GND 33 34 GPIO41/UART3_CTSn
PCIe_TX0p 35 36 GPIO40/UART3_RTSn
PCIe_TX0n 37 38 NI
GND 39 40 MIPI_CSI0_RCKp
PCIe_RX0p 41 42 MIPI_CSI0_RCKn
PCIe_RX0n 43 44 NI
GND 45 46 NI
PCIe_CLKp 47 48 NI
PCIe_CLKn 49 50 CLK32_OUT
GND 51 52 PCIE_PERSTn
PCIE_CLKREQ 53 54 GPIO10/DISABLE_BT
PCIE_PEWAKE 55 56 GPIO09/DISABLE_WiFi
GND 57 58 GPIO46/TW0_SDA(VDDIO_1.8V)
PCIe_TX1p 59 60 GPIO47/TW0_SCL(VDDIO_1.8V)
PCIe_TX1n 61 62 NI
GND 63 64 MIPI_CSI1_RD0p
PCIe_RX1p 65 66 MIPI_CSI1_RD0n
PCIe_RX1n 67 68 MIPI_CSI1_RD1p
GND 69 70 MIPI_CSI1_RD1n
MIPI_CSI1_RCKp 71 72 VCC-NGFF
MIPI_CSI1_RCKn 73 74 VCC-NGFF
GND 75

MIPI DSI(CN12)

BPI-M6 MIPI DSI(CN12)
CN12-P1 MIPI_DSI_TX1_D0n
CN12-P2 MIPI_DSI_TX1_D0p
CN12-P3 MIPI_DSI_TX1_D1n
CN12-P4 MIPI_DSI_TX1_D1p
CN12-P5 MIPI_DSI_TX1_CLKn
CN12-P6 MIPI_DSI_TX1_CLKp
CN12-P7 MIPI_DSI_TX1_D2n
CN12-P8 MIPI_DSI_TX1_D2p
CN12-P9 MIPI_DSI_TX1_D3n
CN12-P10 MIPI_DSI_TX1_D3p
CN12-P11 GND
CN12-P12 LCD_ADC
CN12-P13 GPIO2/LCD1_PWR_EN(VDDIO_1.8V)
CN12-P14 GPIO3/LCD1_RST(VDDIO_1.8V)
CN12-P15 GPIO39/LCD1_BL_PWM(VDDIO_1.8V)
CN12-P16 GND
CN12-P17 GPIO0/TP_INT(VDDIO_1.8V)
CN12-P18 GPIO1/TP_RST(VDDIO_1.8V)
CN12-P19 GPIO47/TW0_SCL(VDDIO_1.8V)
CN12-P20 GPIO46/TW0_SDA(VDDIO_1.8V)
CN12-P21 GND
CN12-P22 GND
CN12-P23 PWR_5V
CN12-P24 PWR_5V

Debug UART(CON2)

BPI-M6 Debug UART(CON2)
CON2-P1 GND
CON2-P2 UART0-RX
CON2-P3 UART0-TX

Software

Source code on github

Armbian Source code:

Linux Source code:

Documents

  • BPI-M6 VS680 SOC System Tool Manual V1.3.2.1
Baidu Cloud: https://pan.baidu.com/s/1tX7UVSJQOcNhMlazQRQkpw?pwd=8888 (pincode:8888)
Google Drive: https://drive.google.com/file/d/1gQalGLqNN24TeTBmJGzS0e3HeXxRD1fP/view?usp=sharing
  • BPI-M6 schematic diagram
Baidu Cloud: https://pan.baidu.com/s/18VTAdGtQFb2nu1bku8mHBw?pwd=8888 (pincode:8888)
Google Drive: https://drive.google.com/file/d/1z-o5dZWcYrmTqNH3Wz9ttWUzptveCS6s/view?usp=sharing
  • BPI-M6 DXF File:
Baidu Cloud: https://pan.baidu.com/s/1Ngc11CcnufAdDcdwMd2mmQ?pwd=8888 (pincode:8888)
Google Drive: https://drive.google.com/file/d/1HJmpC5L3YqrJt4IsN0SMD5HoowqfGCyU/view?usp=sharing

Image Release

Android

  • 2023-08-30 release aosp_dolphin_tablet-syna-image-lpddr4x
Baidu Cloud: https://pan.baidu.com/s/1unEibD-NI8-Ti5le2E6d7g?pwd=8888 (pincode:8888)
Google Drive:https://drive.google.com/file/d/1egPBOusdlNGJDdp5muAjiv2MvMya0F-H/view?usp=sharing

Linux

Armbian

  • 2024.05.22-Armbian-bpi-senarytech_24.2.0-trunk_Bananapim6
Default account/password: pi/bananapi.
Automatically set up at first boot, avoiding the trouble of using serial line configuration before fbconsole supports it.
Google drive: https://drive.google.com/file/d/14RinIcN2t8aalVt6tww4t-goOQTJf1M0/view?usp=drivesdk
Baidu cloud: https://pan.baidu.com/s/1WrHOiA_2XPjv2Uvhv2G9oQ?pwd=8888
  • 2024.05.0-Armbian-bpi_24.2.0-trunk_Bananapim6 : Resolve sound playback issues
Google drive: https://drive.google.com/drive/folders/1iUooyTawTBGKnVOzZl9lSve5WLLtEarl?usp=sharing
Baidu cloud: https://pan.baidu.com/s/1UfH-2M5rImuz3ZaF2gzuDg?pwd=8888 (PIN code:8888)
  • Banana Pi BPI-M6 Synaptics VS680 SBC new image : fixed voice issue when play video
Image name : 2024-04-16-Armbian-unofficial_24.2.0-trunk_Bananapim6_bookworm_legacy_5.4.195_cinnamon_desktop.img.xz
Google link : https://drive.google.com/file/d/1E2jS7RtWMP0ihqXgv1oo9rUxAWCC69n_/view?usp=drivesdk
Baidu link : https://pan.baidu.com/s/1E_zNbfCIZtoft0nC8JJ99w?pwd=8888
  • 2024-04-07-Armbian-unofficial_24.2.0-trunk_Bananapim6
Baidu cloud: https://pan.baidu.com/s/1cEHX-n3EYtMWn1fkQd3ECA?pwd=8888 (pincode:8888)
Google drive: https://drive.google.com/drive/folders/1Rr874RdjsEZcdgKmVN83G08vBgGMX6f-?usp=sharing
  • 2024-03-20 armbian-unoffcial_24.2.0 image for BPI-M6,support NPU yolov6 AI recognition
Baidu cloud: https://pan.baidu.com/s/1t9aDdKxTeUnawz_vBIni0g?pwd=8888 (pincode:8888)
Google drive: https://drive.google.com/drive/folders/1CZbac_R6VgfLBoJbIzbyCzwYCmQ_j8oQ?usp=sharing
  • 2024-02-29 armbian-unoffcial_24.2.0 image for BPI-M6
Baidu cloud:https://pan.baidu.com/s/1pZFEna3CwR-v8lS-7Z88vA?pwd=8888 (PIN code:8888)
Google drive: https://drive.google.com/drive/folders/1uh01OPtJ05Q_TAb-5HEcSMSiLTuSivKc?usp=sharing

Ubuntu

  • 2024-01-25-ubuntu-20.04-mate-desktop-vpu-npu-bpi-m6-aarch64-sd.img
Baidu Cloud: https://pan.baidu.com/s/1IUDdKI0lT53-jFqUgqrdGA?pwd=8888 (pincode:8888)
Google Drive: https://drive.google.com/file/d/1mw0Fiwa0fmXyTs6c6DI9Z4bcQZEy83p2/view?usp=sharing

Easy to buy sample