Better alternative for MEGA

I'm on a project that uses MLX90640 thermal sensor but my MEGA has insufficient memory.can someone suggest a better and stronger alternative that is compatible with arduino and can handle the sensor?

any 32 bit Arduino compatible board probably will have enough memory

Welcome to the forum

Your topic was MOVED to its current forum category which is more appropriate than the original as it has nothing to do with Installation and Troubleshooting of the IDE

For that alone? Or more stuff, too? Maybe your project uses Mega memory inefficiently. Post your code and often people can point out memory saving techniques.

Lots of the ARM and ESP boards have "more memory."
Do you need lots of pins as well? I think the state-of-the-art Mega replacement is probably Adafruit's SAMD51-based "Grand Central M4 Express", but it is a 3.3V board.

suggest looking at an Arduino due more powerful, more flash and SRAM than Mega - similar footprint but it is a 3.3V logic board

More flash or more SRAM?

More RAM

The MLX90640 is an IR Thermal Camera that delivers a matrix scan (24x32 array of IR thermal sensors)

Adafruit recommends

you'll need a processor with at least 20KB RAM - a SAMD21 (M0) or SAMD51 (M4) chipset will do nicely

I must be missing something here, I don't see why you need that amount of memory?

I am presuming Adafruit have given this figure because of program size and includes the storage array for writing to the LCD.

I know Adafruit have stated the 20KB of ram, but the figures don't add up, unless it is for the above reason.

Each scan produces 768 readings, and is transmitted via I2C, which of course is 768Bytes per scan. Once a read has happened this can be displayed and discarded, unless you intend to save images. If we then decide to store just a one second image, rather than stream it in the flyback time, this grows larger to 12K288 Bytes, still not 20KB

Can someone elucidate.
Just curious

Adafruit's SAMD51-based "Grand Central M4 Express" is a great board. Fast compile and uploads as well.

I use the Teensy 3.2 with the MLX90640, which is fast, and has enough memory to allow one to interpolate images up to much larger sizes.

The data seems to be on 2 bytes as they allocate a larger block

uint16_t eeMLX90640[832];

Or here in the driver

char i2cData[1664] = {0};

And in the examplenb they also allocate 32x24x4 bytes (3072 bytes) so there might be math involved (I have not looked) to get the float from the buffer

float frame[32*24];

But I think this is with the graphic library and lcd

Good Point
Thanks

Here is the data sheet.
https://www.melexis.com/en/documents/documentation/datasheets/datasheet-mlx90640

I just discovered this board AURIX SHIELDBUDDYTC375 DEV KIT.
Has three cores!
300MHz per core!
Seems like 5 serial ports!
5 volt logic!
$$$
image

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.