SkillAgentSearch skills...

MaixPy

Easily create AI projects with Python on edge device

Install / Use

/learn @sipeed/MaixPy
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

MaixPy (v4)

<div align="center">

Back MaixCam 2 on Kickstarter

🚀 MaixCam 2 is LIVE: Build Your Next-Gen 4K AI Camera! 🚀

MaixPy (v4): Easily create AI projects with Python on edge device

<h3> <a href="https://wiki.sipeed.com/maixpy/doc/en/index.html"> Quick Start </a> | <a href="https://wiki.sipeed.com/maixpy/en/index.html"> Documentation </a> | <a href="https://wiki.sipeed.com/maixpy/api/index.html"> API </a> | <a href="https://wiki.sipeed.com/maixcam"> Hardware </a> </h3>

GitHub Repo stars Apache 2.0 PyPI PyPI - Downloads GitHub repo size Build MaixCAM Trigger wiki

English | 中文

</div>

MaixCAM

Feature Overview

MaixPy offers simple Python programming combined with powerful edge computing hardware. Integrated hardware peripheral operations, video streaming, AI vision algorithms, audio algorithms, and LLM / VLM etc. With its plug-and-play design, MaixPy enables you to quickly implement your intelligent projects.

Additionally, MaixPy provides the MaixVision IDE, MaixHub online training platform, detailed documentation, and even a C/C++ SDK with identical APIs, ensuring seamless development and production deployment.

Here is a partial video demonstration of the features. For more documentation, please visit the official website: wiki.sipeed.com/maixpy/

If you like this project, please click Star on the top right of the MaixPy Project to encourage us to develop more exciting content!

Concise and Efficient Code (API) Design

With MaixPy you can easily create AI vision project within 10 lines of code:

from maix import camera, display, image, nn

classifier = nn.Classifier(model="/root/models/mobilenetv2.mud")
cam = camera.Camera(classifier.input_width(), classifier.input_height(), classifier.input_format())
disp = display.Display()

while 1:
    img = cam.read()
    res = classifier.classify(img)
    max_idx, max_prob = res[0]
    msg = f"{max_prob:5.2f}: {classifier.labels[max_idx]}"
    img.draw_string(10, 10, msg, image.COLOR_RED)
    disp.show(img)

Result:

Edge(embeded) friendly

Simply use hardware peripheral like serial port:

from maix import uart

devices = uart.list_devices()

serial = uart.UART(devices[0], 115200)
serial.write_str("hello world")
print("received:", serial.read(timeout = 2000))

MaixVision workstation

We also provide a handy MaixVision workstation software to make development easier and faster:

<video playsinline controls muted preload src="https://github.com/sipeed/MaixPy/assets/8625829/1168a282-d7c2-45bc-9ffb-c00de1ca24f5" type="video/mp4"> MaixVision </video>

MaixHub online platform

MaixHub provide free online AI train service, one click to train AI model and deploy to MaixCAM even you have no AI knowledge and expensive training equipment.

MaixHub

Hardware platform MaixCAM

And we provide two powerful hardware platform MaixCAM2, MaixCAM and MaixCAM-Pro.

MaixCAM

Performance comparison

K210 and v831 are outdated, they have many limitations in memory, performance, NPU operators missing etc.<br> No matter you are using them or new comer, it's recommended to upgrade to MaixCAM and MaixPy v4.<br>

Here's the comparison between them:

| Feature | Maix-I K210 | MaixCAM | MaixCAM2 | | --------- | ----------- | ------- | ------- | | CPU | 400MHz RISC-V x2 | 1GHz RISC-V(Linux)<br>700MHz RISC-V(RTOS)<br>25~300MHz 8051(Low Power) | <span class="strong2">1.2GHz A53 x2(Linux)</span><br>RISC-V 32bit E907(RTT) | | Memory | 6MB SRAM | 256MB DDR3 | <span class="strong2">1GB / 4GB LPDDR4</span> | | NPU | 0.25Tops@INT8<br>official says 1T but... | 1Tops@INT8 | <span class="strong2">3.2Tops@INT8</span> | | Encoder | ❌ | 2880x1620@30fps H.254/H.265/JPEG | <span class="strong2">3840*2160@30fps H.254/H.265/JPEG</span> | | Decoder | ❌ | 2880x1620@30fps H.264/JPEG | 1080p@60fps H.264/JPEG | | Screen | 2.4" 320x240 | 2.3" 552x368(MaixCAM)<br/>2.4" 640x480(MaixCAM-Pro)<br/>5" 1280x720<br/>7" 1280x800<br/>10“ 1280x800| 2.4" 640x480<br/>5" 1280x720<br/>7" 1280x800<br/>10“ 1280x800 | | Touchscree | ❌ | 2.3" 552x368/2.4" 640x480 | 2.4" 640x480 | | Camera | 30W | 500W(5M) | <span class="strong2">800W(8M)</span> | | AI ISP | ❌ | ❌ | <span class="strong2"></span> | | WiFi | 2.4G | WiFi6 2.4G/5G | WiFi6 2.4G/5G | | BLE | ❌ | BLE5.4 | BLE5.4 | | USB | ❌ | USB2.0 | USB2.0 | | Ethernet | ❌ | 100M(Optional) | <span class="strong2">100M(on board FPC, can convert to RJ45 module)</span> | | SD Card | SPI | SDIO | SDIO | | OS | RTOS | Linux(BuildRoot) + RTOS | Linux(<span class="strong2">Ubuntu</span>) + RTT | | Porgraming Language | C / C++ / MicroPython | C / C++ / Python3 | C / C++ / Python3 | | SDK | MaixPy-v1 | MaixCDK + MaixPy v4<br>+ opencv + numpy + ...<br>Pure Python package or cross-compile manually | MaixCDK + MaixPy v4<br>+ opencv + numpy + scipy + ...<br><span class="strong2">Many AArch64 pre-compiled packages, and support compile on board</span> | | PC Software | MaixPy IDE | MaixVision Workstation | MaixVision Workstation | | Documentation | ⭐️⭐️⭐️⭐️ | 🌟🌟🌟🌟🌟 | 🌟🌟🌟🌟🌟 | | Online AI train | ⭐️⭐️⭐️ | 🌟🌟🌟🌟🌟 | 🌟🌟🌟🌟🌟 | | Official APPs | ⭐️ | 🌟🌟🌟🌟🌟 | 🌟🌟🌟🌟🌟 | | Ease of use | ⭐️⭐️⭐️⭐️ | 🌟🌟🌟🌟🌟 | 🌟🌟🌟🌟🌟 | | AI classify(224x224) | MobileNetv1 50fps<br>MobileNetv2 ❌<br>Resnet ❌ | MobileNetv2 130fps<br>Resnet18 62fps<br>Resnet50 28fps | MobileNetv2 <span class="strong2">1218fps</span><br>Resnet50 <span class="strong2">200fps</span> | | AI detect<div class="comment">only forward part /<br>[include pre-post process parts(Python)] /<br>[dual buff mode(Python)]</div> | <div class="main_items">YOLOv2:<div class="sub_items">224x224: 15fps</div></div> | <div class="main_items">YOLOv5s:<div class="sub_items">224x224: 100fps<br>320x256 70fps<br>640x640: 15fps</div></div> <div class="main_items">YOLOv8n:<div class="sub_items">640x640: 23fps</div></div> <div class="main_items">YOLO11n:<div class="sub_items">224x224: 175fps<br>320x224: 120fps<br>320x320: 95fps<br>640x640: 23fps</div></div> | <div class="main_items">YOLOv5s:<div class="sub_items">224x224: <span class="strong2">495fps</span><br>320x256: <span class="strong2">400fps</span><br>640x480: <span class="strong2">106fps / 73fps / 103fps</span><br>640x640: <span class="strong2">80fps</span></div></div> <div class="main_items">YOLO11n:<div class="sub_items">224x224: <span class="strong2">1214fps</span><br>640x480: <span class="strong2">168fps / 77fps / 143fps</span><br>640x640: <span class="strong2">113fps / 56fps / 98fps</span></div></div> <div class="main_items">YOLO11s:<div class="sub_items">640x480: <span class="strong2">87fps / 53fps / 83fps</span><br>640x640: <span class="strong2">62fps / 39fps / 59fps</span></div></div> <div class="main_items">YOLO11l:<div class="sub_items">640x640: <span class="strong2">19fps / 16fps / 19fps</span></div></div> | | LLM | ❌ | ❌ | <span class="strong2">Qwen/DeepSeek 0.5B(fftf: 640ms, 9 tokens/s)<br>Qwen/DeepSeek 1.5B(fftf: 1610ms, 4 tokens/s) <br> VLM(InterVL 1B) <br>Mode models</span> | | OpenMV algorithms | <div class="comment">test image refer to <a href="https://github.com/sipeed/MaixPy/tree/main/projects/app_benchmark">Benchmark APP</a> | <div class="comment">test image refer to <a href="https://github.com/sipeed/MaixPy/tree/main/projects/app_benchmark">Benchmark APP</a><br>test date: 2025.8.22,update may have optimization</div> | <div class="comment">test image refer to <a href="https://github.com/sipeed/MaixPy/tree/main/projects/app_benchmark">Benchmark APP</a><br>t

View on GitHub
GitHub Stars715
CategoryDevelopment
Updated11h ago
Forks105

Languages

Python

Security Score

85/100

Audited on Apr 4, 2026

No findings