# MaixPy **Repository Path**: QTDesign/MaixPy ## Basic Information - **Project Name**: MaixPy - **Description**: Maixpy 的目的是让 AIOT 编程更简单, 基于 Micropython 语法, 运行在一款有着便宜价格的高性能芯片 K210 上. - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 22 - **Forks**: 3 - **Created**: 2020-10-14 - **Last Updated**: 2025-04-14 ## Categories & Tags **Categories**: iot **Tags**: None ## README


Master branch build status master build firmware Latest release version License
Good first issues Bug issues Enhancement issues

[中文](README_ZH.md)

**Let's Sipeed up, Maximize AI's power!** **MaixPy, makes AIOT easier!** Maixpy is designed to make AIOT programming easier, based on the [Micropython](http://www.micropython.org) syntax, running on a very powerful embedded AIOT chip [K210](https://kendryte.com). There are many things you can do with MaixPy, please refer to [here](https://maixpy.sipeed.com/en/others/what_maix_do.html) > K210 brief: > * Image Recognition with hardware AI acceleration > * Dual core with FPU > * 8MB(6MB+2MB) RAM > * 16MB external Flash > * Max 800MHz CPU freq (see the dev board in detail, usually 400MHz) > * Microphone array(8 mics) > * Hardware AES SHA256 > * FPIOA (Periphrals can map to any pins) > * Peripherals: I2C, SPI, I2S, WDT, TIMER, RTC, UART, GPIO etc. maix bit ## Simple code Find I2C devices: ```python from machine import I2C i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29) devices = i2c.scan() print(devices) ``` Take picture: ```python import sensor import image import lcd lcd.init() sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.run(1) while True: img=sensor.snapshot() lcd.display(img) ``` Use AI model to recognize object: ```python import KPU as kpu import sensor sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.set_windowing((224, 224)) model = kpu.load("/sd/mobilenet.kmodel") # load model while(True): img = sensor.snapshot() # take picture by camera out = kpu.forward(task, img)[:] # inference, get one-hot output print(max(out)) # print max probability object ID ``` > please read doc before run it ## Release See [Releases page](https://github.com/sipeed/MaixPy/releases) Get latest commit firmware: [master firmware](http://dl.sipeed.com/MAIX/MaixPy/release/master/) Custom your firmware, see [build](#build-from-source) or use [online custom tool](#use-online-compilation-tools-to-customize-firmware) ## Documentation Doc refer to [maixpy.sipeed.com](https://maixpy.sipeed.com) ## Examples [MaixPy_scripts](https://github.com/sipeed/MaixPy_scripts) ## Build From Source See [build doc](build.md) The historic version see [historic branch](https://github.com/sipeed/MaixPy/tree/historic) (No longer maintained, just keep commit history) ## Use online compilation tools to customize firmware Go to [maixhub.com](https://www.maixhub.com/compile.html) to use online compilation to customize the functions you need ## Model hub: Maixhub.com Find more models on [Maixhub.com](https://maixhub.com) ## License See [LICENSE](LICENSE.md) file ## Other: As C SDK for C developers In addition to the source code of the `MaixPy` project, since `MaixPy` exists as a component, it can be configured to not participate in compilation, so this repository can also be developed as `C SDK`. For the usage details, see [Building Documentation](build.md), which can be started by compiling and downloading `projects/hello_world`. The compilation process is briefly as follows: ``` wget http://dl.cdn.sipeed.com/kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz sudo tar -Jxvf kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz -C /opt cd projects/hello_world python3 project.py menuconfig python3 project.py build python3 project.py flash -B dan -b 1500000 -p /dev/ttyUSB0 -t ```