Using other ATMEL Microprocessors

Good Day,

I have an Arduino Uno board (standard ATmega328P) and I am running out of Program Storage Space and Dynamic Memory as my application uses quite a few libraries to interface to various components.

Is it possible to upgrade to a better ATMEL micro-controller while using the UNO board to program it?

Can someone suggest a DIP package upgrade?


Sorry, but it's a "no".
You can upgrade to the Arduino Mega 2560 board.

Or you could add a second Arduino board, that has its own task.

Some libraries are very large. For example the graphics libraries (from Adafruit for example).

Every function from a library that is used, gets into the ATmega328P chip. If you use less different functions, the code becomes smaller.
Sometimes it is possible to avoid floating point at all.

Do you have many pieces of code that look the same ? Perhaps you make a smaller function for that.

It is possible to store data in the EEPROM, but then the functions to read and write the EEPROM are linked in.

Did you use the PROGMEM and F() macro ? to reduce the ram usage.

If you are using a Ethernet Shield with an Arduino Uno, then you have no other choice but to upgrade to the Arduino Mega 2560.

Well, these are just some ideas that popped up, I hope they will help you somehow :wink:

You can use ATMEGA1284P that has a dip version. Look in to bobuino that uses this chip. 128KB FLASH and 16KB SRAM.

Here's a 1284P in Uno footprint, other form factors also available, like the small Bobweeny, and a full up project type board with signal/power/gnd at each header location, 10 extra IO, RS232 buffer available for the 2nd hardware UART, SD card with buffered IO, battery backed DS1307, some prototype area, and optional screw terminal kit available.
Only 1/2 of the 5V to 3.3v buffer chip was used, so 3 buffers are free to run additional signals thru (74HC4050), same on the 3.3V to 5V buffer for MISO, 3 buffers are free to run signals thru (74HC125).
Prices and schematics here

The FTDI USB/Serial module can be mounted onboard or plugged in as an offboard module to suit your project needs.