I2C freezes when more sensors are interfaced with arduino

Hello all,
I am working on a project where i am interfacing 32x32 sensors with the arduino through row and column multiplxers. I have a chip that digitises the sensor data and sends it to Arduino using the i2c communication protocol. When I screenprint the data obtained in a 16x16 matrix (for 16x16 sensors), it works perfectly fine. But when I try to do it for 32*32, the Arduino freezes. . Please help.

I moved your topic to an appropriate forum category @kapple1736.

In the future, please take some time to pick the forum category that best suits the subject of your topic. There is an "About the _____ category" topic at the top of each category that explains its purpose.

This is an important part of responsible forum usage, as explained in the "How to get the best out of this forum" guide. The guide contains a lot of other useful information. Please read it.

Thanks in advance for your cooperation.

1 Like

Hi, @kapple1736
What model Arduino?
What speed is your serial print to the IDE monitor?

Tom.. :smiley: :+1: :coffee: :australia:

it is 9600
and I have also tried 115200.

it is arduino uno .

Hello kapple1736

Check your hardware setup wrt to the I²C spec and termination resitors configuration.

How much dynamic (RAM) memory does an Arduino Uno have?


How much dynamic memory will this array require?

How much would a 16x16 array require?

Please never post screen shots of code or error messages. Copy the text of the code or error message and paste it into your post between code tags.

3 Likes

The termination resistors mentioned by the datasheet is 10K. But I have tried with 4.7K as well.

Freezing of Arduino is due to I2C communication, nothing to do with dynamic memory. I am saying this bcoz I have worked with more than this when I don't use the chip which works on i2c protocol.

Wrong. Answer the question about how much memory that array requires.

For future adventures, under IDE preferences, turn on the "verbose" compiler and linker option, and you will be warned about such silly mistakes. It is also a good idea to pay attention to the messages emitted after compilation and linking.

2 Likes

6157 bytes

The correct answer is 4096 bytes.

Now answer the question about how much RAM memory the Uno has.

2 Likes

it is always on.

Correct. it is showing 4120.

The screenshot is the output of the loader, not the compiler/linker, which informs you of dynamic memory usage.

2 Likes

The amount of flash that is written is different than the amount of SRAM/dynamic memory available for the 4096 byte array.

On an Uno:

1 Like

Sorry for this. Not too much expert in the embedded systems.

Post all the Arduino source, using code tags.

2 Likes

You mean to say the code that i am currently running.