Home

Awesome

MaixPy (v4)

<div align="center">

Let's Sipeed up, Maximize AI's power!

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>

New MaixPy (v4) and new hardware platform MaixCAM is coming now(2024.4)!<br> If you have any suggestions, tell us on MaixHub, or Telegram/MaixPy or QQ group: 862340358.

Click the Star in the upper right corner to let us know you like it to encourage us to add more features.

Introduction

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())
dis = 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)
    dis.show(img)

Result video:

<video playsinline controls autoplay loop muted preload src="https://github.com/sipeed/MaixPy/assets/8625829/d06e4f0e-31af-4679-b3bc-1f93cd633af0" type="video/mp4"> Classifier Result video </video>

Simply use 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))

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>

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

MaixHub

Features

Python programing, MaixVision Workstation, AI vision, video streaming, voice recognize, peripheral usage etc.

Details and videos visit official site: wiki.sipeed.com/maixpy/

Hardware platform MaixCAM

And we provide new powerful hardware platform MaixCAM:

MaixCAM

CPUNPUMemory
- 1GHz RISC-V(Linux)/ARM A53<br>- 700MHz RISCV-V(RTOS)<br>- 25~300MHz 8051(LowPower)1Tops@INT8 NPU, support BF16<br>support YOLOv5 YOLOv8 etc.256MB DDR3
ConnectingPeripheralMultiMediaBuy
USB2.0/WiFi6/BLE5.4IIC/PWM/SPI/UART/WDT/ADC- 4M Camera<br>- 2.3" 552x368 Touchscreen<br>- H.264/H.265/MJPEG codecSipeed Official Store

Chip register level open, more detalils: MaixCAM

Who are using MaixPy?

MaixPy provide easy-to-use API to access NPU, and docs to help you develop your AI model.

MaixPy provide easy-to-use API, PC tools, online AI train service ... Let you focus on teaching AI, not the hardware and complicated software usage.

MaixPy provide Python API, so all you need is learn basic Python syntax, and MaixPy's API is so easy to use, you can make your project even in a few minutes.

MaixPy is easy to build projects, and provide corresponding C++ SDK, so you can directly use MaixPy to deploy or transfer Python code to C++ in a few minutes.

We provide many docs and tutorials, and lot of open source code, to help you find learning route, and grow up step by step. From simple Python programming to Vision, AI, Audio, Linux, RTOS etc.

Use MaixPy even graphic programming to develop your products with no more employees and time. For example, add a AI QA system to your production line, or add a AI security monitor to your office as your demand.

MaixPy integrate many functions and easy to use, fasten your work to win the competition in limited time. There are already many contestants win the competition with MaixPy.

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:

FeatureMaix-I K210Maix-II v831MaixCAM
CPU400MHz RISC-V x2800MHz ARM71GHz RISC-V(Linux)<br>700MHz RISC-V(RTOS)<br>25~300MHz 8051(Low Power)
Memory6MB SRAM64MB DDR2256MB DDR3
NPU0.25Tops@INT8<br>official says 1T but...0.25Tops@INT81Tops@INT8
Encoder1080p@30fps2K@30fps
Screen2.4" 320x2401.3" 240x2402.28" 552x368 / 5" 1280x720 / 7" 1280x800 / 10“ 1280x800
TouchScreen2.3" 552x368
Camera30W200W500W
WiFi2.4G2.4GWiFi6 2.4G/5G
USBUSB2.0USB2.0
Eth100M(Optional)100M(Optional)
SD InterfaceSPISDIOSDIO
BLEBLE5.4
OSRTOSTina LinuxLinux + RTOS
LanguageC / C++ / MicroPythonC / C++ / Python3C / C++ / Python3
SoftwareMaixPyMaixPy3MaixCDK + MaixPy v4 + opencv + numpy + ...
PC softwareMaixPy IDEMaixPy3 IDEMaixVision Workstation
Docs⭐️⭐️⭐️⭐️⭐️⭐️⭐️🌟🌟🌟🌟🌟
Online AI train⭐️⭐️⭐️⭐️⭐️⭐️⭐️🌟🌟🌟🌟🌟
Official APPs⭐️⭐️⭐️⭐️⭐️🌟🌟🌟🌟🌟
AI classify(224x224)MobileNetv1 50fps<br>MobileNetv2 ✖<br>Resnet ✖MobileNet ✖<br>Resnet18 20fps<br>Resnet50 ✖MobileNetv2 130fps<br>Resnet18 62fps<br>Resnet50 28fps
AI detectYOLOv2(224x224) 15fpsYOLOv2(224x224) 15fpsYOLOv5s(224x224) 100fps<br>YOLOv5s(320x256) 70fps<br>YOLOv5s(640x640) 15fps<br>YOLOv8n(640x640) 23fps
Ease of use⭐️⭐️⭐️⭐️⭐️⭐️⭐️🌟🌟🌟🌟🌟

Maix Ecosystem

MaixPy not only a Python SDK, but have a whole ecosystem, including hardware, software, tools, docs, even cloud platform etc. See the picture below:

What difference between MaixPy v1, MaixPy3 and MaixPy v4?

(MaixPy v4 Will not support Maix-I K210 series, if you are using Maix-I K210 series, it's recommended to upgrade hardware platform to use this to get more features and better performance.)

Compile Source Code

If you want to compile MaixPy firmware from source code, refer to Build MaixPy source code page.

License

All files in this repository are under the terms of the Apache License 2.0 Sipeed Ltd. except the third-party libraries or have their own license.

Community