A weblog focused on interesting circuits, ideas, schematics and other information about microelectronics and microcontrollers.
A Python interpreter for microcontrollers with resources as limited as 64 KB of program memory (flash) and 4 KB of RAM.
Cite: PyMite's first target device was the Atmel AtMega103 that was used in the author's control board for mobile robotics. PyMite has since been made to support any device in the AVR family that has at least 64 KiB program memory and 4 KiB RAM. The second target device is Atmel's ARM7TDMI family, a.k.a. the SAM7 family. This is a 32-bit platform with no MMU.
Porting to a new 8-bit or 32-bit platform is extremely easy. Usually only one function to access a device's special memory areas needs to be written. PyMite has no external dependencies unless compiling for the Desktop where printf() is used to display debug messages.
PyMite supports a subset of the Python syntax and can execute a subset of its bytecodes. PyMite can also be compiled, tested and executed on a desktop computer.
PyMite is targeted toward microcontrollers with extremely limited program memory and RAM. In order to operate in this embedded environment, PyMite sacrifices many features found in desktop Python. However, the author believes that enough of Python's core abilities are present in PyMite to make PyMite valuable embedded programming platform.