1. Learn K210 Module
1.1 Module Introduction
1.1.1 Introduction
The WonderMV Visual Module is a powerful and cost-effective AI vision module developed based on the K210 chip, hence also referred to as the “K210 Vision Module” in the following text.
It supports 12 AI vision functions, including color recognition, landmark recognition, visual line following, face recognition, mask recognition, tag recognition, QR code recognition, feature detection, number recognition and barcode recognition.
The WonderMV Visual Module features a metal shell, eliminating the use of cheap acrylic materials. The module is equipped with serial port and IIC communication interfaces, allowing it to be integrated with various control platforms such as STM32, Raspberry Pi, Arduino, 51 single-chip microcontrollers, ESP32, and more. Through the serial port or IIC interface, it outputs visual recognition data to be sent to an external controller. The module supports one-key learning and training, eliminating the need for understanding complex visual algorithms, significantly reducing project development time, and easily realizing various interesting AI projects.
1.1.2 Front and Back Images
The front features a 2.0-inch capacitive touchscreen, communicating through I2C, with a resolution of 320*240.
The back is secured with four copper pillars and screws to fix the metal shell in place.
1.1.3 Hardware
| Number | Module | Function |
|---|---|---|
| 1 | User Button | Used as a customizable function button by the user. |
| 2 | Fill Light | I/O port controlled fill light, customizable by the user. |
| 3 | IIC Interface (SCL、SDA、GND、5V) |
Allows communication with other devices using IIC protocol. |
| 4 | UART Serial Port<br(TX、RX、GND、5V) | Allows communication with other devices using UART protocol. |
| 5 | User LED | I/O port controlled blue LED light, customizable by the user. |
| 6 | Power Indicator Light | Indicates whether the onboard power voltage is normal. |
| 7 | Power Management Chip | Provides stable voltage for the K210 core board. |
| 8 | Camera | 2 million pixels parallel camera |
| 9 | K210 Chip | Main control chip |
| 10 | 128Mbit Flash Storage Chip | Stores programs and data. |
| 11 | Heat Sink | Ensures the working temperature of the K210 chip and camera. |
| 12 | TF Card Slot | Used for external TF card to store data (Recommended to use 32GB, but should not exceed 64GB). |
| 13 | Type-C Interface | Power interface (supports 5V/300mA voltage and current), can be used for program download and debugging. |
1.1.4 K210 Vision Module Coordinate System
The resolution of the touchscreen on the K210 Vision Module is 320*240, and its pixel coordinates have the origin located at the top-left corner of the vision module, as shown in the diagram below:
1.1.5 Parameter Explanation
More parameter details about the K210 Vision Module can be found in the path WonderMV Vision Module->3. Chip Data & Technical Parameters & AI Model Files->2. Technical Parameters.
1.2 Packing List
(1) WonderMV Vision Module Kit Packing List
| No. | Component | Quantity | Picture |
|---|---|---|---|
| 1 | WonderMV vision module | 1 | ![]() |
| 2 | Type-C data cable (100cm) | 1 | ![]() |
| 3 | 4PIN wire (30cm) | 2 | ![]() |
| 4 | 32GB SD card | 1 | ![]() |
| 5 | Card reader | 1 | ![]() |
| 6 | Waste cards (4*4cm per piece) |
12 | ![]() |
| 7 | Traffic sign cards (6.5*6.5cm per piece) |
5 | ![]() |
| 8 | Number cards (6.5*6.5cm per piece) |
5 | ![]() |
| 9 | Tags (6.5*6.5cm per piece) |
3 | ![]() |
(2) WonderMV Vision Module + Hinge Bracket Packing List
| No. | Component | Quantity | Picture |
|---|---|---|---|
| 1 | WonderMV vision module | 1 | ![]() |
| 2 | Type-C data cable (100cm) | 1 | ![]() |
| 3 | 4PIN wire (30cm) | 2 | ![]() |
| 4 | 32GB SD card | 1 | ![]() |
| 5 | Card reader | 1 | ![]() |
| 6 | Waste cards (4*4cm per piece) |
12 | ![]() |
| 7 | Traffic sign cards (6.5*6.5cm per piece) |
5 | ![]() |
| 8 | Number cards (6.5*6.5cm per piece) |
5 | ![]() |
| 9 | Tags (6.5*6.5cm per piece) |
3 | ![]() |
| 10 | Hinge bracket (optional) | 1 | ![]() |
| 11 | Screw (optional) | 1 | ![]() |
1.3 Main Chip Introduction
1.3.1 What is the K210 chip?
(1) K210 is a microcontroller unit (MCU) based on the RISC-V Reduced Instruction Set Computing (RISC) architecture. Among its many features, a standout is the internally developed neural network hardware accelerator called KPU, which enables high-performance convolutional neural network operations. In terms of AI computing for MCUs, the computational power of the K210 chip is quite impressive. According to the Canaan official website, the KPUcomputational power can reach 1 TFLOPS (tera floating-point operations per second). To put this into perspective, the latest Raspberry Pi 4B has a computational power of less than 0.1 TFLOPS, and the Jetson Nano, which emphasizes neural network processing, has 128 CUDA cores with a computational power of only 0.47 TFLOPS.
(2) In addition to the impressive computational power of the KPU, the K210 chip supports FPIOA (Field Programmable IO Array), allowing each peripheral to be flexibly mapped to any pin. This simplifies the issues of pin allocation and GPIO wiring for developers.
(3) The K210 chip internally features a dual-core CPU with a 64-bit RISC-V instruction set. Each core is equipped with an independent Floating-Point Unit (FPU), enabling individual floating-point operations.
(4) To better serve in machine vision and audition, the K210 chip comes with a built-in Convolutional Artificial Neural Network accelerator (KPU) for computational convolution, and an Audio Processing Unit (APU) for handling microphone arrays. These capabilities enable high-performance machine vision and auditory processing.
(5) Furthermore, K210 also incorporates a Fast Fourier Transform (FFT) accelerator for efficient complex FFT calculations.
(6) Despite its powerful performance, the K210 chip places a significant emphasis on security. It includes built-in AES and SHA256 algorithm accelerators, providing effective protection for user data security.
(7) Examining the attributes about MCU, the K210 chip boasts a rich set of peripheral units, including DVP, JTAG, OTP, FPIOA, GPIO, UART, SPI, RTC, I2S, I2C, WDT, TIMER, PWM. These peripherals play a significant role in practical applications, effectively meeting the requirements of most MCU peripherals.
(8) K210 also features high-performance, low-power SRAM with a total capacity of 8M, where 2M is dedicated to AI computations and 6M is allocated for programs. It includes a dedicated external FLASH interface to expand its storage capacity. The data transfer can leverage the powerful DMA, providing exceptional performance in terms of data throughput.
(9) The following is the architecture diagram of the K210 chip, provided for reference only. For detailed information, please refer to the K210 chip technical manual document in the path Appendix->Chip Data & Technical Parameters & AI Model Files->1. Chip Data->K210 Chip Data.
1.3.2 What is the RISC-V?
K210 is a MCU based on the RISC-V (Reduced Instruction Set Computing V) architecture. The “V” in RISC-V represents the fifth generation of reduced instruction set architectures, developed and improved by the University of California, Berkeley, following the enhancements of the previous four generations. The project began at the University of California, Berkeley, in 2010, and after a decade of continuous refinement with contributions from many contributors, the RISC-V instruction set has gradually gained prominence worldwide. It is anticipated that in the near future, there will be more and better RISC-V chips emerging. RISC-V is characterized by the following features:
(1) Fully Open Source: Any company can freely and openly use the RISC-V instruction set to manufacture and market their own chips without the need for hefty licensing fees. Moreover, they have the flexibility to extend the instruction set based on their specific requirements. The extensions made by a company do not need to be open, allowing for differentiated development.
(2) Simplicity in Architecture: Compared to mainstream X86 and ARM architectures, RISC-V is a brand new instruction set that does not need to maintain compatibility with older products. Consequently, it appears particularly concise, with the entire foundational RISC-V instruction set comprising just over 40 instructions. When including other modular extension instructions, the total remains only a few dozen.
(3) Easy to Port: Modern operating systems separate privileged instructions, which can only be executed by the operating system, from user-level instructions that can be invoked in user mode, ensuring the stability of the operating system. RISC-V provides both privileged and user-level instructions, along with detailed specifications for RISC-V privileged and user-level instructions. This facilitates developers in porting Linux and Unix systems to the RISC-V platform.
(4) Modular Design: The RISC-V architecture can be composed of different modules with distinct functionalities, allowing flexible utilization of module combinations. This modular approach enables the customization of an MCU according to specific requirements. For instance, in embedded scenarios with limited space and low power consumption, one can opt for the RV32IC instruction set combination, utilizing only machine mode to significantly reduce power consumption and physical size. On the other hand, for high-performance application and operating system scenarios, the RV32IMFDC instruction set can be chosen, employing both machine and user modes to achieve superior performance.
(5) Comprehensive Toolchain: For a CPU, a toolchain is akin to a screwdriver for a screw. Without the tool, the screw cannot be fastened, rendering the performance of the CPU ineffective. The toolchain serves as the window for software development to interact with the CPU. Without a toolchain, software developers would be unable to make the CPU function. Fortunately, due to the dedicated contributions of many contributors over the years, the RISC-V community has provided a complete toolchain. Moreover, the RISC-V Foundation maintains and supports this toolchain.
1.4 Pin Description
1.4.1 Hardware I/O Port
Note
Hardware I/O ports refer to the physical hardware pin numbers on the chip.
| Hardware IO | Function |
|---|---|
| IO_RST | Reset K210, connect hardware circuit. |
| IO_1 | Not used |
| IO_2 | Not used |
| IO_3 | Not used |
| IO_4 | ISP_TX, connected to Type-C transmit pin. |
| IO_5 | ISP_RX, connected to Type-C receive pin. |
| IO_6 | LCD_CS |
| IO_7 | LCD_WR |
| IO_8 | LCD_DC |
| IO_9 | DVP_SIO_D, Camera IIC's SDA. |
| IO_10 | DVP_SIO_C,Camera IIC's SCL. |
| IO_11 | DVP_RESET |
| IO_12 | DVP_VSYNC |
| IO_13 | DVP_PWDN |
| IO_14 | DVP_XCLK |
| IO_15 | DVP_PCLK |
| IO_16 | BOOT, connected to hardware circuit. |
| IO_17 | DVP_HREF |
| IO_18 | External IIC interface SCL |
| IO_19 | External IIC interface SDA |
| IO_20 | LCD_TE |
| IO_21 | LCD_RST |
| IO_22 | LCD_RD |
| IO_23 | LCD_BL |
| IO_24 | User LED |
| IO_25 | LED fill light |
| IO_26 | Button SW1 |
| IO_27 | External UART interface RXD |
| IO_28 | External UART interface TXD |
| IO_29 | TF_SCLK |
| IO_30 | TF_MOSI |
| IO_31 | TF_MISO |
| IO_32 | TF_CS |
| IO_33 | Not used |
| IO_34 | Not used |
| IO_35 | Not used |
| IO_36 | Not used |
| IO_37 | Not used |
| IO_38 | Not used |
| IO_39 | Not used |
| IO_40 | Not used |
| IO_41 | Touchscreen INT |
| IO_42 | Not used |
| IO_43 | Not used |
| IO_44 | Not used |
| IO_45 | Not used |
| IO_46 | Touchscreen RST |
| IO_47 | Button SW2 |
| Fixed IO | Function |
|---|---|
| SPI0_D0 | Connect LCD_D0 pin |
| SPI0_D1 | Connect LCD_D1 pin |
| SPI0_D2 | Connect LCD_D2 pin |
| SPI0_D3 | Connect LCD_D2 pin |
| SPI0_D4 | ConnectLCD_D4 pin |
| SPI0_D5 | Connect LCD_D5 pin |
| SPI0_D6 | Connect LCD_D6 pin |
| SPI0_D7 | Connect LCD_D7 pin |
| DVP_D0 | Connect camera D0 |
| DVP_D1 | Connect camera D1 |
| DVP_D2 | Connect camera D2 |
| DVP_D3 | Connect camera D3 |
| DVP_D4 | Connect camera D4 |
| DVP_D5 | Connect camera D5 |
| DVP_D6 | Connect camera D6 |
| DVP_D7 | Connect camera D7 |
1.4.2 Function Mapping
| Function Number | Function | Bind to Hardware I/O |
|---|---|---|
| GPIO0 | Button SW1 | IO_26 |
| GPIO1 | Button SW2 | IO_47 |
| GPIO2 | Fill light | IO_25 |
| GPIO3 | User LED | IO_24 |
| GPIOHS30 | LCD_RST | IO_21 |
| GPIOHS31 | LCD_DC | IO_8 |
| GPIOHS10 | LCD_TE | IO_20 |
| GPIOHS11 | LCD_RD | IO_22 |
| GPIOHS7 | LCD_BL | IO_23 |
Note
The K210 chip features FPIOA (Field-Programmable IO Array), which can be controlled through software. It allows the mapping (connection) of GPIOHS (High-Speed GPIO), GPIO, SPI, and other function number interfaces to designated physical I/O ports. If not configured, the I/O ports are connected to the default function numbers.
1.4.3 Expansion Interface
The K210 Vision Module provides two user expansion interfaces: one IIC interface and one UART interface.
| Interface | Function |
|---|---|
| IIC Interface | Can communicate with other devices through IIC. |
| UART Interface | Can communicate with other devices through URAT. |
1.5 Hinge Bracket Installation Instruction
The hinge bracket is as shown in the following picture:
Before installing the hinge bracket, we need to remove the two M3x5 mechanical screws underneath the K210 Vision Module.
Align the two M3 screw holes on the hinge bracket with the two screw holes on the K210 Vision Module. Securely attach the two previously removed M3x5 mechanical screws.
Next, install the bracket onto the robot by using the reserved holes beneath the hinge bracket. The reserved holes support both M3 and M4 screws.










