The data is just stored in an array within the Python daemon. The ATMega32U4 just sends commands to set / get the values, so there is no limit imposed by the ATMega side of things.
The only limit is the size of the array in Python, and that is restricted by:
- The amount of available memory in Linux, and
- Whether or not you have swap space set up on the Yun
Since both those are very much variable (it depends what processes you have running, what your configuration is, etc) the answer can only really be:
Putting memory aside for a moment, an answer to this question on SO states:
According to the source code, the maximum size of a list is PY_SSIZE_T_MAX/sizeof(PyObject*) . On a regular 32bit system, this is (4294967295 / 2) / 4 or 536870912. Therefore the maximum size of a python list on a 32 bit system is 536,870,912 elements.
So you have the smaller of:
- The maximum you can fit in Linux's memory, and
- 536,870,912