Calcular el tamaño que va a ocupar un código en Arduino

Buenos días,

Estoy realizando un proyecto que utiliza una cantidad considerable se librerías y funciones. He realizado cada parte por separado para finalmente unificarlo en un único código. Utilizo el arduino nano y a la hora de cargar el código, tengo problemas de memoria.

Hasta aquí todo correcto, pero yo me pregunto ¿Cómo podía saberlo de antemano? Es decir, quisiera saber cuál es la forma, si es que existe, de calcular aproximadamente cuánta memoria va a ocupar un código sabiendo las librerías de las cuales necesita algunas funciones y, en general las funciones que utiliza, o incluso la cantidad de variables globales y los tipos. Estoy realizando una memoria del proyecto y por eso necesitaría explicar el problema de un forma algo detallada.

No sé si se trata de mirar, por ejemplo, lo que pesa el zip de una librería, o cuánto pesa el código si lo guardo en un archivo de texto. O si tengo que coger el tamaño de cada variable global tipo int o string por ejemplo y sumar una cierta cantidad de bits/memoria que ocupa.

A lo mejor estoy completamente desencaminada, pero agradecería alguna guía o alguna forma de comenzar al menos, para poder saber sin probarlo por ejemplo si el mismo código funcionaría en Arduino Uno/Mega..

Trato de buscar por internet pero no encuentro solución o datos que me permitan empezar a hacer el cálculo y saber si voy en buena dirección.