Arduino UNO*Pro ATmega1284P 40-pin DIP IC with bootloader

Along with our Arduino UNO*Pro Upgrade board we now have the ATmega1284P 40-pin DIL IC with the Arduino Bootloader installed.

Please check out the details for Arduino Library support and how to add the UNO*Pro chip to the Arduino IDE below.

Programming is done through a serial connection using RX0 and TX0.

ATmega1284P Details

  • MCU, 8BIT, AVR, 128K FLASH, 40PDIP
  • No. of I/O's: 32
  • Supply Voltage Min: 1.8V
  • Supply Voltage Max: 5.5V
  • Program Memory Size: 128KB
  • EEPROM Memory Size: 4KB
  • RAM Memory Size: 16KB
  • CPU Speed: 16MHz (max 20MHz)
  • Peripherals: ADC, Comparator
  • Embedded Interface Type: JTAG, SPI, USART
  • No. of ADC Inputs: 8
  • No. of PWM Channels: 6
  • No. of Timers: 4
  • Serial Ports: 2

Pinout

Atmel ATmega644 pinout

Arduino Library Compatibility

The UNO*Pro is compatible with most of the standard (and third party) Arduino Libraries. However, some of the libraries have small sections of code for specific chips (e.g. ATmega328, ATmega2560 etc). As the ATmega1284 is not used on any standard Arduino boards these code sections are missing. It is easy enough to modify the libraries for the UNO*Pro, and here are the libraries known to be affected.

Ethernet Library

In the "Ethernet/src/utility" directory, file w5100.h there is a section of code thus.

#if defined(ARDUINO_ARCH_AVR)
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
...

The ATmega1284 chip is not listed here, and the correct settings are the same as the ATmega1280/2560. So, edit the file and replace this line

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)

with

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1284P__)

GSM Library

In file GSM3IO.h, searchg for the line starting with

#if defined(__AVR_ATmega328P__)
#define __TXPIN__ 3
#define __RXPIN__ 2
#define __RXINT__ 3

And replace with

#if defined(__AVR_ATmega328P__)  || defined(__AVR_ATmega1284P__)
#define __TXPIN__ 3
#define __RXPIN__ 2
#define __RXINT__ 3

Adding the UNO*Pro board to Arduino IDE

Before you can use your new UNO*Pro, you need to add support for the ATmega1284 chip to the Arduino IDE

Arduino 1.05 or below

If you are using Arduino 1.0.5 or below then download the Arduino ATmega1284 support files below and copy the atmega1284p directory into your arduino/hardware directory.

UNO Pro Installation Directory

Arduino 1.5.5 and above

If you are using Arduino 1.5.5 or later then installation is simpler.

Under the hardware/arduino/avr/variants directory create a new directory called uno_pro

  • In latest latest versions of the Arduino IDE it stores its settings in a different location
    For version 1.6.12 for example it will be something like
    C:\Users\________\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.12\

Into this directory place the file pins_arduino.h

Next, open the hardware\arduino\avr\boards.txt file with a text editor and add the following entries for the UNO*Pro board

##############################################################

uno_pro.name=Arduino Uno*Pro

uno_pro.upload.tool=avrdude
uno_pro.upload.protocol=arduino
uno_pro.upload.maximum_size=130048
uno_pro.upload.maximum_data_size=16384
uno_pro.upload.speed=115200

uno_pro.bootloader.tool=avrdude
uno_pro.bootloader.low_fuses=0xFF
uno_pro.bootloader.high_fuses=0xDE
uno_pro.bootloader.extended_fuses=0xFD
uno_pro.bootloader.unlock_bits=0x3F
uno_pro.bootloader.lock_bits=0x0F
uno_pro.bootloader.file=optiboot/optiboot_atmega1284p.hex

uno_pro.build.mcu=atmega1284p
uno_pro.build.f_cpu=16000000L
uno_pro.build.board=AVR_UNO_PRO
uno_pro.build.core=arduino
uno_pro.build.variant=uno_pro

##############################################################

Programming the new UNO*Pro

Programming your upgraded UNO*Pro board is just the same as before using the normal Arduino IDE software. The only difference is that you need to select Arduino UNO*Pro rather than Arduino Uno from the Boards menu.

Start up the Arduino IDE and select Arduino UNO*Pro.

Arduino IDE

Documents

ATmega1284 Datasheet

Write a review

Please login or register to review

Arduino UNO*Pro ATmega1284P 40-pin DIP IC with bootloader

  • Manufacturer: HobbyTronics
  • Product Code: UNOPRO-1284P
  • Availability:  7 - 10 days
  • £7.80

  • Ex Tax: £6.50

Related Products

ATmega328 with Arduino 16MHz Bootloader

ATmega328 with Arduino 16MHz Bootloader

ATmega328 with Arduino 16MHz Bootloader The name says it all on this one. An ATmega328 in DIP..

£4.20 Ex Tax: £3.50

Low Profile Crystal and 2x Caps

Low Profile Crystal and 2x Caps

A range of low profile Xtals and associated pair of capacitors for use in Microcontroller oscilla..

£0.42 Ex Tax: £0.35

FTDI Basic Breakout - 5V

FTDI Basic Breakout - 5V

Sparkfun FTDI Basic Breakout (5V) The FTDI Basic Breakout (5V) is a basic breakout board for ..

£12.00 Ex Tax: £10.00

Atmel ATmega328P-U

Atmel ATmega328P-U

Atmel ATmega328P-U This is the Atmel ATmega328P chip used in many hobby projects and the basi..

£3.00 Ex Tax: £2.50

Atmel ATtiny85 20MHz

Atmel ATtiny85 20MHz

Atmel ATtiny85 8-pin 20MHz Microcontroller This is a great little microcontroller with an ..

£1.44 Ex Tax: £1.20

ATmega328 with Arduino 8MHz Bootloader

ATmega328 with Arduino 8MHz Bootloader

ATmega328 with Arduino 8MHz Bootloader - the name says it all on this one. An ATmega328 in DIP pa..

£4.20 Ex Tax: £3.50

Atmel ATtiny45 20MHz

Atmel ATtiny45 20MHz

Atmel ATtiny45 20MHz 8-pin DIL Microcontroller This is a great little microcontroller with..

£1.44 Ex Tax: £1.20

ATmega328P Microcontroller - TQFP

ATmega328P Microcontroller - TQFP

ATmega328P - TQFP This is Atmel's high performance, low power 8-bit AVR ATmega328P-AU mic..

£2.76 Ex Tax: £2.30

Atmel ATtiny2313A-PU AVR 2KB Flash PDIP20 20MHz

Atmel ATtiny2313A-PU AVR 2KB Flash PDIP20 20MHz

Atmel ATtiny2313A-PU AVR 2KB Flash PDIP20 IC, MCU, 8BIT, 2K FLASH, 20PDIP Cont..

£1.08 Ex Tax: £0.90

Atmel ATtiny24A 20PU

Atmel ATtiny24A 20PU

Atmel ATtiny24A 20PU ATtiny24A is a low-power CMOS 8-bit microcontroller based on the AVR enh..

£1.20 Ex Tax: £1.00

Atmel ATtiny84 20MHz 8K Flash, 512B RAM

Atmel ATtiny84 20MHz 8K Flash, 512B RAM

Atmel ATtiny84 20MHZ 8K FLASH, 512B RAM ATtiny84 is a low-power CMOS 8-bit microcontroller ba..

£1.92 Ex Tax: £1.60

Atmel ATtiny85 20MHz SOIC

Atmel ATtiny85 20MHz SOIC

Atmel ATtiny85 8-pin 20MHz Microcontroller - SOIC This is a great little microcontroller with..

£2.16 Ex Tax: £1.80

Atmel ATmega32U4 44-pin TQFP

Atmel ATmega32U4 44-pin TQFP

Atmel ATmega32U4 44-pin TQFP This is the Atmel ATmega32U4 chip used in Arduino Leonardo board..

£5.40 Ex Tax: £4.50

FTDI Basic Breakout Plus 5V/3.3V

FTDI Basic Breakout Plus 5V/3.3V

Hobbytronics FTDI Basic Breakout Plus 5V/3.3V The Hobbytronics FTDI Basic Breakout Plus is a ..

£10.80 Ex Tax: £9.00

Atmel ATmega328-PU

Atmel ATmega328-PU

Atmel ATmega328 This is the Atmel ATmega328 chip used in many hobby projects. The high-pe..

£2.82 Ex Tax: £2.35

Tags: Atmel, ATmega, mega, 1284p, atmega1284, 128K, Flash, 5V, PDIP40, dil40, microcontroller, ATMEGA1284-PU Atmel, UNOPRO-1284P, breadboard, develop, prototyping, IC, chip, HobbyTronics