I need array assistance.

My goal is to collect the data every one millisecond.

Your code is not doing that though, it's sampling every loop.

MyArray1[MyIndex] = millis();

MyArray1 is an array of ints, you're sticking longs into it. (How does that compile? It does I tried it.)

so am i limited to 2k for data?

Yep, unless you get a Mega which has 8k or one of the 1284-based clones which have 16k.

As AWOL says though, if you are sampling at regular times you don't need timestamps in the first place, that will save a motsa of data space.

 MyIndex = MyIndex + 1;

MyIndex never gets reset to 0, so after the first 700 loop()s it's off into la la land.


Rob