Sipeed M1 Dock Suit


In this post we are going to analyze the Sipeed M1 Dock Suit board, a very powerful RISC-V based board capable of doing image processing.

To read more about the RISC-V architecture, please check its website.

The hardware

As already mentioned, the Sipeed M1 Dock Suit is a very powerful development board capable of doing image processing (amongst many other features). Nonetheless, it costs less than 20 dollars and already ships with some peripherals onboard. You can check the board in figures 1 and 2 below.

Sipeed M1 Dock Suit board, showing the OV2640 camera
Figure 1 – Sipeed M1 Dock Suit board with camera attached.
Sieped M1 Dock Suit board, showing the Sipeed M1 module.
Figure 2 – Sipeed M1 Dock Suit board, showing the M1 module.

The board has a Sipeed M1 module, which contains a powerful Kendryte K210 SoC (System on Chip) inside [1] and 16 MB of flash memory.

The K210 is powered by a 64 bits dual core CPU, which is fabricated with a process of 28 nm [1]. It runs at 400 MHz and has a RISC-V architecture [2]. Each core has a dedicated FPU (Floating-point unit) [2][3].

Additionally, the K210 contains a Neural Network Processor (KPU) [4], suitable for the development of artificial intelligence applications. You can read more details about the KPU in the device datasheet.

This enables the development of applications in the field of computer vision, such as image classification and face detection [4]. You can watch here a video with a short demo illustrating a face detection application running on a Sipeed M1 board.

The K210 also has an Audio Processing Unit [3], which enables the development of audio processing applications [4].

In terms of memory, the K210 has 8 MB of SRAM, split into two parts: 6 MB are for general purpose use and 2 MB are allocated to the KPU [3].

Besides these main features, the Kendryte K210 offers much more [3]:

  • AES and SHA256 algorithm hardware accelerators;
  • Fast Fourier Transform (FFT) hardware accelerator;
  • 4 UARTs;
  • 3 I2C interfaces;
  • 4 SPI interfaces;
  • 3 I2S interfaces;
  • Real Time Clock;
  • Field Programmable IO Array with 48 IOs;
  • PWM (Pulse Width Modulation) support;
  • Digital Video Port (DVP) interface support;
  • Direct Memory Access Controller (DMAC);
  • 3 Timers (32 bit counters, configurable as up and down).

Note that there’s also a variant of the Sipeed module called M1W, which contains an additional ESP8285 SoC to add WiFi support [5]. You can read the datasheet of the ESP8285 on this link. The development board with this module can be bought here.

One of the big advantages of the Dock Suit board is that it ships with a camera and a LCD, and the PCB already contains connectors for these two devices. So, it means we don’t need to solder anything and we can immediately start exploring the computer vision features the device supports.

The camera included is a OV2640 and the LCD is a generic 2.4 inches model.

The Software

Regarding the supported software, the device ships with a port of MicroPython, which means we can start the development without having to worry about flashing it beforehand. You can check the GitHub page of the project here.

This version of MicroPython offers a very simple to use Computer Vision API, as can be seen in the documentation. As shown on this example, we can capture images from the camera and display them in a LCD with only 10 lines of code.

Additionally, the device also supports the original Kendrite K210 standalone SDK and the C/C++ FreeRTOS SDK [6].

Related content

Suggested Sipeed M1 Posts








Leave a Reply