А в чем проблема-то с его аж 16кБ флеша? У меня и под STM32-то прошивки (даже с USB и CAN одновременно) очень редко выходят за пределы 10-12кБ. Разве что шрифты загружу…
Вот, проверил: из 98 бинарников в моих "сниппетах" только 10 не влезут в 16кБ. Подавляющее большинство - из-за шрифтов. И только один (независимая управлялка тремя шаговиками с обратной связью) — из-за очень жирного протокола и адовой перегрузки функциями, обобщающими протоколы CAN и USB:
Memory region Used Size Region Size %age Used
rom: 28 KB 384 KB 7.29%
ram: 2596 B 64 KB 3.96%
ccmram: 0 GB 16 KB 0.00%
/opt/bin/arm-none-eabi-size mk/multistepper.elf
text data bss dec hex filename
27092 972 2624 30688 77e0 mk/multistepper.elf
Туточки лежит: https://github.com/eddyem/stm32samples/tree/master/F3%3AF303/Multistepper