MaixCAM: Risc-V (and not only!) Development Board with SOPHGO SG2002 AI SoC

Hardware.ai
12 May 202406:42

TLDRThe MaixCAM is a development board from Sipeed, featuring a powerful SOPHGO SG2002 AI SoC with two Risc-V cores and a Neural Processing Unit (NPU) capable of 1 TOPS INT8 compute for visual machine learning tasks. It can perform image classification and object detection at up to 100 frames per second. The board, available in two versions (MaixCam and MaixCam Lite), includes a 4M camera, a 2.3 inch touchscreen, onboard WiFi 6, BLE 5.4, and an SD card for storage. It runs a simple GUI with basic apps for testing and supports modification through its own IDE, MaixVision. The video provides an unboxing, hardware overview, and a quick test of the board's capabilities, highlighting its potential for developers and DIY enthusiasts.

Takeaways

  • 📌 MaixCAM is a development board with two Risc-V cores and a Neural Processing Unit (NPU) for visual machine learning tasks.
  • 🚀 It can perform image classification and object detection at speeds up to 100 frames per second.
  • 🔍 The board is based on the SOPHGO SG2002 AI SoC, which includes a 1GHz C906 core, a 1GHz Arm Cortex-A53, and a 700 MHz C906 RISC-V core.
  • 🧠 The NPU is capable of 1 TOPS INT8 compute, which is almost 100 times more compute for neural networks than Raspberry Pi 5.
  • 📦 The kit comes with a pre-assembled board, a screen, a camera, and additional features like onboard WiFi 6 and BLE 5.4.
  • 💻 It does not have built-in eMMC storage, so the OS and applications are stored on an SD card.
  • 🔌 The board is powered via a USB-C cable and has a simple GUI for easy interaction.
  • 🔍 The GUI offers options for image classification, object detection, and simple OpenCV functions, with more apps available on the App Store.
  • 🌐 The source code for the apps is available on Github for users to modify and learn from.
  • 🛠️ MaixCAM is designed for processing single video streams in parallel with other applications, like a graphical user interface.
  • 📈 Ideal workflow involves downloading a sample app from the App Store and modifying it in MaixVision IDE.
  • 📹 The board also features a 4M camera, a 2.3-inch touchscreen, GPIO headers, a user button, a user LED, a microphone, and a PA amplifier for speakers.

Q & A

  • What is the MaixCAM development board and what does it specialize in?

    -The MaixCAM is a development board from the Shenzhen-based company Sipeed, specializing in visual machine learning tasks such as image classification and object detection, capable of processing up to 100 frames per second.

  • What are the key features of the SOPHGO SG2002 AI SoC chip used in MaixCAM?

    -The SOPHGO SG2002 AI SoC chip features a 1GHz C906 64-bit core for running Linux, a 1GHz Arm Cortex-A53 core, a 700 MHz C906 RISC-V core for FreeRTOS, a 300 MHz 8051-core for real-time I/Os, 256MB RAM, and a neural processing unit capable of 1 TOPS INT8 compute.

  • How does the compute capability of MaixCAM compare to Jetson Nano and Raspberry Pi 5?

    -MaixCAM has almost 100 times more compute capability for neural networks and machine vision applications than Raspberry Pi 5, but it is much less than the Jetson Orin Nano, which has 40 TOPS compared to MaixCAM's 1 TOPS.

  • What are the two versions of the MaixCAM kit available for sale?

    -The two versions available for sale are MaixCAM and MaixCAM Lite. MaixCAM comes with a screen and a case for about 48 USD, while MaixCAM Lite is just a board with the camera for 33 USD.

  • What is the onboard storage situation for the MaixCAM board?

    -The MaixCAM board does not have built-in eMMC storage. Instead, the operating system and applications are stored on an SD card, similar to the Raspberry Pi.

  • What is the included hardware with the full version of MaixCAM?

    -The full version of MaixCAM includes a 4M Camera, a 2.3-inch 552x368 touchscreen, onboard WiFi 6, BLE 5.4, two 14-pin 2.54 pitch headers with GPIOs, a user button, a user LED, an onboard microphone, and a PA amplifier for up to 1W speakers.

  • How does the MaixCAM boot sequence work and what is the initial interface language?

    -The boot sequence of MaixCAM takes some time, after which users are greeted with a simple GUI. On the first boot, the interface might be in Chinese, but it can be switched to English by going to Settings, then the item with the letter A and the Chinese character 'wen'.

  • What are the basic apps available on MaixCAM for testing purposes?

    -The basic apps available on MaixCAM for testing include image classification, object detection, simple OpenCV functions, and an option to download more from the App Store.

  • How can users modify the basic apps for their own purposes?

    -Users can modify the basic apps by viewing the source code, which can be accessed through a small button that leads to a Github repository. The ideal workflow would involve getting a sample app code from the App Store and then modifying it in the MaixVision IDE.

  • What is the recommended IDE for developing applications for the MaixCAM board?

    -The recommended IDE for developing applications for the MaixCAM board is MaixVision, which appears to be a fork of the OpenMV IDE and works without issues when connected to the board.

  • What is the recommended workflow for using the MaixCAM board?

    -The recommended workflow involves getting a sample app code from the App Store, modifying it in the MaixVision IDE, and then running the customized app on the MaixCAM board.

  • What additional information can be found in the video for users interested in the MaixCAM board?

    -The video provides a detailed unboxing of the MaixCAM board, a discussion on its hardware specifications, and a demonstration of its capabilities. It also mentions a playlist about the first generation of Maix boards with K210 chips for users interested in a more budget-friendly option.

Outlines

00:00

🤖 Introduction to MaixCam Development Board

The video introduces the MaixCam development board from Sipeed, a company known for its K210-based boards. The MaixCam features two Risc-V cores and a Neural Processing Unit (NPU), making it particularly adept at visual machine learning tasks like image classification and object detection at up to 100 frames per second. The board is based on the SOPHGO SG2002 SoC, which includes a 1GHz C906 core, a 1GHz Arm Cortex-A53, a 700 MHz C906 RISC-V core, a 300 MHz 8051-core, and 256MB of RAM. The NPU is capable of 1 TOPS INT8 compute. Compared to other devices like the Jetson Nano and Raspberry Pi 5, the MaixCam offers significantly more compute power for neural networks and machine vision applications. The video also discusses the board's hardware, including a 4M camera, 2.3" touchscreen, WiFi 6, BLE 5.4, and the lack of built-in eMMC storage. The board is pre-assembled and comes with two versions: MaixCam and MaixCam Lite, with the full version including the screen and a case for around 48 USD.

05:02

📱 MaixCam's Software and User Interface

The video script describes the MaixCam's software and user interface, highlighting the initial boot sequence and the graphical user interface (GUI) which includes options for image classification, object detection, and simple OpenCV functions. It also mentions the availability of additional apps through an App Store. The interface may default to Chinese on the first boot, but viewers are guided on how to switch to English. The basic apps are suitable for simple testing but are limited in terms of customization, such as adding UART output. The source code for these apps is available on GitHub. The video outlines a future workflow where users can download sample app code from the App Store and modify it using the MaixVision IDE, which is described as a fork of the OpenMV IDE. The presenter also hints at a second part of the video that will cover more on application development for the MaixCam board.

Mindmap

Keywords

💡Risc-V

Risc-V is an open-source instruction set architecture (ISA) that is designed to be free for anyone to use. In the context of the video, the development board features two Risc-V cores, which are integral to its computing capabilities. They are part of what makes the board suitable for running complex tasks like machine learning applications efficiently.

💡Neural Processing Unit (NPU)

A Neural Processing Unit is a specialized type of hardware designed to accelerate the execution of neural networks. In the video, the NPU on the development board is capable of 1 TOPS INT8 compute, which is significant for visual machine learning tasks. It demonstrates the board's ability to handle tasks like image classification and object detection at high speeds.

💡TOPS

TOPS stands for 'Tera Operations Per Second' and is a unit of measurement for the speed of a computer's processor, particularly in the context of machine learning and neural network computations. The video mentions that the NPU is capable of 1 TOPS INT8 compute, indicating its performance level for specific types of neural network operations.

💡Sipeed

Sipeed is a Shenzhen-based company known for producing development boards. They are mentioned in the video as the creators of the MaixCam development board, which is based on the SOPHGO SG2002 AI SoC. Sipeed has a history of making boards with K210 chips, which were recognized for their real-time speed in image classification tasks.

💡SOPHGO SG2002 AI SoC

The SOPHGO SG2002 AI SoC is a System on Chip (SoC) that integrates multiple processors and the neural processing unit. It is the heart of the MaixCam development board, providing the computing power needed for running Linux, Android, FreeRTOS, and handling real-time I/Os. It is described as more modern and powerful compared to previous chips used in Sipeed's boards.

💡Machine Vision Applications

Machine vision applications refer to the use of computers and algorithms to interpret and analyze visual information from the world. In the video, the MaixCam development board is highlighted for its suitability in machine vision applications due to its powerful SoC and NPU, which allow it to perform tasks like image classification and object detection at speeds of up to 100 frames per second.

💡Jetson Nano

The Jetson Nano is a series of AI computers developed by Nvidia, designed for running AI models and machine learning tasks. In the video, it is used as a benchmark to compare the computing capabilities of the MaixCam development board. The older Jetson Nano has 0.4 TFLOPS, while the newer Jetson Orin Nano has 40 TOPS, providing context to the MaixCam's 1 TOPS capability.

💡Raspberry Pi 5

The Raspberry Pi 5 is a single-board computer with a 0.01 TFLOPS compute capability, as mentioned in the video. It is used for comparison to highlight the MaixCam's superior performance in neural network computations, almost 100 times more than the Raspberry Pi 5 for machine vision applications.

💡GPIO

GPIO stands for 'General Purpose Input/Output' and refers to a type of pin on a computer's microcontroller that can be programmed to perform a variety of input or output tasks. In the video, the MaixCam development board is described as having two 14-pin 2.54 pitch headers with GPIOs, which allow for the connection of various external devices for development and DIY projects.

💡MaixVision

MaixVision is an Integrated Development Environment (IDE) mentioned in the video for developing applications for the MaixCam board. It is suggested that users can download sample app code from the App Store and then modify it using MaixVision, which is described as looking like a fork of the OpenMV IDE and working well when connected to the board.

💡GUI

GUI stands for 'Graphical User Interface' and refers to a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators. The video describes the MaixCam's GUI as a simple interface that includes options for image classification, object detection, and other OpenCV functions, providing a user-friendly way to interact with the development board.

Highlights

MaixCAM is a development board with two Risc-V cores and one Neural Processing Unit.

It is capable of running visual machine learning tasks such as image classification and object detection at up to 100 frames per second.

MaixCAM is developed by Sipeed, a Shenzhen based company known for their K210-based boards.

The board features a SOPHGO SG2002 AI SoC with multiple cores and a neural processing unit capable of 1 TOPS INT8 compute.

The neural processing unit supports BF16 but does not specify its compute capability.

Compared to the Raspberry Pi 5, MaixCAM offers almost 100 times more compute power for neural networks.

MaixCAM is designed for processing single video streams in parallel with other applications like a graphical user interface.

The development board comes in two versions: MaixCam and MaixCam Lite, with different features and prices.

The full version includes a 4M Camera, 2.3" touchscreen, onboard WiFi 6, BLE 5.4, and no built-in eMMC storage.

The OS and applications are stored on an SD card, similar to the Raspberry Pi.

The board has two 14-pin 2.54 pitch headers with GPIOs, a user button, and a user LED.

An onboard microphone and a PA amplifier for up to 1W speakers are included in the hardware.

The board can be powered using a Raspberry Pi 4 USB Type-C power supply.

It features a simple GUI with options for image classification, object detection, and simple OpenCV functions.

The interface language can be switched from Chinese to English in the settings.

Basic apps are available for simple testing, and the source code can be viewed on a Github repository.

The ideal workflow involves getting a sample app code from the App Store and modifying it in MaixVision IDE.

MaixVision IDE is a fork of OpenMV IDE and works seamlessly when connected to the board.

A playlist about the first generation of Maix boards with K210 chips is available for those interested in their attractive price point.