I consider using arduino as a simple Ethernet/I2C controller. It basically collect data on I2C network and send it over Ethernet.
I haven't purchased the kits as I noticed that ATmega328 has only 2K SRAM.
I need to use a 1K bytes array in my program. Is there enough memory even after I included the Ethernet and Wire lib?
thx!
![]()
I need to use a 1K bytes array in my program.
Why?
storing ID data from 32 RFID readers and required to be indexed
storing ID data from 32 RFID readers
That should take 32 * 12 bytes, or 384 bytes.
and required to be indexed
What is required to be indexed? Why is that required to be indexed?
There are Arduinos, like the Mega, that have more memory.
some more data from eeprom inside the cards
anyway, as the memory size may affect system design, is it possible to estimate memory usage of a sketch?
I wrote something like "byte data[2048];" for a atmega328 board and the compiler didn't see any wrong with it.
I wrote something like "byte data[2048];" for a atmega328 board and the compiler didn't see any wrong with it.
The compiler does not know of the physical limits of the board.
is it possible to estimate memory usage of a sketch?
Yes. But we haven't seen your sketch.
some more data from eeprom inside the cards
If you only give half a question you can only expect half an answer.
I wrote something like "byte data[2048];" for a atmega328 board and the compiler didn't see any wrong with it.
That is right as far as the compiler is concerned their is nothing wrong with it.
You can even write
byte data[63000] and the compiler will not blink at all. Just try using all the bytes though and see how far you get.
is it possible to estimate memory usage of a sketch?
Yes add them up.
16bytes block1 +12bytes ID for each RFID, that is 896bytes.
I will add them up if I know how much Ethernet lib may use.
And I knew there might be some difference between TCP/IP or UDP, server/client.