MaixPy Banner

MaixPy (v4)

Easily create AI projects with Python on edge device

GitHub Repo starsApache 2.0PyPIPyPI - DownloadsGitHub repo size Build MaixCAMTrigger wiki

English | 中文

MaixPy-v1 (Maix-I K210) refer to MaixPy-v1 doc。 MaixPy v4 not support Maix-I Maix-II, please upgrade to MaixCAM 硬件平台。
Give a star ⭐️ to MaixPy source code on GitHub to let us known you love it, and encourage us to add more features.

Easy-to-use API, AI vision classify in 10 lines

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)

Hardware peripheral control:

Serial send and receive:

from maix import uart

dvices = uart.list_devices()

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

I2C send and receive:

from maix import i2c

devices = i2c.list_devices()
dev1 = i2c.I2C(devices[0], freq=100000)
slaves = dev1.scan()
print("find slaves:", slaves)
dev1.writeto(0x12, b'hello')
print("received:", dev1.readfrom(0x12, 5))

MaixVision Workstation

Simplify the development environment, make development easier and faster:

Online AI training platform MaixHub

One-click training AI model and deployment to MaixCAM even you have no AI knowledge and expensive training equipment.

Powerful MaixCAM hardware platform

MaixCAM


  • CPU: 1GHz RISC-V(Linux)/ARM A53 + 700MHz RISC-V(RTOS) + 25~300MHz 8051(Low Power)

Big core can choose one of RISC-V and ARM A53.

  • NPU: 1Tops@INT8 NPU, support BF16, support YOLOv5 YOLOv8 etc.
  • Memory: 256MB DDR3.
  • Connecting: USB2.0/WiFi6/BLE5.4.
  • Peripheral: IIC/PWM/SPI/UART/WDT/ADC
  • MultiMedia: 4M Camera, 2.3" 552x368 Touchscreen, H.264/H.265/MJPEG codec.
  • Price: 169/249 RMB (out of stock, please consult the store)

More detalils: MaixCAM

Attention, only MaixCAM is supported, other boards with the same chip are not supported, including Sipeed's boards with the same chip, please be careful not to waste time and money by buying the wrong one.

Features

Below are some of the features, for more please see the documentation, app store or community sharing MaixHub.

Python + MaixVision IDE

Simple API, with hardware acceleration, including many libraries, such as numpy, opencv, MaixVision IDE programming

C++ Version

MaixCDK C++ version SDK,API the same as MaixPy's

As a serial module

Other MCU control by serial command

App Store

Share your APP to community, and one-click install APPs.

MaixPy-v1 compatible package

Quickly migrate from MaixPy-v1(K210) to MaixPy-v4

AI Classifier

Classify object type

AI Object Detection

Classify object type and position

AI Face Recognition

Recognize different face

AI Body Keypoint Detection

Pose recognition, body sense game

AI Self Learning Classifier

No need to train on PC, learning any object on device in a flash

AI Self Learning Detector

No need to train on PC, learning any object on device in a flash

AI Object Tracking

Trajectory tracking, traffic statistics

AI Monitor, Stream

Security monitor, can stream, even can live to platforms like Bilibili.com

Find Blobs

Find color blobs

Line Tracking

Car line tracking, logistics handling

QR Code and AprilTag

Recognize QR code and AprilTag

OCR

Recognize characters in the image, digitize old items

Speech Recognition

Real-time continuous speech recognition

Desktop Monitor

Monitor PC information, such as CPU, memory, network, etc.

Weather Station

Monitor weather information, such as temperature, humidity, etc.

Thermal Camera

Optional camera, temprature image capture/measure

HDMI Capture Video

Optional, Capture HDMI image, as server monitor(KVM), external AI, streaming device etc.

Who are using MaixPy?

  • AI Algorithm Engineer who want to deploy your AI model to embedded devices.

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

  • STEM teacher who want to teach AI and embeded to students.

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.

  • Maker who want to make some cool projects but don't want to learn complicated hardware and software.

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.

  • Engineer who want to make some projects but want a prototype as soon as possible.

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.

  • Students who want to learn AI, embedded development.

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.

  • Enterprise who want to develop AI vision products but have no time or engineers to develop complicated embedded system.

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.

  • Contestants who want to win the competition.

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.

No matter you are using them or new comer, it's recommended to upgrade to MaixCAM and MaixPy v4.

Here's the comparison between them:

Feature Maix-I K210 Maix-II v831 MaixCAM
CPU 400MHz RISC-V x2 800MHz ARM7 1GHz RISC-V(Linux)
700MHz RISC-V(RTOS)
25~300MHz 8051(Low Power)
Memory 6MB SRAM 64MB DDR2 256MB DDR3
NPU 0.25Tops@INT8
official says 1T but...
0.25Tops@INT8 1Tops@INT8
Encoder 1080p@30fps 2K@30fps
Screen 2.4" 320x240 1.3" 240x240 2.28" 552x368 / 5" 1280x720 / 7" 1280x800 / 10“ 1280x800
TouchScreen 2.3" 552x368
Camera 30W 200W 500W
WiFi 2.4G 2.4G WiFi6 2.4G/5G
USB USB2.0 USB2.0
Eth 100M(Optional) 100M(Optional)
SD Interface SPI SDIO SDIO
BLE BLE5.4
OS RTOS Tina Linux Linux + RTOS
Language C / C++ / MicroPython C / C++ / Python3 C / C++ / Python3
Software MaixPy MaixPy3 MaixCDK + MaixPy v4 + opencv + numpy + ...
PC software MaixPy IDE MaixPy3 IDE MaixVision Workstation
Docs ⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟
Online AI train ⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️ 🌟🌟🌟🌟🌟
Official APPs ⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟
AI classify(224x224) MobileNetv1 50fps
MobileNetv2 ✖
Resnet ✖
MobileNet ✖
Resnet18 20fps
Resnet50 ✖
MobileNetv2 130fps
Resnet18 62fps
Resnet50 28fps
AI detect YOLOv2(224x224) 15fps YOLOv2(224x224) 15fps YOLOv5s(224x224) 100fps
YOLOv5s(320x256) 70fps
YOLOv5s(640x640) 15fps
YOLOv8n(640x640) 23fps
Ease of use ⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟

Maix ecosystem

What difference between MaixPy v1, MaixPy3 and MaixPy v4?

  • MaixPy v1 use MicroPython programming language, only support Sipeed Maix-I K210 series hardware, have limited third-party packages.
  • MaixPy3 is designed for Sipeed Maix-II-Dock v831, not a long-term support version.
  • MaixPy v4 use Python programming language, so there's much package we can use directly. MaixPy v4 support new hardware platforms of Sipeed, it's a long-term support version, the future's hardware platforms will support this version. MaixPy v4 have a MaixPy-v1 compatible API, so you can quickly migrate your MaixPy v1 project to 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.)

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