Язык Arduino С++ подобный, поэтому, скорее всего можно использовать указатели в нём, как массивы.
Можно использовать вместо обычного массива указатель, тогда просто
int* data = new int[8]{1,2,3...8};
delete[] data;
data = new int[4]{1,2,3,4};
Возможно, в нём не будет операторов new и delete, как в c++, но могут быть методы malloc и free, как в си.
Если и их нет, то, скорее всего, нужно просто обходиться массивом фиксированного размера и просто при необходимости не допускать использование "обрезанной" части массива.