Hola, recien leo tu mensaje, dos cositas para recomendarte según mi humilde opinion. En un micro con pocos recursos de RAM no es recomendable utilizar memoria dinamica, siempre se puede resolver con alocacion estatica y si la RAM te queda chica podes usar uniones. El tema de la memoria dinamica es que si te la pasas alocando y liberando llegas a punto que se producen gaps ( agujeros ) que nunca mas son utilizibables.
Con respecto a tocar un un define en el header ( LIBDEF_HEAPSIZE ) el cambio no es transparante, sino que te obliga a recompilar toda la libreria en cuestion, algo no recomendable.
Saludos !