Как подобрать STM32?
В общем случае выбор конкретного микроконтроллера зависит от задачи и вашего личного опыта. Если вы хорошо знакомы с линейкой, или несколькими, микроконтроллеров, знаете, какие технологии в них доступны и как вы их будете применять, хорошо представляете себе задачу и архитектуру будущего приложения, то выбор конкретного микроконтроллера, как правило не составляет труда. 
В особых случаях, когда вам не известна архитектура будущего приложения и/или возможности конкретного микроконтроллера, приобретается различные Средства Разработки Микроконтроллеров - отладочные, или по-другому, оценочные платы, выпускаемые производителями микроконтроллеров. На этих платах установлен интересующий вас микроконтроллер, как правило, со всевозможной периферией и предзагруженной прошивкой - для тестирования, чтобы поиграться. Для микроконтроллера на этой отладочной плате пишется некоторая часть ПО и в какой-то момент становится ясно, хватит ли мощности данного микроконтроллера. Бывает, что выбранный микроконтроллер слишком мощный, а значит и слишком дорогой для целевой задачи, тогда можно перейти на контроллер попроще и подешевле.
Однако в реальной жизни даже опытные разработчики могут столкнуться с недостатком вычислительной мощности или недостаточным объемом RAM/ROM где-то в середине/конце сдачи изделия, и тогда ничего другого не остается, кроме как заменить существующий микроконтроллер на более мощный, с большим объемом памяти, или, например, на контроллер со специфичной периферией. Печатную плату приходится переделывать, но это, как правило, обходится малой кровью, хотя бывают и совсем бескровные переделки - например, когда производитель выпускает линейку микроконтроллеров различных по мощности и цене, но совместимых по посадочным площадкам (т.н. пин-ту-пин совместимость). 
Надеюсь, ответил на ваш вопрос.
объем програмки зависит только от используемого ПО.
будешь писать на ассемблере/С получишь маленький объем.
будешь писать на высомудреных языках - потеряешь кучу памяти на дополнительных обвесах, проверках, функциональности и прочия.
ну и плюс размер библиотек, размер интерпертаров в случае всяких node.js micropython
решать тебе