Atmega644, 1284 Arduino.

Hi All. I recently found out why my code started running erratically: SRAM.
So I decided to use an 644 or 1284 uC. Ive checked a few threads, some are closed, some have bad links. Any straightforward tutorial as to building these on a breadboard? Thanks.

Build up just like a 328 board - 16 MHz xtal, 22 pF caps, 0.1uF caps on VCC/AVCC, 10K pullup resistor, 0.1uF cap for DTR/software reset from FTDI Basic for serial downloads.
I offer boards in several form factors if you want to buy one, Duemilanove-like and others, USB/Serial interface on board or off board:
http://www.crossroadsfencing.com/BobuinoRev17/


Biggest thing to watch for is getting the fuses right - be sure to select full swing crystal oscillator.

Have a look at the MightyCore at Github. It's updated for the latest version of Arduino IDE and supports the ATmega1284p and 644p. Major libraries, such as SD and SPI are working too :slight_smile:

Straightforward tutorial is here on web in "Learning" - Arduino on a breadboard and Arduino ISP (https://www.arduino.cc/en/Tutorial/ArduinoISP). You can use UNO (version with socket) with removed chip and prototype PCB if you want to build yours. I think, the most complicated thing for the beginner is to burn a bootloader. Forum overflows with the "Yikes! Invalid device signature" messages. The all magic is just to be very rigorous in wiring and following the instructions.

Here is my variant: Another Arduino clone with 1284P - Microcontrollers - Arduino Forum

Sorry CrossRoads, when I bought my first and only Genuine ArduinoR3 about a year and a half ago it cost me 410 in our currency. Now a chinese clone sells for 8.000. Thats 2 weeks salary.

Buvar10, I do everything now on breadboard, with and without bootloader, Arduino as ISP, Tinys, 2313s but my last poroject really gave me trouble. I just need more SRAM, so Im movng up, I have to get all files needed, Ive also seen that some solutions only run on V1.0. I really dont care, but Ill take advice, check
the links and report back later.Thanks.

ATMEGA644 is the micro of Wiring board
It can be programmed with Wiring IDE.

For memory : Arduino is a fork of Wiring so main arduino functions are Wiring functions.
In the last arduino IDE for avr part many files whose name recalls "wiring" as wiring.c or wiring_digital.c or WInterrupts, and so on....., are Wiring files.

So get a bare chip and wire up your own. It's not difficult.

Have a look at the MightyCore at Github. It's updated for the latest version of Arduino IDE and supports the ATmega1284p and 644p. Major libraries, such as SD and SPI are working too :slight_smile:

Is it compatible with IDE 1.0.6?

After unZiping the downloaded file into the 'hardware' directory ( as per the instructions) , nothing appears on the list of available boards n in IDE tools menu. (Yes, I did restart the IDE :slight_smile: )

1.0.6 and 1.6.x cores are not compatible.

I recommend using 1.6.5r5 (1.6.6 seems to have some new bugs) at this point.

Watcher:
Is it compatible with IDE 1.0.6?

After unZiping the downloaded file into the 'hardware' directory ( as per the instructions) , nothing appears on the list of available boards n in IDE tools menu. (Yes, I did restart the IDE :slight_smile: )

No, It's not compatible with 1.0.6. The core works with 1.6.6, but I'll recommend sticking with 1.6.5r5 until the dust has settled. The advantage with 1.6.x is that the IDE now support multiple options in the tools menu. You can choose the your microcontroller in one menu, and select the clock frequency in another. Common 3rd party cores, like the ESP8266, STM32 and DrAzzy's cores are updated to work with 1.6.x

I need to make sure that the Arduino Core fully supports the 1284p, including setting the right timers for PWM control, and working at a range of oscillator frequencies. A couple of years ago, the situation was very poor for the 1284p, but recently I've been looking into the 1.6.x code base it seems things are now much better for non-16MHz non-328p AVR MCU.

This post infers that 1.0.6 makes any additional work for 1284p redundant for 1.6.6 or later.

Any views?

Has the job been completely done already?

Jack Christensen's core are updated for 1.6.3. It uses the original Arduino core, as the Arduino team now have included the ATmega1284 in their core.

In the MightyCore I've added support of similar microcontrollers that aren't originally supported. I copied the 1.6.5 core files from the Arduino IDE, and added support for pin compatible versions. I chose to also use the modified copy when compiling code for the ATmega1284, in case the Arduino team chose not to support it anymore or they mess up or change something critical. The MightyCore also support 20MHz, 16MHz, 8MHz and 1MHz out of the box (or should I say ZIP-file? :smiley: )

I belive the job has been done already by Jack Christensen's core, and fleshed out by hansibull in MightyCore - with those cores, it should just work.

The 1284p has a major following around these parts. It's a great chip.

I'll have to try the later IDE versions at some point. I'm still happily coding away in 1.0.6 with my Bobuino defined pinouts.