Let's Sipeed up, Maximize AI's power!
MaixPy, makes AIOT easier!
Maixpy is designed to make AIOT programming easier, based on the Micropython syntax, running on a very powerful embedded AIOT chip K210.
There are many things you can do with MaixPy, please refer to here
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.
Simple code
Find I2C devices:
from machine import I2C
i2c = I2C(I2C.I2C0, freq=100000, scl=28, sda=29)
devices = i2c.scan()
print(devices)
Take picture:
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:
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
Get latest commit firmware: master firmware
Custom your firmware, see build or use online custom tool
Documentation
Doc refer to maixpy.sipeed.com
Examples
Build From Source
See build doc
The historic version see historic branch (No longer maintained, just keep commit history)
Use online compilation tools to customize firmware
Go to maixhub.com to use online compilation to customize the functions you need
Model hub: Maixhub.com
Find more models on Maixhub.com
License
See LICENSE 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, 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