Objavljen je izdanak projekta PikaScript 1.8, koji razvija kompaktni motor za pisanje aplikacija za mikrokontrolere na jeziku Python. PikaScript nije vezan uz vanjske ovisnosti i može raditi na mikrokontrolerima s 4 kB RAM-a i 32 kB Flash memorije, kao što su STM32G030C8 i STM32F103C8. U usporedbi, za rad MicroPython-a potrebna su 16 kB RAM-a i 256 kB Flash memorije, dok za Snek trebate 2 kB RAM-a i 32 kB Flash memorije. Kod projekta napisan je na jeziku C i distribuira se pod MIT licencom.
PikaScript pruža podskup jezika Python 3, podržavajući elemente sintakse poput grananja i petlji (if, while, for, else, elif, break, continue), osnovne operatore (+ - * / ), module, enkapsulaciju, nasljeđivanje, polimorfizam, klase i metode. Python skripte se izvršavaju na uređajima nakon prethodne kompilacije — PikaScript prvo pretvara Python kod u unutarnji bajtkod Pika Asm, koji se na krajnjem uređaju izvršava u posebnom virtualnoj mašini Pika Runtime. Podržava rad izravno na hardveru ili u okruženjima RT-Thread, VSF (Versaloon Software Framework) i Linux.

Izdvojena je jednostavnost integracije PikaScript skripti s kodom napisanom u jeziku C — C funkcije mogu se vezati uz kod, što omogućava korištenje iskustava starih projekata napisanih u jeziku C prilikom implementacije PikaScript-a. Za razvoj C-modula mogu se koristiti postojeća razvojna okruženja, kao što su Keil, IAR, RT-Thread Studio i Segger Embedded Studio. Vezivanja se automatski generiraju tijekom faze kompilacije, dovoljno je odrediti API u Python kodu i vezivanje C funkcija na Python module bit će izvršeno tijekom pokretanja Pika Pre-kompilatora.

PikaScript najavljuje podršku za 24 mikrokontrolera, uključujući različite modele stm32g*, stm32f*, stm32h*, WCH ch582, ch32*, WinnerMicro w80*, Geehy apm32*, Bouffalo Lab bl-706, Raspberry Pico, ESP32C3 i Infineon TC264D. Za brzo započinjanje razvoja bez opreme dostupan je simulator ili se nudi razvojna ploča Pika-Pi-Zero temeljena na mikrokontroleru STM32G030C8T6 s 64 kB Flash-a i 8 kB RAM-a, koja podržava standardne perifernije sučelje (GPIO, TIME, IIC, RGB, KEY, LCD, RGB). Razvijači su također pripremili online generator projekata i paket menadžer PikaPackage.
U novoj verziji implementirano je upravljanje memorijom na temelju brojanja referenci i dodana je podrška za virtualne konstruktore (factory method). Provedena je dijagnostika problema s memorijom korištenjem alata valgrind. Dodana je podrška za kompilaciju pc-datoteka Python u bajtkod i pakiranje u firmware. Omogućena je upotreba više Python-datoteka u firmware bez potrebe za korištenjem datotečnog sustava.
Izvor: opennet.ru
