OLIMEX PIC32-PINGUINO-MX220 User Manual

Page 1
PIC32-PINGUINO-MX220 development board
USER’S MANUAL
Initial release, March 2012
Designed by OLIMEX Ltd, 2011
All boards produced by Olimex LTD are ROHS compliant
Page 2
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
© 2012 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other terms and product names may be trademarks of others.
The information in this document is provided in connection with Olimex products. No license, express or implied or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Olimex products.
Neither the whole nor any part of the information contained in or the product described in this document may be adapted or reproduced in any material from except with the prior written permission of the copyright holder, unless it is clearly stated by Olimex that the product is licensed under the Open Source Hardware (OSHW) Definition 1.0.
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.
Thank you for purchasing PIC32-PINGUINO-MX220 development board
assembled by OLIMEX LTD
Page 2 of 28
Page 3
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
Table of Contents
CHAPTER 1.................................................................................................................5
OVERVIEW.................................................................................................................5
1. Introduction to the chapter.......................................................................................................5
1.1 Features.....................................................................................................................................5
1.2 Similar boards..........................................................................................................................5
1.3 Organization.............................................................................................................................6
Chapter 2......................................................................................................................8
Introduction to arduino/pinguino/maple...................................................................8
2. What is Arduino?.......................................................................................................................8
2.1 First steps with Pinguino IDE.................................................................................................9
CHAPTER 3 ..............................................................................................................10
SETTING UP THE PIC32-PINGUINO-MX220 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....................................................................................................................11
CHAPTER 4...............................................................................................................12
PIC32-PINGUINO-MX220 BOARD DESCRIPTION..........................................12
4. Introduction to the chapter.....................................................................................................12
4.1 Layout (top view)...................................................................................................................12
CHAPTER 5...............................................................................................................13
THE PIC32MX220F032D MICROCONTROLLER.............................................13
5. Introduction to the chapter.....................................................................................................13
5.1 The microcontroller...............................................................................................................13
CONTROL CIRCUITY............................................................................................16
6. Introduction to the chapter.....................................................................................................16
6.1 Reset........................................................................................................................................16
6.2 Clock.......................................................................................................................................16
CHAPTER 7...............................................................................................................17
HARDWARE.............................................................................................................17
7. Introduction to the chapter.....................................................................................................17
7.1 Battery connector...................................................................................................................17
7.2 ICSP pin holes........................................................................................................................17
7.3 UEXT......................................................................................................................................18
Page 3 of 28
Page 4
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
7.4 Arduino shield pin holes........................................................................................................19
7.5 USB mini connector...............................................................................................................20
7.7 Jumper description................................................................................................................20
7.9 Additional hardware components........................................................................................21
CHAPTER 8...............................................................................................................22
MEMORY AND BLOCK DIAGRAM....................................................................22
8. Introduction to the chapter.....................................................................................................22
8.1 Memory organization............................................................................................................23
CHAPTER 9...............................................................................................................24
SCHEMATICS...........................................................................................................24
9. Introduction to the chapter.....................................................................................................24
9.1 Eagle schematic......................................................................................................................24
9.2 Physical dimensions...............................................................................................................26
CHAPTER 10.............................................................................................................27
REVISION HISTORY..............................................................................................27
10. Introduction to the chapter...................................................................................................27
10.1 Document revision...............................................................................................................27
10.2 Web page of your device.....................................................................................................28
Page 4 of 28
Page 5
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 1
OVERVIEW
1. Introduction to the chapter
Thank you for choosing the PIC32-PINGUINO-MX220 development board from Olimex! This document provides a User’s Guide for the Olimex PIC32-PINGUINO-MX220 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 PIC32-PINGUINO-MX220 development board enables code development of applications running on the PIC32MX220F032D microcontroller, manufactured by Microchip technology.
1.1 Features
PIC32MX220F032D 32 bit, 40 Mhz microcontroller 32KB Flash 8KB RAM
Ultra Low Power design
PINGUINO IDE ready
Li-Po battery connector for handheld applications
Arduino/Pinguino/Maple shield pinout on the top
UEXT connector which allows many extensions modules like RF, ZIGBEE, GSM, GPS to
be connected
Two LEDs
One USER BUTTON
RESET button
Mini USB connector is used which is common and used in most cell phones, so you do not
have to buy other cables
All PIC ports available on 0.1" connectors matching ARDUINO platform and second row with correct 0.1"step
ICSP signals provided on 0.1" step connector if you do not want to use Pinguino IDE and want to program this board with PIC-KIT3.
1.2 Similar boards
PIC32-PINGUINO-MX220 is ARDUINO-UNO like board with PIC32MX220F032D. Generally
Page 5 of 28
Page 6
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
this board outperform ARDUINO-UNO as hardware capabilities as you can see from the table below while being considerably cheaper:
PIC32-PINGUINO-MX220 ARDUINO-UNO
CPU
32bit 32bit
CLOCK
40MHz 20MHz
FLASH
32KB 32KB
RAM
8KB 1KB
USB
YES NO
LOW PWR
YES NO
GPIO MAX
40MHz 5MHz
ADC
1.1MSPS 15KSPS
DMA
YES 4 Channel NO
UEXT
YES NO
PIC32-PINGUINO-MX220 is a powerful considering its low price but yet a starter board for the PINGUINO family. If you are searching for powerful Pinguino board with a faster processor, more memory, more peripherals, wider range of options be sure to check the PIC32-PINGUINO-OTG:
http://olimex.com/dev/pic32-pinguino-otg.html
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 PIC32MX220F032D
microcontroller
Chapter 6 is an explanation of the control circuitry associated with the microcontroller to
reset. Also shows the clocks on the board
Page 6 of 28
Page 7
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
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 7 of 28
Page 8
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 2
INTRODUCTION TO ARDUINO/PINGUINO/MAPLE
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 derivates - 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 have 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
Page 8 of 28
Page 9
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
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.
2.1 First steps with Pinguino IDE
Download the latest Pinguino IDE distribution depending on your operation system and install it. Connect your device in bootloader mode to the computer (for PIC32-PINGUINO-MX220 hold BUT and press RST after connected). Start the IDE from it's shortcut. From Preferences choose board (for PIC32-PINGUINO-MX220 that would be PIC32-Pinguino_220). From File->Open navigate to the examples folder which is found in the Pingino IDE installation folder. Choose a simple example to begin with like BlinkWithoutDelay.pde and open it. Click “Compile” (blue arrow) and after it compiles click “Upload to Pinguino” (green arrow). Voila, you have uploaded code to your Pinguino device.
Now start exploring the world of Pinguino! More info and help on the software can be found and the official pinguino web site. You can leave your feedback on the project and report bugs at the forum: http://forum.pinguino.cc/.
Page 9 of 28
Page 10
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 3
SETTING UP THE PIC32-PINGUINO-MX220 BOARD
3. Introduction to the chapter
This section helps you set up the PIC32-PINGUINO-MX220 development board for the first time. Please consider first the electrostatic warning to avoid damaging the board, then discover the
hardware and software required to operate the board. The procedure to power up the board is given, and a description of the default board behavior is
detailed.
3.1 Electrostatic warning
PIC32-PINGUINO-MX220 is shipped in a protective anti-static package. The board must not be exposed to high electrostatic potentials. A grounding strap or similar protective device should be worn when handling the board. Avoid touching the component pins or any other metallic element.
3.2 Requirements
In order to set up the PIC32-PINGUINO-MX220, the following items are required:
If using the free PINGUINO IDE the ONLY requirement is a miniUSB to USB-A cable to connect to a computer.
If you want to upgrade the bootloader, or program the board without the PINGUINO-IDE there are pinouts for ICSP programmer (note that there isn't a connector mounted). You can use our PIC­KIT3 programmer for custom programming without PINGUINO IDE.
3.3 Powering the board
The PIC32-PINGUINO-MX220 board is self-powered by the miniUSB if it is connected to a USB hub of a computer.
To enter the bootloader mode hold the button BUT and then connect the miniUSB. Or after plugging the miniUSB hold the button BUT and then press RST.
Page 10 of 28
Page 11
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
On powering the board the AND starting bootloader mode LED1 and LED2 should start blinking consecutively.
3.4 Prebuilt software
The board comes with prebuilt PINGUINO bootloader. To enter this mode hold BUT and press RST then release BUT. Or connect the USB when BUT is pressed and then release BUT.
Page 11 of 28
Page 12
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 4
PIC32-PINGUINO-MX220 BOARD DESCRIPTION
4. Introduction to the chapter
Here you get acquainted with the main parts of the board. Note the names used on the board differ from the names used to describe them. For the actual names check the PIC32-PINGUINO-MX220 board itself.
4.1 Layout (top view)
Page 12 of 28
Page 13
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 5
THE PIC32MX220F032D MICROCONTROLLER
5. Introduction to the chapter
In this chapter is located the information about the heart of PIC32-PINGUINO-MX220 – its microcontroller. The information is a modified version of the datasheet provided by its manufacturers.
5.1 The microcontroller
Operating Conditions
• 2.3V to 3.6V, -40ºC to +105ºC, DC to 40 MHz
Core: 40 MHz MIPS32® M4K®
• MIPS16e® mode for up to 40% smaller code size
• 1.56 DMIPS/MHz (Dhrystone 2.1) performance
• Code-efficient (C and Assembly) architecture
• Single-cycle (MAC) 32x16 and two-cycle 32x32 multiply
Clock Management
• 0.9% internal oscillator
• Programmable PLLs and oscillator clock sources
• Fail-Safe Clock Monitor (FSCM)
• Independent Watchdog Timer
• Fast wake-up and start-up
Power Management
• Low-power management modes (Sleep, Idle)
• Integrated Power-on Reset and Brown-out Reset
• 0.5 mA/MHz dynamic current (typical)
• 20 μA IPD current (typical)
Audio Interface Features
• Data communication: I2S, LJ, RJ, DSP modes
• Control interface: SPI and I2C™
• Master clock:
- Generation of fractional clock frequencies
- Can be synchronized with USB clock
- Can be tuned in run-time
Page 13 of 28
Page 14
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
Advanced Analog Features
• ADC Module:
- 10-bit 1.1 Msps rate with one S&H
- 13 analog inputs
• Flexible and independent ADC trigger sources
• Charge Time Measurement Unit (CTMU):
- Supports mTouch™ capacitive touch sensing
- Provides high-resolution time measurement (1 ns)
- On-chip temperature measurement capability
• Comparators:
- Up to three Analog Comparator modules
- Programmable references with 32 voltage points
Timers/Output Compare/Input Capture
• Five General Purpose Timers:
- Five 16-bit and up to two 32-bit Timers/Counters
• Five Output Compare (OC) modules
• Five Input Capture (IC) modules
• Peripheral Pin Select (PPS) to allow function remap
• Real-Time Clock and Calendar (RTCC) module
Communication Interfaces
• USB 2.0-compliant Full-speed OTG controller
• Two UART modules (10 Mbps)
- Supports LIN 2.0 protocols and IrDA® support
• Two 4-wire SPI modules (20 Mbps)
• Two I2C modules (up to 1 Mbaud) with SMBus support
• Peripheral Pin Select (PPS) to allow function remap
• Parallel Master Port (PMP)
Direct Memory Access (DMA)
• Four channels of hardware DMA with automatic data size detection
• Two additional channels dedicated for USB
• Programmable Cyclic Redundancy Check (CRC)
Input/Output
• 15 mA source/sink on all I/O pins
• 5V-tolerant pins
• Selectable open drain, pull-ups, and pull-downs
• External interrupts on all I/O pins
Qualification and Class B Support
• AEC-Q100 REVG (Grade 2 -40ºC to +105ºC) planned
Page 14 of 28
Page 15
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
• Class B Safety Library, IEC 60730
Debugger Development Support
• In-circuit and in-application programming
• 4-wire MIPS® Enhanced JTAG interface
• Unlimited program and six complex data breakpoints
• IEEE 1149.2-compatible (JTAG) boundary scan
1
For comprehensive information on the microcontroller visit the Microchip's web page for a datasheet.
At the moment of writing the microcontroller datasheet can be found at the following link:
http://ww1.microchip.com/downloads/en/DeviceDoc/61168D.pdf
Page 15 of 28
Page 16
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 6
CONTROL CIRCUITY
6. Introduction to the chapter
Here you can find information about reset circuit, power circuit and quartz crystal locations.
6.1 Reset
PIC32-PINGUINO-MX220 reset circuit includes R8 (4.7 KΩ), PIC32MX220F032D pin 18 (#MCLR) and a RESET button. Note that it also can be found at the ICSP header pin 1.
6.2 Clock
8 MHz quarz crystal Q1 is found at pins 30 and 31 of the processor.
Page 16 of 28
Page 17
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 7
HARDWARE
7. Introduction to the chapter
In this chapter are presented the connectors that can be found on the board all together with their pinout. Proto area is shown. Jumpers functions are described. Notes and info on specific peripherals are presented. Notes regarding the interfaces are given.
7.1 Battery connector
Pin # Signal Name
1 VBAT
2 GND
7.2 ICSP pin holes
The 6 pin ICSP header provides interface for custom programming/debugging outside of the PINGUINO IDE. Note the pin holes doesn't have a connector mouted over – you have to mount it/solder it yourself. The pinout can be found in the table below. It is important to check the jumper configuration for proper use of the ICSP pin hole .
ICSP pin holes
Pin # Signal Name Pin # Signal Name
1 RESET 4 PGED3
2 +3.3V 5 PGEC3
3 GND 6 Not connected
Page 17 of 28
Page 18
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
7.3 UEXT
PIC32-PINGUINO-MX220 board has UEXT connector and can interface Olimex's UEXT modules. For more information on our UEXT modules please visit:
http://www.olimex.com/dev/OTHER/UEXT.pdf
Pin # Signal Name
1 +3.3V
2 GND
3 U1TX
4 U2RX
5 SCL1
6 SDA1
7 SDI1
8 SDO1
9 SCK1
10 CS
Page 18 of 28
Page 19
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
7.4 Arduino shield pin holes
For your convenience the pads are named individually near each of them. Please take extra care about the numbering but consider that there might be offset.
Also note that the board comes with no connectors soldered on the pin holes. Before being able to connect with a shield you have to solder connecters yourself.
Pad Name Signal Pad Name Signal
POWER CON1 DIGITAL CON2
RST RESET A0 AN6/RPC0/RC0
3V3
+3.3 V
A1 AN7/RPC1/RC1
5V +5 V A2
PGED1/AN2/C1IND/C2INB/C3 IND/RPB0/PMD0/RB0
GND GROUND A3
PGEC1/AN3/C1INC/C2INA/RP B1/CTED12/PMD1/RB1
GND GROUND A4
AN4/C1INB/C2IND/RPB2/SDA 2/CTED13/PMD2/CNB2/RB2
VIN V in A5
AN5/C1INA/C2INC/RTCC/RPB 3/SCL2/PMWR/CNB3/RB3
DIGITAL CON5 DIGITAL CON4
AREF A ref D7 RPC7/PMA0/RC7
GND GROUND D6 RPC6/PMA1/RC6
D13 SCK2/LED1 D5 RPC5/PMA3/RC5
D12 SDI2 D4 RPC4/PMA4/RC4
D11 SDO2 D3 AN12/RPC3/RC3
D10 PGEC3 D2 AN8/RPC2/PMA2/RC2
D9 LED2 D1 U2TX
D8 BUT D0 U2RX
Page 19 of 28
Page 20
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
7.5 USB mini connector
Note that the USB is confiugred only as device.
Pin # Signal Name
1 +5V
2 D-
3 D+
4 Not connected
5 GND
7.7 Jumper description
D10_E
If open disconnects D10 (on CON5 from the ARDUINO shield connector), so you can use ICSP programming
Default state is closed.
AREF_E
When open provides AREF on the ICSP pin holes. If closed AREF on CON5 pin D8
Default state is open.
Page 20 of 28
Page 21
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
LED1_E
If closed excludes LED1.
Default state is open.
LED2_E
If closed excludes LED2.
Default state is open.
BUT_E
If closed excludes button BUT.
Default state is open.
7.9 Additional hardware components
The components below are mounted on the PIC32-PINGUINO-MX220 board but are not discussed above. They are listed here for completeness:
General purpose button
2 LEDs
Page 21 of 28
Page 22
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 8
MEMORY AND BLOCK DIAGRAM
8. Introduction to the chapter
Below is located the block diagram of the processor and on the next page you can find a memory map for this family of processors. It is strongly recommended to refer to the original datasheet (DS61168D) released by Microchip for ones of higher quality.
Page 22 of 28
Page 23
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
8.1 Memory organization
Page 23 of 28
Page 24
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 9
SCHEMATICS
9. Introduction to the chapter
In this chapter are located the schematics describing logically and physically PIC32-PINGUINO­MX220.
9.1 Eagle schematic
PIC32-PINGUINO-MX220 schematic is visible for reference here. You can also find them on the web page for PIC32-PINGUINO-MX220 at our site: http://www.olimex.com/dev/PIC32-
PINGUINO-MX220.html. They are located in HARDWARE section.
Note that PIC32-PINGUINO-MX220 schematic is released under Creative Commons Attribution-
Share Alike 3.0 United States License and the whole project is released under
The EAGLE schematic is situated on the next page for quicker reference.
Page 24 of 28
Page 25
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
Page 25 of 28
Page 26
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
9.2 Physical dimensions
Note that all dimensions are in inches.
Page 26 of 28
Page 27
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
CHAPTER 10
REVISION HISTORY
10. Introduction to the chapter
In this chapter you will find the current and the previous version of the document you are reading. Also the web-page for your device is listed. Be sure to check it after a purchase for the latest available updates and examples.
10.1 Document revision
Revision Changes
Modified
Pages
Initial Initial Creation All
A
Added “Open Hardware” exception; replaced
“headers” with “pin holes”; fixed various spelling
errors
2;
various;
various
Page 27 of 28
Page 28
OLIMEX© 2012 PIC32-PINGUINO-MX220 User's Manual
10.2 Web page of your device
The web page you can visit for more info on your device is http://www.olimex.com/dev/PIC32-
PINGUINO-MX220.html. There you can find more info and some examples.
ORDER CODES:
PIC32-PINGUINO-MX220 - completely assembled and tested
PIC-KIT3 + PIC-ICSP – PIC programmer + adapter for different types of ICSP connectors SHIELD-LOL – Duino compatible shield with a matrix of LEDs SHIELD-EKG-EMG – Duino compatible shield for electrocardiography
How to order? You can order to us directly or by any of our distributors.
Check our webpage http://www.olimex.com/ for more info.
Page 28 of 28
Page 29
Mouser Electronics
Authorized Distributor
Click to View Pricing, Inventory, Delivery & Lifecycle Information:
Olimex Ltd.: PIC32-PINGUINO-MX220
Loading...