PikaPython
An ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies. It is ready to use out of the box without any configuration required and easy to extend with C. Similar project: MicroPython, JerryScript.
Install / Use
/learn @pikasTech/PikaPythonREADME
1. Abstract
PikaPython is an ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies. It is ready to use out of the box without any configuration required and easy to extend with C.
PikaPython also known as PikaScript and PikaPy.
<img src="https://user-images.githubusercontent.com/88232613/147799704-d79345da-a2b9-4593-b1eb-ff9de127429a.png" width="500"/>It's very easy to bind C function to python module with the help of Pika Pre-compiler.Only write the API of python in .pyi and the bindings are autoly generated by Pre-compiler.

Get pikapython:
Use Online Project Generator
Generator url: http://pikascript.com
Note: You need the Community Edition license (Now Free) to build Keil projects, and the version of Keil should be newer than v5.36.
PikaPython studio
PikaPython serial terminal, script download and package menage tool.
Quick Start
You can use simulation project to quick start without hardware,or use the out-of-the-box develop board Pika-Pi—Zero.

The board based on STM32G030C8T6 MCU, only 64kB Flash, 8kB RAM can run pikapython with total peripheral device (GPIO、TIME、IIC、RGB、KEY、LCD、RGB). CH340 is deployed to support USB to serial with Type-C USB, support download python script py serial, there are 4 RGB on the board and support the LCD.
Related Projects
-
🎮 MicroLink 一款集多功能于一体的嵌入式系统开发工具
-
⭐ pikapython Bluepill Demo In PlatformIO — Python-like REPL 🐍🔌
-
⏩ pika_startup_demo This program demonstrate the 5 startup methods of pikapython.
-
🎮 PikaPython-OpenHardware PikaPython 开源硬件
-
💻 pikapython-msvc-qt 移植pikapython到windows平台,基于QT,采用MSVC编译器,移植pthread库,支持多线程。
Document
https://pikadoc-en.readthedocs.io/en/latest/index.html
How to contribute
https://pikadoc-en.readthedocs.io/en/latest/%E5%A6%82%E4%BD%95%E5%8F%82%E4%B8%8E%E7%A4%BE%E5%8C%BA%E8%B4%A1%E7%8C%AE.html
Folders
src - core code
bsp - mcu/board support
port - OS and package manager
test - unit test
document - developt document
examples - example scripts
package - packages and moudles
pikaCompiler - pre-compiler write by Rust, used to bind C function to python moudle.
pikaPackageManager - pacakge manager
2.Platform support
MCU support
|MCU |bsp|gpio|time|uart|pwm|adc|i2c|dac| |--- |---|--- |--- |--- |---|---|---|---| |stm32g030c8 |√ |√ |√ |√ |√ |√ |√ | | |stm32g070cB |√ |√ |√ |√ |√ |√ |√ | | |stm32f103c8 |√ |√ |√ |√ |√ |√ |√ | | |stm32f103rb |√ |√ |√ |√ |√ |√ |√ | | |stm32f103ze |√ |√ |√ |√ |√ |√ |√ | | |stm32f103rc |√ |√ |√ |√ |√ |√ |√ | | |stm32f401cc |√ |√ |√ |√ |√ |√ |√ | | |stm32f411ce |√ |√ |√ |√ |√ |√ |√ | | |stm32f407ze |√ | | | | | | | | |stm32f407zg |√ | | | | | | | | |stm32h750vb |√ | | | | | | | | |stm32f051r8 |√ | | | | | | | | |air32f103cb |√ |√ |√ | | | | | | |ch582 |√ |√ |√ |√ | |√ |√ | | |ch32v103r8t6 |√ |√ |√ | | | | | | |cm32m101a |√ | | | | | | | | |w806 |√ |√ |√ |√ |√ |√ |√ | | |apm32f030r8 |√ | | | | | | | | |apm32e103vb |√ | | | | | | | | |bl-602 |√ |√ | | |√ |√ | |√ | |bl-706 |√ | | | | | | | | |bl-618|√ | √ | √ | √ | √ | √ | √ | √ | |Raspberry Pico |√ | | | | | | | | |ESP32C3 |√ |√ |√ | | | | | | |TC264D |√ | | | | | | | | |devc |√ | | | | | | | | |visual-studio |√ | | | | | | | | |EC600N |√ | | | | | | | | |mm32f5277e9p |√ |√ | | | | | | | |xr806(openharmony)|√ | | | | | | | |
Board support
|Board|bsp|gpio|uart|pwm|adc|i2c|rgb|lcd|arm-2d| |---|---|---|---|---|---|---|---|---|---| |Pika-Pi-Zero|√|√|√|√|√|√|√|√|√|
|Board|bsp|pika_lvgl| |---|---|---| |lvgl-vs-simu|√|√| |swm320|√|√|
|Board|bsp|arm-2d| |---|---|---| |QEMU-arm2d|√|√|
|Board|bsp|LED|KEY| |---|---|---|---| |SmartLoong|√|√|√|√|
OS support
|OS|port|GPIO|TIME|PWM| |---|---|---|---|---| |RT-Thread|√|√|√|√| |vsf|√|√| | |
|OS|port|Google Test|Benchmark| |---|---|---|---| |linux|√|√|√|
3.Characteristic
(1)Run environment
Support run in mcu without OS or file system. Can run in everywhere with RAM ≥ 4kB and FLASH ≥ 64kB,such as stm32g030, stm32f103c8t6,esp8266.
(2)Develop enviroment
Support REPL by serial.
<img src="assets/1641178790145-2f026e70-4ba1-4e9a-b05f-c602b2bd8cad.png" width="400" alt="微信交流群"/><br/>
Support run and program python scripts by serial.
<img src="document/image/134841230-85de6734-8467-4245-93a5-d452b5022b42.gif" width="400" alt="微信交流群"/><br/>
Support IDEs like Keil, IAR, RT-Thread studio and segger embedded studio to develop C moudle.
Support build tools like CMake, makeFile and Scons.
Zero dependencies, zero configuration, out-of-the-box, easy to integrated into privious C projcet.
Eazy to extern customized C moudles.
Support linux.
(3)Syntax
Support subaggregate of python 3 standard syntax.
Support class and method define, encapsulation-inheritance-polymorphism and moudles in .pyi of C module.
|Syntax|Compile-Time|Run-Time|Shell| |---|---|---|---| |Module Define |√|-|-| |Module Import |√|√|√| |Class Define |√|√|√| |Class Inherit |
Related Skills
node-connect
329.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
openai-image-gen
329.7kBatch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
claude-opus-4-5-migration
81.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
81.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.



