Edge Developer Board
Introduction
Product Overview
The Bitmain SophonTM Edge Developer Board(EDB) is designed for bringing powerful Deep Learning capability to various type of applications through its quick prototype development. Sophon Edge Developer Board is powered by BM1880, which equips tailored TPU supporting DNN/CNN/RNN/LSTM operations and models. The edge developer board is compatible with Linaro 96boards while supporting modules for Arduino and Raspberry Pi. Developers can leverage off-the-shelf modules and develop cutting edge DL/ML applications, like facial detection and recognition, facial expression analysis, object detection and recognition, vehicle license plate recognition, voiceprint recognition, etc.

Product Features
Supports DNN/CNN/RNN/LSTM models profiling, compiling and tuning
Real-time inference in edge device
Quickly deploy existing DNN/CNN/RNN/LSTM models or uniquely trained networks
Features Bitmain SophonTM BM1880 with energy efficient DNN/CNN/RNN/LSTM processing
Compatible to 96Boards Consumer Edition Spec.
Support Caffe, ONNX, Pytorch, Tensorflow framework
Support ResNet50, Yolo V2, GoogleNet V1, MobileNet v1/v2, SSD300, Alexnet, VGG16… etc
Developer Board Specification
Processor
Sophon BM1880
System Memory
LPDDR4 1GB
Flash Memory
8GB eMMC + micro SD card slot
Connectivity
Gigabit Ethernet(RJ-45), Wi-Fi, Bluetooth
USB
USB 3.0 x 3 (support camera, U-disk..etc)
I/O Expansion
40-pin 96Boards low-speed expansion header
Audio
I2S x 2 (included in 40-pin header)
H.264 decoder, MJPEG encoder/decoder
1x 1080p @60fps or 2x 1080p @30fps H.264 decoder, 75fps for FHD images
Toolkit
BMNet: Bitmain Compiler which can convert supported AI models to internal format accelerated by Sophon TPU.
ONNX: Compiler which can convert ONNX format to internal format accelerated by Sophon TPU.
Quantization Tool: Convert FP32 to INT8 and support calibration function
Get Started
Edge Developer Board(EDB) is designed to work in two mode, we called it USB mode and SoC mode.
Setup the Edge Developer Board(EDB) by following the steps provided below.
USB Mode
Step 1: Prepare Your Equipment
In USB mode, Edge Developer Board(EDB) as a USB device role, BMNNSDK is installed on the X86 host, and calling EDB’s computing for deep learning, the environment requirement are as follows.

Hardware environment: X86_64 host with usb port
Bitmain SophonTM Edge Developer Board(EDB)
Operating system: Ubuntu* 16.04 operating system, or Ubuntu VMware instance
Package: libgoogle-glog-dev、libboost-all-dev、libprotobuf-dev, libusb-1.0-0-dev
Bitmain Sophon Neural Network Software Development Kit (SDK), such as bmtap2-bm1880-usb-x.y.z.tar.gz , you can download the compression package from https://www.sophon.cn/drive/36.html
Set the DIP switch to bit[1:8]=11000001 to config the usb port work in device mode.

Step 2:Install the BMNNSDK
You can execute below commands to install package
There are two ways to install BMNSDK, you can have a choice you like
Compression package installation
Compression package include installation script, please copy the compression package to x86, unzip and execute the script install.sh.
The script will install the BMNNSDK to default directory: /opt/bmtap2, and Symbolic Link will be created in the system content:
To uninstall the BMNNSDK ,simply execute the uninstall script in the installation directory.
Step 3: Basic function testing
The Basic function testing use the network model and data include in the installation package for Neural Network inference, the test results will be output to the out subdirectory of the current directory, please make sure that the user has the write rights to the current directory.
The test results are as follow:
SoC Mode
Step 1: Prepare Your Equipment
In SoC mode, EDB works as a host role, BMNNSDK is installed on the BM1880 Edge Developer Board(EDB), use the computing resources on the BM1880 SoC board to accelerate the deep learning calculation.

Step 2:Install the BMNNSDK
The environment requirements are as follows.
Hardware environment:
BM1880 Edge Developer Board(EDB)
5V@2A or 12V@2A power adapter
Operating system:BM1880 Linux Release(You can download from:https://www.sophon.cn/drive/36.html or use the git clone command below)
Set the DIP switch to bit[1:8]=10100010 to config the usb OTG port work in host mode.(SD boot mode)
and now, BMNNSDK soc mode had included in bm1880-system-sdk, while you setup the linux environment finished, the BMNNSDK soc mode installed also.
Step 3: Basic function testing
The Basic function testing use the network model and data include in the installation package for Neural Network inference, the test results will be output to the out subdirectory of the current directory, please make sure that the user has the write rights to the current directory.
copy bmtap2-bm1880-soc_basic_test folder to rootfs of bm1880 edge development board, and then
The test results are as follow:
Setup EDB's Linux SDK
Following steps will show you how to get, build the bm1880 system SDK, and also give you the instructions to download the image to board.
To download the latest version of the bm1880 system sdk , please visit the website below:
2. And follow the README.md file to build the bm1880 system sdk, you can get the eMMC boot Images and SD card boot images while the source code built successfully. And then you can start to download the images you built to the bm1880 Edge Development Board(EDB).
BM1880 Edge Development Board(EDB) can support two boot modes and you can select it by setting the switch on board
Boot Modes
EDB supports SD boot, eMMC boot, Boot modes can be selected by setting the switch SW1
BOOT_SEL[1:8] = 10100010: EDB boot the system SDK from SD card.
BOOT_SEL[1:8] = 10000010: EDB boot the system SDK from eMMC.
SD Boot
(1) Get the Images for SD boot
You can see the following files in your bm1880-system-sdk folder while you build the source code succesfully. For SD boot mode, you will use fip.bin, rootfs and sdboot.itb.
(2)Make images for SD boot
You need prepare one TF-card, maybe you need a TF-card reader to insert the TF-card to you ubuntu16.04 PC.
Before insert TF-card to your ubuntu16.04 x86_64 pc, you can have a check:
After insert it in your pc, check it again
You can find the device node of your TF-card, name is /dev/sdc, now we can start to format the TF-card to two partitions we need.
Run commands to check whether the partitions are correct, it is correct when you see the directories named IMAGES and rootfs.
Copy files two these partitions
Unplug the TF-card from you pc and insert it to bm1880 edge development board.
Select boot mode as SD boot by setting the DIP switch to 10100010, the state ON means 1.
Connect the UART cable to pc to watch the boot log and visit linux shell on bm1880 edge development board

Install minicom as the terminal to watch log and run shell commands on EDB.
Power on the board you will see the boot log
Access linux shell on EDB
eMMC Boot
(1) Get the Images for eMMC boot
You can see the following files in your bm1880-system-sdk folder while you build the source code succesfully. For eMMC boot mode, you will use these files in the directiory of bm1880_emmc_dl_v1p1 .
(2) Install the dependency for eMMC download tool
(3) Download image to eMMC
Now you can start the eMMC programming
1.Set the DIP switch to 10000001.
2. Connect uart port on EDB to you ubuntu PC (ubuntu16.04)with micro USB cable.
3. Run the eMMC download command, and the command wait...
4. Connect the USB male to male cable between ubuntu16.04 pc and the OTG usb port on your EDB. You can see the log for eMMC downloading:
5. Re-power on the EDB, you will see the boot log from terminal(how to use terminal to watch log pealse see the section SD Boot)
Last updated