{"id":14967285,"url":"https://github.com/loboris/micropython_k210_lobo","last_synced_at":"2025-07-03T12:05:03.277Z","repository":{"id":50099758,"uuid":"167405887","full_name":"loboris/MicroPython_K210_LoBo","owner":"loboris","description":"MicroPython implementation for Kendryte K210","archived":false,"fork":false,"pushed_at":"2022-12-02T04:10:28.000Z","size":156813,"stargazers_count":130,"open_issues_count":16,"forks_count":24,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-04-07T09:52:02.446Z","etag":null,"topics":["k210","kendryte","maixpy","micropython","sipeed"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loboris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"loboris","custom":"https://www.paypal.me/BLovosevic"}},"created_at":"2019-01-24T17:13:25.000Z","updated_at":"2025-04-02T01:46:07.000Z","dependencies_parsed_at":"2023-01-23T06:01:18.798Z","dependency_job_id":null,"html_url":"https://github.com/loboris/MicroPython_K210_LoBo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/loboris/MicroPython_K210_LoBo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loboris%2FMicroPython_K210_LoBo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loboris%2FMicroPython_K210_LoBo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loboris%2FMicroPython_K210_LoBo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loboris%2FMicroPython_K210_LoBo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loboris","download_url":"https://codeload.github.com/loboris/MicroPython_K210_LoBo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loboris%2FMicroPython_K210_LoBo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263322786,"owners_count":23448712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["k210","kendryte","maixpy","micropython","sipeed"],"created_at":"2024-09-24T13:37:47.457Z","updated_at":"2025-07-03T12:05:03.253Z","avatar_url":"https://github.com/loboris.png","language":"C","funding_links":["https://github.com/sponsors/loboris","https://www.paypal.me/BLovosevic"],"categories":[],"sub_categories":[],"readme":"# MicroPython for Kendryte K210\n\n\n\u003e This MicroPython port is now in a stable phase, but some bugs and issues can be expected, please report\u003cbr\u003e\n\u003e All standard MicroPython functionality and modules are implemented, as well as advanced thread support, file system support, display module, network, enhanced K210 peripheral support ...\u003cbr\u003e\n\u003e *Modules providing support for still unsupported K210 peripherals will be implemented soon*\n\u003e \n\n***\n\n\u003e For discussion about this MicroPython port please visit the [dedicated Forum](https://loboris.eu/forum/forumdisplay.php?fid=17)\n\n***\n\n[Wiki pages](https://github.com/loboris/MicroPython_K210_LoBo/wiki) are provided with detailed information about usage, classes, methods ... (not yet complete)\n\n***\n\n_**If you find this project useful, you can contribute by making a donation**_.\u0026nbsp;\u0026nbsp;[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/BLovosevic)\n\n***\n\nThis implementation was based on Sipeed [**MaixPy**](https://github.com/sipeed/MaixPy), but it diverged from it and is now a completely independent project.\u003cbr\u003e\n\n### Main features:\n\n* Based on **kendryte-freertos-sdk**, modified to include some needed features not yet implemented and enhanced drivers support\n* **MicroPython core** based on **latest release** build from [main Micropython repository](https://github.com/micropython/micropython)\u003cbr\u003eUnchanged except for the *thread* support and other changes needed to work with 64-bit RISC-V.\n* `BUILD.sh` script is provided to make building MicroPython firmware as easy as possible\n* Running **two** independent **Micropython instances** on **two K210 cores** is supported.\u003cbr\u003eRich set of functions for data exchange between instances is provided.\n* Refactored **_thread** module with many new features, based on my MicroPython for ESP32 thread module.\u003cbr\u003e\nRich set of threads related methods, including inter-thread notifications and messages.\n* Full support for **LittleFS** as default file system on internal Flash.\u003cbr\u003e\nLittleFS **file system image** can be prepared on host and flashed to the board.\u003cbr\u003e\nSPIFFS is also supported (with directories support) and can be selected when building.\n* Full support for Fat32 file system on **external SD Card**\n* Full **file timestamp** support for LittleFS, SPIFFS and Fat32\n* improved **utime** module, all time related values are handled as 64-bit values\n* **SRAM** buffer is provided with content preserved after reset, accessible via `machine.mem_xxx` methods\n* **uart** module, compatible with the uart module on my ESP32 port\u003cbr\u003ebuffered, interrupt based input with callbacks on events\n* **Pin** module, compatible with the Pin module on my ESP32 port\n* **i2c** module, **master** \u0026 **slave**, compatible with the i2c module on my ESP32 port\u003cbr\u003eSSD1306 module provided as MicroPython frozen module\n* **spi** module, **master** \u0026 **slave**, compatible with the spi module on my ESP32 port with added slave support\n* **WS2812** (neopyxel) support, using **spi** module\n* **Timer** and **PWM** modules\n* **OneWire** \u0026 **DS18x20** module\n* **ymodem** module for file transfer to/from K210 board using ymodem protocol is provided\n* **uhashlib** and **ucryptolib** using K210 hardware AES are implemented\n* **Display** module ported from my MicroPython for ESP32 display module\u003cbr\u003eRich set of drawing methods, direct write or **framebuffer**, *jpeg*, *bmp* and *raw* image format\u003cbr\u003eFlexible fonts support (fixed width and proportional) with user fonts loadable from file (online *Font creator* provided)\n* Full **network** support for **WiFi** (based on ESP8266/ESP8285) and **GSM** modules.\n  * My own **ESP8266/ESP8285 firmware** is provided with enhanced features and OTA firmware update support\n  * **PPPoS** support for GSM modules\n  * full **SMS** support for GSM modules with collbacks on SMS receive\n  * flexible and feature rich **AT command** method is provided for both WiFi and GSM modules\n  * Full MicroPython **socket module** compatibility, with some additional features. FTP Server and Web Server examples are available.\n  * **urequests** module (written in C) supporting all http request methods, http and https ( SSL/TLS, on WiFi, only)\n  * Full featured **mqtt module** (written in C) with callbacks on all events\n  * **FTP Server** and **Web Server** provided as **frozen modules**\n* **usqlite3** module, data base on internal flash or SD Card, in-memory database supported\n* **Boot menu**, invoked by external pin, is provided which can help solve some issues.\u003cbr\u003eOptions to prevent loading of *boot.py* and/or *main.py*, force format of the internal file system, load the default configuration ...\n* Many **configuration options** can be configured directly from MicroPython (saved on Flash):\n  * running two MicroPython instances\n  * heap and stack sizes\n  * using PyStack\n  * default CPU frequency\n  * default REPL baudrate\n  * boot menu pin\n  * default log level\n  * using ansi colors\n  * MicroPython VM divisor\n* **pye**, full screen file editor (as MicroPython **frozen module**) is provided\n* **MPyTerm**, serial terminal emulator specially designed for MicroPython is provided.\u003cbr\u003e\nIncluded are commands to synchronize MicroPython time from PC, change the REPL baudrate, transfer files to/from MicroPython filesystem (including transferring whole directories).\u003cbr\u003eFast block file transfer is used, protected with CRC.\n* **Eclipse** project files included.\u003cbr\u003eTo include it into Eclipse goto:\u003cbr\u003e `File-\u003eImport-\u003eGeneral-\u003eExisting Projects into Workspace`\u003cbr\u003e`Select root directory` [select *MicroPython_K210_LoBo* directory]\u003cbr\u003e`Finish`.\u003cbr\u003eRebuild index\u003cbr\u003eExecute `Index-\u003eFreshen All Files`.\n* Many modules from my [MicroPython for ESP32](https://github.com/loboris/MicroPython_ESP32_psRAM_LoBo/wiki) port are already ported, porting some others is planned.\n* _More to come soon ..._\n\n\u003cbr\u003e\n\n***\n\nThis MicroPython port was tested on **Sipeed's MAIX** boards.\u003cbr\u003e\nHere are some links to the distributors:\n\n[Seed](https://www.seeedstudio.com/sipeed)\u003cbr\u003e\n[AnalogLamb](https://www.analoglamb.com/product/sipeed-maix-bit-for-risc-v-aiiot-with-lcdcamera-development-board/)\u003cbr\u003e\n[Banggood](https://www.banggood.com/search/sipeed.html?sbc=1) (prices to high)\u003cbr\u003e\u003cbr\u003e\nIt should also work on [Kendryte KD233](https://www.analoglamb.com/product/dual-core-risc-v-64bit-k210-ai-board-kendryte-kd233/), probably with some modifications, but it was not tested.\n\n---\n\nFor build instructions see the [Wiki](https://github.com/loboris/MicroPython_K210_LoBo/wiki/build).\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floboris%2Fmicropython_k210_lobo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floboris%2Fmicropython_k210_lobo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floboris%2Fmicropython_k210_lobo/lists"}