From 2101ac5f8db7d608adaf3fa0f214c10770d4d9d3 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Mon, 11 Dec 2017 09:57:55 +0200 Subject: [PATCH] Add tl;dr for "How big is MicroPython?" --- FAQ.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/FAQ.md b/FAQ.md index 518f225..19e35a2 100644 --- a/FAQ.md +++ b/FAQ.md @@ -4,6 +4,8 @@ **How big is MicroPython? How much memory does it take?** +> TL;DR: 128K ROM/8K RAM is the recommended minimum configuration for doing something "real". You can easily go below (or above) that, see below. + > 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.