Olimex OLIMEXINO-32U4 User guide

OLIMEXINO-32U4 development board
USER’S MANUAL
Revision E, October 2013
Designed by OLIMEX Ltd, 2013
All boards produced by Olimex LTD are ROHS compliant
OLIMEX© 2013 OLIMEXINO-32U4 user's manual
© 2013 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other product names may be trademarks of others and the rights belong to their respective owners.
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://www.creativecommons.org/licenses/by-sa/3.0/.
This hardware design by Olimex LTD is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
The software is released under GPL.
It is possible that the pictures in this manual differ from the latest revision of the board.
The product described in this document is subject to continuous development and improvements. All particulars of the product and its use contained in this document are given by OLIMEX in good faith. However all warranties implied or expressed including but not limited to implied warranties of merchantability or fitness for purpose are excluded. This document is intended only to assist the reader in the use of the product. OLIMEX Ltd. shall not be liable for any loss or damage arising from the use of any information in this document or any error or omission in such information or any incorrect use of the product.
This evaluation board/kit is intended for use for engineering development, demonstration, or evaluation purposes only and is not considered by OLIMEX to be a finished end-product fit for general consumer use. Persons handling the product must have electronics training and observe good engineering practice standards. As such, the goods being provided are not intended to be complete in terms of required design-, marketing-, and/or manufacturing-related protective considerations, including product safety and environmental measures typically found in end products that incorporate such semiconductor components or circuit boards.
Olimex currently deals with a variety of customers for products, and therefore our arrangement with the user is not exclusive. Olimex assumes no liability for applications assistance, customer product design, software performance, or infringement of patents or services described herein.
THERE IS NO WARRANTY FOR THE DESIGN MATERIALS AND THE COMPONENTS USED TO CREATE OLIMEXINO-32U4. THEY ARE CONSIDERED SUITABLE ONLY FOR OLIMEXINO-32U4.
Page 2 of 27
OLIMEX© 2013 OLIMEXINO-32U4 user's manual
Table of Contents
CHAPTER 1 OVERVIEW ......................................................................................... 5
1. Introduction to the chapter ....................................................................................................... 5
1.1 Features ..................................................................................................................................... 5
1.2 Similar boards .......................................................................................................................... 6
1.3 Organization ............................................................................................................................. 6
CHAPTER 2 INTRODUCTION TO ARDUINO ..................................................... 7
2. What is Arduino? ....................................................................................................................... 7
2.1 First steps with Arduino IDE .................................................................................................. 8
CHAPTER 3 SETTING UP THE OLIMEXINO-32U4 BOARD ......................... 10
3. Introduction to the chapter ..................................................................................................... 10
3.1 Electrostatic warning ............................................................................................................. 10
3.2 Requirements ......................................................................................................................... 10
3.3 Powering the board ................................................................................................................ 10
3.4 Prebuilt software .................................................................................................................... 10
CHAPTER 4 OLIMEXINO-32U4 BOARD DESCRIPTION ............................... 11
4. Introduction to the chapter ..................................................................................................... 11
4.1 Layout (top view) ................................................................................................................... 11
CHAPTER 5 THE ATMEGA32U4 MICROCONTROLLER .............................. 12
5. Introduction to the chapter ..................................................................................................... 12
5.1 The microcontroller's features .............................................................................................. 12
CHAPTER 6 CONTROL CIRCUITY .................................................................... 14
6. Introduction to the chapter ..................................................................................................... 14
6.1 Reset ........................................................................................................................................ 14
6.2 Clock ....................................................................................................................................... 14
CHAPTER 7 HARDWARE ...................................................................................... 15
7. Introduction to the chapter ..................................................................................................... 15
7.1 Battery connector ................................................................................................................... 15
7.2 ICSP pin holes ........................................................................................................................ 15
7.3 UEXT ...................................................................................................................................... 16
7.4 Arduino shield pin holes ........................................................................................................ 17
7.5 USB mini connector ............................................................................................................... 18
7.6 Jumper description ................................................................................................................ 18
7.7 Additional hardware components ........................................................................................ 19
CHAPTER 8 MEMORY AND BLOCK DIAGRAM ............................................. 20
8. Introduction to the chapter ..................................................................................................... 20
8.1 Memory organization ............................................................................................................ 21
CHAPTER 9 SCHEMATICS ................................................................................... 22
Page 3 of 27
OLIMEX© 2013 OLIMEXINO-32U4 user's manual
9. Introduction to the chapter ..................................................................................................... 22
9.1 Eagle schematic ...................................................................................................................... 22
9.2 Physical dimensions ............................................................................................................... 23
CHAPTER 10 REVISION HISTORY ..................................................................... 24
10. Introduction to the chapter ................................................................................................... 24
10.1 Document revision ............................................................................................................... 24
10.2 Board revision ...................................................................................................................... 25
10.3 Web page of your device ...................................................................................................... 26
10.4 Warranty and returns .......................................................................................................... 27
Page 4 of 27
OLIMEX© 2013 OLIMEXINO-32U4 user's manual

CHAPTER 1 OVERVIEW

1. Introduction to the chapter

Thank you for choosing the OLIMEXINO-32U4 development board from Olimex! This document provides a User’s Guide for the Olimex OLIMEXINO-32U4 development board. As an overview, this chapter gives the scope of this document and lists the board’s features. The document’s organization is then detailed.
The OLIMEXINO-32U4 development board enables code development of applications running on the ATmega32U4 microcontroller, manufactured by Atmel Corporation.

1.1 Features

Leonardo design – no FTDI chip, the MCU directly handles the virtual COM
ATMEGA32U4 microcontroller, all in one USB communication no need for external FTDI
chip.
Input power supply 7-12VDC
ULTRA LOW POWER voltage regulators and the consumption is only few microamps,
which enables hand-held and battery powered applications.
Li-Ion rechargeable battery power supply option with BUILD-IN on board charger, so when you attach battery it is automatically charged and kept in this state until the other power source (USB or external adapter) is removed and it AUTOMATICALLY will power the board - no jumpers, no switches!
Works both on 3.3V and on 5V which is selectable with jumper, so 3.3V and 5V shields can be used
UEXT connector which allow many existing modules like RF, ZIGBEE, GSM, GPS to be connected
Allows RTC - Real Time Clock (Q1 can be replaced by RTC).
NOISE IMMUNE design
the LEDs and the button BUT are on the edge of the board so there is easy access even if the
boards have shields on them
all components are LOWER than the connectors, so the shields do not interference with them
mini USB connector is used -it is common and used in most cell phones, so you don't have to buy other cables
Original design had a flaw - the connectors were not spaced at 0.1" which made bread board use impossible, to keep the compatibility we have the original spacing but we also added a
0.1'' connector which customer can use with bread boards (and jumper wires) saving the hustle of soldering
All signals on the connectors are printed on top of the board, so when you check with probe you know exactly which port you are measuring
4 mount holes make board attachment easier
Page 5 of 27
OLIMEX© 2013 OLIMEXINO-32U4 user's manual

1.2 Similar boards

OLIMEXINO-32U4 is an ARDUINO-LEONARDO-like board with ATmega32U4.
It is a powerful board considering its low price but yet a starter board for the Arduino family.
The more powerful Arduino board we have in the range is OLIMEXINO-328 – based on Arduino Duenomilanove. It has a more sophisticated supply circuit, USB OTG connector and there are more Arduino projects available.

1.3 Organization

Each section in this document covers a separate topic, organized as follow:
Chapter 1 is an overview of the board usage and features Chapter 2 has a short introduction to Arduino platform and its derivatives Pinguino and
Maple
Chapter 3 provides a guide for quickly setting up the board Chapter 4 contains the general board diagram and layout Chapter 5 describes the component that is the heart of the board: the ATmega32U4
microcontroller
Chapter 6 is an explanation of the control circuitry associated with the microcontroller to
reset. Also shows the clocks on the board
Chapter 7 covers the connector pinout, peripherals and jumper description Chapter 8 shows the processor diagram and memory map Chapter 9 provides the schematics Chapter 10 contains the revision history
Page 6 of 27
OLIMEX© 2013 OLIMEXINO-32U4 user's manual

CHAPTER 2 INTRODUCTION TO ARDUINO

2. What is Arduino?

Arduino is an open-source electronics prototyping platform, designed to make the process of using electronics in multidisciplinary projects easily accessible. The hardware consists of a simple open hardware design for the Arduino board with an Atmel AVR processor and on-board I/O support. The software consists of a standard programming language and the boot loader that runs on the board.
Arduino hardware is programmed using a Wiring-based language (syntax + libraries), similar to C+ + with some simplifications and modifications, and a Processing-based Integrated Development Environment (IDE).
The project began in Ivrea, Italy in 2005 aiming to make a device for controlling student-built interaction design projects less expensively than other prototyping systems available at the time. As of February 2010 more than 120,000 Arduino boards had been shipped. Founders Massimo Banzi and David Cuartielles named the project after a local bar named Arduino. The name is an Italian masculine first name, meaning "strong friend". The English pronunciation is "Hardwin", a namesake of Arduino of Ivrea.
More information could be found at the creators web page http://arduino.cc/ and in the Arduino Wiki http://en.wikipedia.org/wiki/Arduino
To make the story short - Arduino is easy for beginners who lack Electronics knowledge, but also does not restrict professionals as they can program it in C++ or mix of Arduino/C++ language. There are thousands of projects which makes it easy to startup as there is barely no field where Arduino enthusiasts to have not been already.
Arduino has inspired two other major derivatives - MAPLE and PINGUINO. Based on 8-bit AVR technology the computational power of Arduino boards is modest, this is why a team from MIT developed the MAPLE project which is based on ARM7 STM32F103RBT6 microcontroller. The board has same friendly IDE as Arduino and offers the same capabilities as hardware and software but runs the Arduino code much faster. The Maple project can be found at http://leaflabs.com
In parallel with Arduino another project was started called PINGUINO. This project chose its first implementation to be with PIC microcontrollers, as AVRs were hard to find in some parts of the world like South America so it is likely to see lot of PINGUINO developers are from that part of the world. PINGUINO project founders decided to go with Python instead Java for processing language. For the moment PINGUINO is much more flexible than Arduino as it is not limited to 8bit microcontrollers. Currently the IDE, which has GCC in background, can support 8-bit PIC microcontrollers, 32bit PIC32 (MIPS) microcontrollers and ARM7/CORTEXM3 microcontrollers which makes PINGUINO very flexible because once you make your project you can migrate easily through different hardware platforms and not being bound to a single microcontroller manufacturer. The PINGUINO project can be found at: http://www.pinguino.cc.
Page 7 of 27
OLIMEX© 2013 OLIMEXINO-32U4 user's manual

2.1 First steps with Arduino IDE

Depending when you purchased the board there are two scenarios since the PID (product ID) which is stored in the firmware and expected by the IDE is different between versions 1.0.0 and 1.0.1 (1.0.1 is the first release of the Arduino IDE with official support for Leonardo).
2.1.1 For purchases after the official release of Leonardo
Boards produced after the official release of Arduino Leonardo have the latest bootloader available with the adjusted bootloader PID. Download the latest Arduino IDE and extract the package. You can find the needed driver for the bootloader located in folder /drivers. You click update on the device in device manager and point the installer to the /drivers folder.
Then launch Arduino IDE and set the correct board and COM port in TOOLS menu.
From File->Open navigate to the examples folder which is found in the Arduino IDE installation folder. Choose a simple example to begin with like BlinkWithoutDelay.ino and open it. Click verify and after it compiles click “Upload”. Voila, you have uploaded code to your Arduino device.
Now start exploring the world of Arduino! More info and help on the software can be found and the official Arduino web site: http://www.arduino.cc/.
2.1.2 For purchases before the official release of Leonardo
If you have purchased the OLIMEXINO-32U4 before the official release of the Arduino Leonardo board there are two scenarios for using Arduino IDE:
1) Download Arduino IDE 1.0 RC2 or Arduino IDE 1.0.0. When you extract the package check if the Arduino Leonardo section is the \hardware\arduino\boards is uncommented. If the section has number signs (#) infront remove the number signs (#).
2) If you want to use the latest version (which by the time of writing is 1.0.1) you would need to change to bootloader firmware. This will require an AVR programmer tool.
You can get the bootloader in .elf format from our web site. You can also use the original bootloader hex if you set the fuses and lock bits for the processor as follows:
low_fuses=0xff high_fuses=0xd8 extended_fuses=0xcb
lock_bits (choose “SPM Prohibited in Boot Section”) from the drop down menu which will set the bits either to EF or 2F)
After you have downloaded and extracted the desired IDE you need to install the driver for your operating system. You can find the needed driver for the bootloader located in folder /drivers. You click update on the device in device manager and point the installer to the /drivers folder.
Then launch Arduino IDE and set the correct board and COM port in TOOLS menu.
Page 8 of 27
OLIMEX© 2013 OLIMEXINO-32U4 user's manual
From File->Open navigate to the examples folder which is found in the Arduino IDE installation folder. Choose a simple example to begin with like BlinkWithoutDelay.ino and open it. Click verify and after it compiles click “Upload”. Voila, you have uploaded code to your Arduino device.
Now start exploring the world of Arduino! More info and help on the software can be found and the official Arduino web site: http://www.arduino.cc/.
Page 9 of 27
Loading...
+ 18 hidden pages