appendItem to an Array Function?

Now you're using String instead of char array. There are plenty of comments advising against using String variables with a low resourced microcontroller such as the 328P.