Maker Board Spotlight: Toybrick RK3399Pro Development Kit
For some years, Rockchip has been producing System on Chips (SoCs) that have found their way into a wide variety of Single Board Computers (SBCs). Some of them are aimed at Maker culture, and there's even an argument to be made that the RockPro64 based around the RK3399 SoC is a viable alternative to the Raspberry Pi.
There is an even more powerful Rockchip in the form of the RK3399Pro, an AI-capable chip that is perfect for developing edge devices. The Toybrick RK3399Pro AI Developer Kit showcases everything that makes it special - a powerful 6 core SoC with a dedicated Neural Network Processor (NPU) for machine learning.
With multiple options for camera and display inputs, it's clear this board is aimed at embedded edge computing, and it already has some impressive numbers behind it - in benchmarks, the Toybrick RK3399Pro AI Developer Kit outstrips the Nvidia Jetson Nano
What is the Toybrick RK3399Pro AI Development Kit?
The Toybrick RK3399Pro Development Kit is essentially a fully realized evaluation board for the RK3399Pro, created solely to help in the development of embedded Artificially Intelligent devices.
From a hardware perspective, it uses an ARM big.LITTLE setup, this means it has two discrete processors sharing the same memory space. One is a dual-core Cortex-A72 processor for low-powered and less intensive tasks. The other is a quad-core Cortex A53. The SoC also includes a Mali-t860 embedded GPU and an on-chip NPU capable of up to 3 TOPs of compute power.
The board also boasts an impressive amount of Input/Output (I/O) options, but they come from a much clearer AI device standpoint than your average Maker board. There's the familiar 40 pin GPIO header, but there is also dual-channel MIPI-DSI for display with 4 lanes per channel and dual MIPI-CS-2 for camera input. There's also a mini PCIe slot for expansion, an embedded display port (eDP), Ethernet and Wifi, and USB 3, 2 and Type-C.
Interestingly, the board arrives with dual Linux and Android operating systems pre-installed onto the 16 or 32 GB eMMC memory. The storage difference is also reflected in two versions, on with 3 GB RAM costing $250, and another with 6 GB RAM for $299.
Toybrick RK3399Pro Specs
The Toybrick is well set up for almost any kind of Artificial Intelligence development:
- SOC RK3399Pro
- CPU: Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU Frequency is up to 1.8GHz
- GPU: Mali-T860MP4 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11, Supports AFBC (ARM Frame Buffer Compression)
- NPU: Support 8-bit/16-bit Inference up to 3.0TOPS , Support TensorFlow, TensorFlow lite, Pytorch, Caffe Mxnet, Darknet, Onnx Model
- VPU: 4K VP9 and 4K 10bits H265/H264 video decoders, up to 60fps, 1080P other video decoders (VC-1, MPEG-1/2/4, VP8), 1080P video encoders for H.264 and VP8. Video post processor: de-interlace, de-noise, enhancement for edge/detail/color
- RGA: Support real-time image scaling, cropping, format conversion, rotation and other functions
- Memory: 3GB/6GB LPDDR3
- Storage: TF-card, 16GB/32GB eMMC
- Display: HDMI2.0(Type-A) for 4K/60fps with HDCP1.4/2.2, DisplayPort 1.2(Type-A), up to 4K@60fps, MIPI interface, support 1920*1080@60fps, eDP1.3, support 2K@60fps
- Audio: Support microphone，headphone，speaker, 8 channels I2S supports 8 channels array microphone
- Wireless Network: Support 2.4G WiFi，support 802.11b/g/n potocol, Support Bluetooth4.2
- Ethernet: 10/100/1000Mbps Ethernet ( Realtek RTL8211E )
- Camera Interface: Support dual channel MIPI-CSI camera interface,（Maximum 13Mpixel or dual 8Mpixel
- USB Interface: 2*USB2.0 Host(Type-A), 1*USB3.0 Host(Type-A), 1*USB3.0 OTG(Type-C)
- PCI-E Interface: 1*mini PCIe interface for LTE module, 1*PCIe x4 interface support the expansion of high-speed WIFI, storage and other devices based on PICe
- SIM: 1*SIM connector for extending LTE module with mini PCIe interface
- Debug: 1* debug serial port（Micro USB interface
- IO Interface: 40pin IO interface:
- 8 channels I2S supports 8 channels array microphone
- 1*SPI interface
- 2*ADC interface
- 2*I2C interface
- 4*GPIO interface，support interrupt programming
- Power: DC 12V/2A
- System: Pre-installed Android and Linux system, support dual system boot and one-button OS switching
- PCB Size: 145mm×106mm
What can You do With the Toybrick RK3399Pro?
While a powerful board for almost any kind of embedded development, the Toybrick is aimed at AI development, and as such is the perfect board for running TensorFlow on. This can be a bit of a difficult process to initiate, however, but luckily Chengwei Zhang has created a step-by-step guide to running Keras models on the ToyBrick.
Artificial Intelligence DIYing on the TB-RK3399Pro Development Board - A Beefy NPU
The above video is a demonstration of the RK3399Pro performing object detection on an early iteration of a development board featuring the hardware. It's hard to know exactly how the performance is from this video alone, but it's a seemingly fast process of detection, and on paper, it's clearly a capable AI-based SBC.
The Competition - Awesome AI SBCs
There's no shortage of artificial intelligence capable single-board computers (SBCs). In tests, the RK3399Pro was shown to outperform the Nvidia Jetson Nano. That's certainly impressive performance considering that the Jetson Nano with its 128-core NVIDIA Maxwell GPU and quad-core ARM A57 CPU alongside 472 GFLOPS of AI performance makes it a great board. Still, the Jetson Nano is available in two different models, a 4GB RAM variant at around $100 USD and a 2GB version at about $59 USD. In our review, we liked the cost-effectiveness of the NVIDIA Jetson Nano, its well-documented platform, and accessories such as the AI JetBot for building a DIY autonomous vehicle.
Additionally, there's the more recent release of the Jeston Xavier, which boasts 48 Tensor cores, dual NVIDIA Deep Learning Accelerator NVDLA engines, and a 6-core NVIDIA Carmel 65-bit ARM V8 CPU.
On a budget, the Raspberry Pi 4 can tackle AI such as machine learning. Accessories such as the Coral Edge TPU USB accelerator, AIY Vision and Voice kits, or the Intel Neural Compute Stick 2 can transform the Pi into a competent AI-capable maker board.
Rock Pi's N10 Model A features an Rk3399Pro at its core with up to 8GB of DDR3 RAM.
Either way, the Toybrick Rk3399Pro is a powerful board for developing AI-assisted devices with, and there is one element to it that you don't get out-of-the-box with Nvidia boards: Android.
OS Support - What OSes can the Toybrick RK3399Pro Run?
As the example video further up the page shows, Android works straight out of the box with the Toybrick. While it isn't clear what development tools are available for the Android side, it's rare to see support straight out of the box, and example code is available from the official GitHub page.
Far more familiar to many users will be the Linux option, which uses Fedora release 28 64-bit. While the OS might be more familiar, there still isn't much in the way of documentation, but example code is available from the same GitHub account and there are a number of API and image links on the ToyBrick section of the Rockchip website.
Should You Buy the Toybrick Rk3399Pro - Who is the TB-RK3399Pro for?
The Toybrick is undoubtedly a super-powerful SBC capable of almost any embedded edge computing task you throw at it. Unfortunately, when compared to what Nvidia offers, it's in a strange spot. Both options of the board cost too much for most hobby devs, and while it is more powerful than the Jeston Nano, the Xavier line isn't much more expensive and is far better documented. As with all tech, if you know what you need and the Toybrick can deliver it then it's perfect for you, but for most users, an Nvidia board, or even a Raspberry Pi with a USB accelerator will be a better option for getting into embedded AI development.
Your turn: Which SBCs are you using for AI?
Leave your feedback...