diff --git a/FAQ.md b/FAQ.md index 62a2aef..f68753c 100644 --- a/FAQ.md +++ b/FAQ.md @@ -6,7 +6,7 @@ **How big is MicroPython? How much memory does it take?** -> You can see sizes of various configurations (as well as how they change over time) at http://micropython.org/resources/code-dashboard/ . Generally, we keep minimal configuration of MicroPython under 80K of ARM Thumb2 code. That means Cortex-M microcontroller with 128KB of flash can host a minimal version together with some hardware drivers. More full-fledged configurations take more space, for example "stmhal" (advanced microcontroller support) and "unix" (desktop-capable) ports are around 280KB. +> You can see sizes of various configurations (as well as how they change over time) at http://micropython.org/resources/code-dashboard/ . Generally, we keep minimal configuration of MicroPython under 80K of ARM Thumb2 code (which includes compiler and interactive prompt, much less size can be achieved disabling those). That means a Cortex-M microcontroller with 128KB of flash can host a minimal version together with some hardware drivers. More full-fledged configurations take more space, for example "stmhal" (advanced microcontroller support) and "unix" (desktop-capable) ports are around 280KB. > Regarding RAM usage, MicroPython can *start up* with 2KB of heap. Adding stack and required static memory, a 4KB microcontroller could start a MicroPython, but hardly could go further than interpreting simple expressions. Thus, 8KB is minimal amount to run simple scripts. As Python is interpreted high-level language, the more memory you have, the more capable applications you can run. The reference MicroPython board, PyBoard, has 128KB of RAM.