The AVR32 UC3B Platform

The AVR32 is not only a microcontroller, it’s a complete development platform that works smoothly on Linux and Windows, and may be OSX without too much pain. By development platform I mean having an IDE not only for building projects, but also for managing them (version control, plugins that support development, built-in programmer and debugger), a programmer that requires few external components, and a good compiler (if possible in C/C++).  If you found a platform with all these positive points, for free, and all the tools provided by the  manufacturer, then you will enjoy programming on this platform. Atmel provides all these things and a software framework that let you reach your time to market faster.
Basically the fact that Eclipse was the IDE choosen by Atmel for developening over AVR32 plus the software framework where the things that motivated me to start learning about this new version of AVR. Moreover, the microcontroller is not a mid-range AVR, but a full 32bit MCU capable of running Linux, or a small RTOS, delivering nearly 83DMIPS at 60MHz using 3.3V and 23mA.
My starting MCU is the AT32UC3B0256 which has the following features:

  • 256Kbytes of Flash
  • 32Kbytes of SRAM
  • 83 Dhrystone MIPS at 60MHz
  • 44 I/O pins in a 64 pins TQFT package
  • USB 2.0 Full Speed and On The Go

A very basic diagram shows how things are connected in the AVR32 UC3B.

Recently Atmel annouced a new member of the UC3B family, the AT32UC3B0512, which has 96Kbytes of SRAM and 512Kbytes of Flash in the same TFQF64 package.
My first steps in this platform are guided by the ATEVK1101 which is an evalutation kit for the AT32UC3B. This kit allows a rapid and friendly development without the need of dealing with a SMD component and a custom PCB.

The AVR32 Studio IDE can be found at: http://www.atmel.com/dyn/products/tools_card_mcu.asp?tool_id=4116
For programming the AVR32 using the USB DFU (we need Flip: http://www.atmel.com/dyn/products/tools_card_mcu.asp?tool_id=3886
And last but not least, Atmel provides a toolchain of GCC for compiling apps: http://www.atmel.com/dyn/products/tools_card_mcu.asp?tool_id=4118
So let’s get started with a simple Hello World project…