MaixPy Development History
Write down the development history of this article, hoping to let future developers know what MaixPy has gone through, what are the reasons for some major changes, and when major progress has been made.
The code submission history can be seen in the historic and master branches
The MaixPy project was launched, and the opportunity was the completion of the K210 chip tapeout.
So everyone wanted to make a set of easy-to-use software kits that allow more people to use AI development in embedded applications. Because of the ease of use of Micropython, and the k210 has 6+2MiB memory, the main frequency is 400MHz, and it is fully capable of controlling Micropython. Micropython is selected as the programming syntax
Based on the development board Maix dock, the name is now called Lichee Pill, and the QQ group name is also called Lichee Pill Alchemy Group
xiaohui and wipping started to try to port Micropython
K210 SDK was replaced from freertos to standalone SDK, and the on-chip peripheral driver adaptation was started
neucrack, xel and zepan join the project team
Release the first version of the firmware v0.1.1 beta, support basic peripherals, inherit the image sensor lcd API of openmv, Equipped with some open source tools such as upyloader, armpy, etc., write documents and publish them on maixpy.sipeed.com
In addition, there are also two new development boards, Maix bit and Maix Go.
Xiaohui left the project team
Release the second version of the firmware v0.2.4, adding support for jpeg, wav, kpu, nes, avi, lvgl, etc.
Adapted to OpenMV IDE, which is MaixPy IDE, based on the original software, only USB communication is changed to serial communication supported by k210, and other functions remain unchanged
The pre-compiled firmware began to differentiate the function into multiple firmware, mainly considering the problem of insufficient memory in the running model
wipping left the project team, zepan and xel focused on other project teams
The project structure was refactored. Previously, the code was directly added to the directory structure of micropython and the code was added to the port directory. However, there would be a problem, that is, updating the micropython program becomes more troublesome, and you need to separate the code added by micropython and MaixPy , And the old code structure is too messy, the Makefile is not very well written, and the build is slow.
So with the current directory structure, cmake + kconfig is used to build the project, and each component is modularized, and you can choose whether to compile into the firmware. The compilation framework is [here](https://github.com/Neutree/ c_cpp_project_framework). But there are still some remaining problems. There are some legacy codes under the directory that are not fully coupled.
Added support for M5Stick-V development board, maintained by Martin Han
Maixhub is online, used for online model training, only need to upload data set without writing code
Hardware update: online M1N module, golden finger module
Sugar Lao Duck Join the project team
Big Rats Join the project team
Hardware update: Maix Cube development board is online
Add board-level configuration files for different boards, put them in the file system, and read them after booting. This is mainly because Cube and Amigo add power chips. In order to use them normally, you must first set the power chip when booting.
Hardware update: Maix Amigo development board is online, with a shell added
Reorganize the documents, more perfect documents and communities