

The SiPeed MaixCAM is a compact AI camera module designed for edge computing and machine learning applications. Manufactured by Controller, this module integrates a RISC-V processor and a camera sensor, enabling real-time image capture and processing. Its small form factor and powerful processing capabilities make it ideal for AI-based projects, such as object detection, facial recognition, and smart surveillance systems.








The SiPeed MaixCAM is a feature-rich module with the following key specifications:
| Specification | Details |
|---|---|
| Processor | RISC-V K210 dual-core 64-bit processor with FPU |
| Camera Sensor | OV2640 (2MP) or GC0328 (0.3MP), depending on the variant |
| RAM | 8 MB SRAM |
| Flash Memory | 16 MB NOR Flash |
| Operating Voltage | 5V (via USB) |
| Communication Interfaces | UART, SPI, I2C, GPIO |
| AI Acceleration | Built-in KPU (Kendryte Processing Unit) for neural network acceleration |
| Dimensions | 30mm x 30mm |
| Weight | ~5g |
The SiPeed MaixCAM features a 24-pin header for interfacing. Below is the pinout:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power input (5V) |
| 2 | GND | Ground |
| 3 | TX | UART Transmit |
| 4 | RX | UART Receive |
| 5 | SCL | I2C Clock |
| 6 | SDA | I2C Data |
| 7 | SPI_CS | SPI Chip Select |
| 8 | SPI_CLK | SPI Clock |
| 9 | SPI_MOSI | SPI Master Out Slave In |
| 10 | SPI_MISO | SPI Master In Slave Out |
| 11 | GPIO0 | General Purpose Input/Output |
| 12 | GPIO1 | General Purpose Input/Output |
| 13 | GPIO2 | General Purpose Input/Output |
| 14 | GPIO3 | General Purpose Input/Output |
| 15 | BOOT | Boot mode selection |
| 16 | RST | Reset |
| 17-24 | NC | Not Connected |
Below is an example of interfacing the SiPeed MaixCAM with an Arduino UNO via UART:
#include <SoftwareSerial.h>
// Define RX and TX pins for communication with SiPeed MaixCAM
SoftwareSerial maixCamSerial(10, 11); // RX = pin 10, TX = pin 11
void setup() {
// Initialize serial communication
Serial.begin(9600); // Communication with PC
maixCamSerial.begin(115200); // Communication with SiPeed MaixCAM
Serial.println("Initializing SiPeed MaixCAM...");
delay(1000);
// Send a test command to the MaixCAM
maixCamSerial.println("AT"); // Example command to check communication
}
void loop() {
// Check if data is available from the MaixCAM
if (maixCamSerial.available()) {
String data = maixCamSerial.readString();
Serial.println("Data from MaixCAM: " + data);
}
// Check if data is available from the PC
if (Serial.available()) {
String command = Serial.readString();
maixCamSerial.println(command); // Forward command to MaixCAM
}
}
10 and 11 with the appropriate pins on your Arduino UNO.No Response from the Module
Blurry or No Image Output
Overheating
Firmware Update Fails
Q: Can the SiPeed MaixCAM run TensorFlow Lite models?
A: Yes, the module supports TensorFlow Lite models optimized for the KPU.
Q: What is the maximum resolution of the camera?
A: The OV2640 sensor supports up to 1600x1200 resolution, while the GC0328 sensor supports up to 640x480.
Q: Can I use the SiPeed MaixCAM with Raspberry Pi?
A: Yes, the module can be interfaced with Raspberry Pi via UART, SPI, or I2C.
Q: Is the module compatible with MicroPython?
A: Yes, the SiPeed MaixCAM supports MicroPython for rapid prototyping and development.
This concludes the documentation for the SiPeed MaixCAM. For further assistance, refer to the official datasheet or community forums.