MaixCAM MaixPy Upgrade and System Flashing
Introduction to the System and MaixPy
First, let's distinguish between System
and MaixPy
:
- System: The foundation for running all software, including the operating system and drivers, serving as the cornerstone for software operation.
- MaixPy: A software package that relies on system drivers to function.
Getting the Latest System
Find the latest system image files on the MaixPy Releases page, for example:
maixcam_os_20240401_maixpy_v4.1.0.xz
: MaixCAM system image including MaixPy v4.1.0.maixcam-pro_os_20240401_maixpy_v4.1.0.xz
: MaixCAM Pro system image including MaixPy v4.1.0.maixcam2_os_20250801_maixpy_v4.11.0.xz
: MaixCAM2 system image including MaixPy v4.11.0.
Make sure to download the system image that corresponds to your device model. Downloading the wrong image may cause device damage.
Users in China with slow download speeds can use tools like Xunlei for faster downloads.
Alternatively, use proxy sites such as github.abskoop.workers.dev for downloads.
Backup mirror: Sourceforge (may not be up-to-date, so prefer the above official sources)
Backup Your Data
Updating (flashing) the system will erase all data.
If you have important data saved on the device, please back it up to your computer first.
Backup methods:
- Connect with MaixVision and use the file manager to download important files to your computer, especially files under
/maixapp
and/root
. - Use the
scp
command to copy files. - Use file transfer tools such as WinSCP or FileZilla.
- Remove the storage media and use a card reader to copy files directly. Note: the root filesystem is formatted as
ext4
, which Windows does not support by default (you can use third-party software like DiskGenius to read it).
Flashing the System to Hardware
Item | MaixCAM / MaixCAM-Pro | MaixCAM2 |
---|---|---|
Flashing Docs | MaixCAM System Flashing | MaixCAM2 System Flashing |
System Storage | TF Card | Built-in EMMC (/TF Card) |
TF Card Required | Yes | No |
Flashing Method | USB flashing or card reader flashing | USB flashing or card reader flashing |
Recommended Method | USB flashing | USB flashing |
Recovery Flashing | Card reader flashing | USB flashing / card reader flashing |
When to Update the System vs. Updating MaixPy Only
To simplify the process and avoid issues, it is recommended to update the system whenever upgrading MaixPy.
You must update the system in any of the following scenarios:
- Using a new TF card, which requires a TF card reader for system flashing.
- Upgrading MaixPy, and the MaixPy Release Page indicates that any version between the current and target versions includes a system update.
For example, if your current system is
maixcam_os_20240401_maixpy_v4.1.0
and you wish to upgrade to4.7.8
, you must update the system if any version between4.1.0
and4.7.8
includes a system update. Failure to do so may result in MaixPy not functioning properly.
It is strongly recommended to update the system in these cases:
- When using the device for the first time, as the factory-installed system version may be outdated. Upgrade to the latest version to ensure compatibility with the documentation.
Avoid updating in the following cases:
- The current version meets your requirements and is running stably in critical scenarios (e.g., during competitions or product deployment).
- The update introduces new features, but as a development kit, it may cause minor code incompatibilities or introduce bugs. Only update if you are prepared for development and debugging.
Upgrading MaixPy Only
After carefully considering the points above, if you decide to upgrade MaixPy only, here are three methods:
Use the
ssh terminal
feature in MaixVision and run:pip install -U MaixPy
For faster downloads in China, use:
pip install -U MaixPy -i https://pypi.mirrors.ustc.edu.cn/simple
In MaixVision, execute the
examples/tools/install_maixpy.py
script to upgrade.Manually download the file MaixPy-x.x.x-py3-none-any.whl, transfer it to the device, and install it using either of the following methods:
- Run
pip install xxx.whl
in thessh terminal
. - Execute:
import os os.system("xxx.whl")
- Run
Note: The process may take a while. Please be patient.