Arduino UNO*Pro - Upgrade

The UNO*Pro is a simple plugin replacement for the existing ATmega328 chip (DIL socket version) and turns your existing UNO (or Duemilanove or Diecimila) into something much closer to a Mega board whilst retaining the UNO form factor and shield compatibility (see below). NOTE: Arduino main board not included.

The Arduino UNO is still the best selling Arduino board on the market, and with good reason - there are a vast range of shields available for the UNO board format.

The UNO is still a great development board, but it loses out to its big brother the Arduino Mega2560 in many areas. The Mega has 4x the flash program space, 8x as much RAM and four times as much eeprom storage space. It also has 4 serial ports and many more IO pins, but comes in a larger format and a number of shields are not compatible due to pin changes. So how can you increase the performance of the Arduino UNO? This is where the UNO*Pro upgrade board comes in.

Shield Compatibility

For the most part, the UNO*Pro should be compatible with most shields designed for the Arduino UNO.

What is the same as an Arduino UNO

All the digital pins D0 through D13

SPI pins (SCK, MISO, MOSI)

Analog inputs A0 - A3

I2C pins (SDA / SCL)

What has changed

Some of the PWM pins have changed. PWM is no longer available on D5, D6 and D11. These PWM outputs have moved to D8, D12 and D13

Analog inputs A4 and A5 are no longer on the same pins as the I2C pins. They are now available on the extra 12 way header

See below for the pinout of the UNO*Pro board and the extra 12 IO pins.

Arduino Library Compatability

The UNO*Pro is compatable 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.

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.

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\

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.