Skip to content

Doc, snippets and code for Sipeed Maix Amigo - Micropython enabled dev widget.

License

Notifications You must be signed in to change notification settings

AngainorDev/Maix-Amigo-Help

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maix-Amigo-Help

Doc, snippets and code for Sipeed Maix Amigo - Micropython enabled dev widget.

The Sipeed Maix Amigo

The Amigo is a pretty nice hardware, feature packed:
https://www.seeedstudio.com/Sipeed-Maix-Amigo-p-4689.html

However, the software and documentation side is currently lagging behind and we were pretty disappointed when getting our Amigo.
No code sample would work, defaults settings are not correct, doc is inexistent (at best) or misleading when available.

The Amigo has a huge potential and we wanted to help others avoid the pain we felt when getting our first one.
This repo is there to compile our tries, fails and success.

The firmware

Do not use the maixhub service

This service is supposed to build a firmware for you.
It uses older versions than factory defaults, and does not include what you ask for. For instance I asked lvgl builds, and got no lvgl.

Build the firmware yourself. If you have a linux at hand, this is fast and troublefree.
The official doc can be followed: https://github.com/sipeed/MaixPy/blob/master/build.md
Use recommended kflashgui to flash the firmware https://maixpy.sipeed.com/en/get_started/upgrade_firmware.html

MaixPy IDE

It's good, especially the integrated framebuffer view.
https://maixpy.sipeed.com/en/get_started/maixpyide.html

Other useful tools

rshell is good.
WIP

LEDS

  • 1 Mini RGB Side LED
  • 1 Large White Rear LED

See https://github.com/AngainorDev/Maix-Amigo-Help/tree/main/LED

Cameras

  • Front: GC0328
  • Rear: OV7740

In a nutshell:

  • Lower sensor frequency to 5000000 instead of default 20000000 or you'll get insane colors, bars on the image, unusable images
  • Do not use sensor.RGB565 as told in the official doc. Amigo uses YUV. Use sensor.YUV422 or sensor.GRAYSCALE.
  • Add sensor.set_vflip(1) and sensor/set_hmirror(1)
  • Do not compile the firmware with double buffer, you won't have enough RAM to use them
  • We'll detail custom firmware builds to get more RAM and really use the images instead of getting OOM errors everywhere.

To be detailled:

  • How to use the Amigo front cam
  • How to use windowing and POI

Screen

  • ILI9486
  • 480x320 px

Touchscreen

  • FT6x36
  • i2c address 0x38
  • scl=24, sda=27
  • freq = 1000000

MaixUI has a pure python implementation of the touch screen semi working.
See https://github.com/sipeed/MaixUI/blob/5646aa3899d126e579e99d38bb8020857cd3abe3/driver/touch.py and sipeed/MaixPy-v1_scripts#79 for a better alternative.

LVGL

Demos with touchscreen not working, fix to be published here.
See https://github.com/AngainorDev/Maix-Amigo-Help/tree/main/LVGL/

/flash

  • No subdirectory support
  • 3MB spiffs in default firmware

SD Card

  • Only support FAT32

Tip when building your firmware

Raise heap from 8000 to F0000 (not sure if we can do even more?)

This will give more ram when using LVGL or many pictures functions, or everything crashes with OOM.

Contributions

Are welcome!

About

Doc, snippets and code for Sipeed Maix Amigo - Micropython enabled dev widget.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages