PIC32-EMZ64
GENERAL-PURPOSE DEVELOPMENT BOARD
USER’S MANUAL
Document revision B, March 2017
Designed by OLIMEX Ltd, 2016
All boards produced by Olimex LTD are ROHS compliant
OLIMEX© 2017
PIC32-EMZ64 user's manual
DISCLAIMER
© 2016 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.
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.
The hardware design of PIC32-EMZ64 development board is considered open source. Anyone can download the
original schematics and board design files. The files describing the hardware are made with CadSoft's EAGLE PCB
design software.
The part of the software written by Olimex is released under GPL. However, note that the examples that we distribute
are based on the libraries and projects released by Microchip. Make sure that you are acquainted with Microchip's
license agreement before using, publishing, or distributing any code based on our software.
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 PIC32-EMZ64. THEY ARE CONSIDERED SUITABLE ONLY FOR
PIC32-EMZ64.
Page 2 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
Table of Contents
DISCLAIMER......................................................................................................................................2
CHAPTER 1: INTRODUCTION.........................................................................................................4
1.1 BOARD FEATURES.................................................................................................................4
1.2 MINIMAL BOARD USE REQUIREMENTS.......................................................................... 5
1.3 TARGET MARKET OF THE BOARD.................................................................................... 5
1.4 ELECTROSTATIC WARNING................................................................................................ 6
1.5 DOCUMENT ORGANIZATION..............................................................................................6
CHAPTER 2: BOARD DESCRIPTION..............................................................................................7
2.1 LAYOUT (TOP VIEW).............................................................................................................7
CHAPTER 3: BOARD SCHEMATIC AND DIMENSIONS..............................................................8
3.1 SCHEMATIC.............................................................................................................................8
3.2 PHYSICAL DIMENSIONS.................................................................................................... 10
CHAPTER 4: PROCESSOR DETAILS.............................................................................................11
4.1 FEATURES..............................................................................................................................11
4.2 MICROCONTROLLER BLOCK DIAGRAM....................................................................... 14
4.3 MICROCONTROLLER MEMORY MAP..............................................................................15
CHAPTER 5: CONTROL CIRCUITRY............................................................................................16
5.1 POWER SUPPLY CIRCUIT................................................................................................... 16
5.2 RESET CIRCUIT.................................................................................................................... 17
5.3 CLOCK CIRCUIT...................................................................................................................17
CHAPTER 6: JUMPERS, CONNECTORS AND INTERFACES.................................................... 18
6.1 JUMPER DESCRIPTION....................................................................................................... 18
6.1.1 USB connector jumpers................................................................................................................................. 18
6.1.2 CAN_T jumper...............................................................................................................................................18
6.1.3 5V/3.3V jumper..............................................................................................................................................18
6.2 HARDWARE INPUT/OUTPUT............................................................................................. 19
6.3 EXTERNAL CONNECTOR DESCRIPTION........................................................................ 19
6.3.1 ICSP CONNECTOR......................................................................................................................................19
6.3.2 CAN............................................................................................................................................................... 20
6.3.3 UEXT.............................................................................................................................................................21
6.3.4 MICROSD CARD..........................................................................................................................................22
CHAPTER 7: AVAILABLE DEMO SOFTWARE............................................................................ 24
CHAPTER 8: ORDERING INFORMATION AND REVISIONS.................................................... 25
8.1 DOCUMENT REVISION....................................................................................................... 25
8.2 BOARD REVISION................................................................................................................26
8.3 USEFUL WEB LINKS............................................................................................................27
CHAPTER 9: WARRANTY AND SUPPORT...................................................................................28
Page 3 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 1: INTRODUCTION
This document provides a user’s guide for the PIC32-EMZ64 board, designed and assembled by
Olimex Ltd. As an overview, this chapter gives the scope of this document, lists the board's features
and the minimum requirements. The document’s organization is then detailed.
The PIC32-EMZ64 board allows code development of applications running on the PIC32MZ2048
processor, designed and manufactured by Microchip Technology Inc from the U.S.A.
PIC32-EMZ64 board is an open-hardware project and all documents needed to manufacture the
board are available to the customer.
Note that any software code written by the employees of Olimex LTD is released under GPL.
However, the examples that we distribute are heavily based on the libraries and projects released by
Microchip Technology Inc, which are non-GPL. Make sure that you are acquainted with
Microchip's license agreement before using, publishing, or distributing any code based on the demo
software released by Olimex LTD.
1.1 BOARD FEATURES
PIC32-EMZ64 board features a PIC32MZ2048EFH064 processor. It a very capable PIC32
processor with a lot of interfaces available (6 x UARTs; 4 x SPIs; 4 x I2Cs; 46 x IO pins; 24channel ADC; two analog comparators; Ethernet; USB OTG; JTAG; TRACE; CAN 2.0B; DMA
etc.) The board has several ready-to-use peripherals interfaces exposed and available on connectors:
an OLED display; a MIC intput audio jack connector; a microSD card connector; micro USB
connector (with OTG functionality); ICSP connector for programming and debugging; UEXT
connector for extension modules; CAN connector; three user-programmable LED; three userprogrammable button; etc.
The most notable board features are listed below:
PIC32MZ2048EFH064-I/PT processor (2048KB flash; 512KB RAM)
LCD OLED display – 128x64 pixels
Ethernet interface 100Mb with connector
microSD card interace with connector
ICSP interface for debugging and programming
Two USB connectors – USB type A and micro USB (USB OTG or USB host modes)
Microphone jack (audio input interface)
Headphones jack (audio output interface)
CAN interface with driver and connector
UEXT expansion connector
Reset button and three user-programmable buttons
Power-on LED and three user-programmable LEDs
Power supply pads exposed
GND pin exposed
Mounting holes provided
Board operating temperature: (0–70)°C ~ (32–158)°F
Page 4 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
1.2 MINIMAL BOARD USE REQUIREMENTS
•
Hardware required for programming
In order upload code on the board you would need a PIC32 compatible debugger or programmer.
Older tools might lack support for PIC32 processor. Ensure your programmer/debugger is
compatible with the PIC32MZ processor family. Ensure that the tool is supported in MPLAB X IDE
(or the software tools that your are going to use).
The board has no bootloader loaded. You need either a debugger or a programmer tool to upload
software to the board. The on-board ICSP interface is available at a 6-pin (1×6) 0.1” step connector.
•
Software required for programming
You would need software environment that supports PIC32MZ family of processors. The most
commonly used tool for software development for PIC32MZ applications is MPLAB X. The most
used tool for binary upload to PIC32MZ is MPLAB IPE. Microchip provides a set of libraries and
demo projects for the PIC32MZ family in their “Harmony Integrated Software Framework”.
Note that MPLAB 8.xx does NOT support PIC32MZ.
•
(Optional) hardware to power the board.
The board requires power supply. Typically, for research and development purposes your
programmer tool can power the board via the ICSP connector. If your debugger/programmer is not
capable of powering the board then you would need either: USB cable (1) or 5V external power
supply (2).
(1) The board has both micro USB connector and USB type A connectors. Your cable should be
able to fit the board's female connectors.
(2) There are only pads available on the board. You would need to use wires to establish a
connection between the external power supply (adapter) and the board.
1.3 TARGET MARKET OF THE BOARD
PIC32-EMZ64 would attract PIC enthusiasts and veterans who want to evaluate the features of the
PIC32MZ2048EF processor. Any experience with the development tools required for generalpurpose development of code for boards featuring PIC32MZ boards is a great plus.
The board is not suitable for complete beginners in electronics – the board can't be programmed via
Arduino or Arduino-like environment. You need at least a PIC32-compatible programmer with 6pin 0.1” step ICSP connector.
In case you are a complete beginner you might want to start with a board with bootloader which can
be programmed via Arduino-like software tools and a USB cable. Consider PIC32 boards like
PIC32-PINGUINO-OTG or DUINOMITE.
Page 5 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
1.4 ELECTROSTATIC WARNING
The PIC32-EMZ64 board is shipped in protective anti-static packaging. The board must not be
subject to high electrostatic potentials. General practice for working with static sensitive devices
should be applied when working with this board. Be carefully when placing the board on
conductive surfaces – it is always a good idea to use rubber cover between the board and the
surface!
1.5 DOCUMENT ORGANIZATION
Each section in this document covers a separate topic, organized as follows:
– Chapter 1 is an overview of the board usage and features
– Chapter 2 contains the general board diagram and layout
– Chapter 3 provides the schematics and the dimensions of the board
– Chapter 4 provides a guide for quickly setting up the board and software notes
– Chapter 5 describes the component that is the heart of the board: the Microchip's
PIC32MZ2048EF processor
– Chapter 6 is an explanation of the control circuitry associated with the processor
– Chapter 7 covers the connector pinout, peripherals and jumper description
– Chapter 8 contains the revision history, useful links and support information
– Chapter 9 contains the warranty information
Page 6 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 2: BOARD DESCRIPTION
2.1 LAYOUT (TOP VIEW)
The picture below shows the top side of hardware revision A of the board and highlights the most
important parts. Note that the exact layout and component placement might differ slightly between
different hardware revisions.
Hardware revision B of the board introduced a few changes to the layout:
1) The top left mounting hole was removed. The bottom left mounting hole was pushed left (next to
the microSD card connector).
2) The “RST” button is now located rightmost of the group of four buttons (instead of leftmost).
3) The ground pad (VSS pad) is now located rightmost at the bottom of the board (instead of
leftmost).
4) The microSD card connector was pushed down as much as possible. The USB type A female
connector (“USB_HOST”) was pushed up as much as possible. The power supply pads “PWR” are
now located between the two USB connectors.
Page 7 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 3: BOARD SCHEMATIC AND DIMENSIONS
In this chapter you may find information about the schematics describing logically and physically
PIC32-EMZ64.
3.1 SCHEMATIC
The schematic of hardware revision B of PIC32-EMZ64 is available for reference on the next page.
The design files are available at the product's web-page.
If you are looking for a schematic of an older revision of the board and it isn't available at our web
site you may request it by the support e-mail.
Page 8 of 28
USB_Host/Dev
ICSP
+5V
PWR
4
FB0805/600R/2A
3.3V
1
ICSP
C4
R9
13k/1%
R10
20k
L2
U2
ISET
3
EN
RESET
1
47uF/6.3V
2
2
3
Iset = 6800/R68
Iset = 523mA
C1
5
R2
330R
20k
L3
2.2uH/1.5A/DCR Display and click to enable/disable layers until you find the optimal setup).
The archive with the hardware sources of PIC32-EMZ64 is available for download here: Eagle
sources PIC32-EMZ64
Page 10 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 4: PROCESSOR DETAILS
Some of the details about the main processor in the design of PIC32-EMZ64
(PIC32MZ2048EFH064) are mentioned in this chapter. It is highly recommended to refer to the
original datasheet which might be downloaded from the Microchip's official web-side.
4.1 FEATURES
PIC32-EMZ64 board uses MCU PIC32MZ2048EFH064-I/PT from Microchip Technology. The
main processor of the board is one of the biggest processors of the PIC32MZ family and has a
dedicated Floating Point Unit (FPU). It has the following features that distinguish it from the rest of
the family:
•
•
•
•
•
•
•
•
•
•
•
•
•
Programmable memory (KB): 2048
Data memory (KB): 512
Pin count: 64
I/O pins: 46
Reprogrammable pins: 34
ADC channels: 24
Floating Point Unit: Yes
Ethernet interface: Yes
CAN interface: Yes
UART interfaces: 6
I2C interfaces: 4
SPI/I2S interfaces: 4
Processor operating temperature: -40ºC to +85ºC
The PIC32M2048EF processor that we used packs the following set of features:
Operating Conditions of the industrial version of the chip:
• 2.1V to 3.6V, -40ºC to +85ºC, DC to 200 MHz
Core: 200 MHz (up to 330 DMIPS) M-Class
• 16 KB I-Cache, 4 KB D-Cache
• FPU for 32-bit and 64-bit floating point math
• MMU for optimum embedded OS execution
• microMIPS™ mode for up to 35% smaller code size
• DSP-enhanced core:
- Four 64-bit accumulators
- Single-cycle MAC, saturating, and fractional math
- IEEE 754-compliant
• Code-efficient (C and Assembly) architecture
Clock Management
• Programmable PLLs and oscillator clock sources
• Fail-Safe Clock Monitor (FSCM)
• Independent Watchdog Timers (WDT) and Deadman Timer (DMT)
Page 11 of 28
OLIMEX© 2017
•
•
•
•
PIC32-EMZ64 user's manual
Fast wake-up and start-up
Power Management
Low-power modes (Sleep and Idle)
Integrated Power-on Reset (POR) and Brown-out Reset (BOR)
Memory Interfaces
• 50 MHz Serial Quad Interface (SQI)
Audio and Graphics Interfaces
• Graphics interfaces: PMP
• Audio data communication: I2S, LJ, and RJ
• Audio control interfaces: SPI and I2C
• Audio master clock: Fractional clock frequencies with USB synchronization
High-Speed (HS) Communication Interfaces (with Dedicated DMA)
• USB 2.0-compliant Hi-Speed On-The-Go (OTG) controller
• 10/100 Mbps Ethernet MAC with MII and RMII interface
Security Features
• Advanced memory protection:
- Peripheral and memory region access control
Direct Memory Access (DMA)
• Eight channels with automatic data size detection
• Programmable Cyclic Redundancy Check (CRC)
Advanced Analog Features
• 12-bit ADC module:
- 18 Msps with up to six Sample and Hold (S&H) circuits (five dedicated and one shared)
- 24 analog inputs
- Can operate during Sleep and Idle modes
- Multiple trigger sources
- Six Digital Comparators and six Digital Filters
• Two comparators with 32 programmable voltage references
• Temperature sensor with ±2ºC accuracy
Communication Interfaces
• Two CAN modules (with dedicated DMA channels):
- 2.0B Active with DeviceNet™ addressing support
• Six UART modules (25 Mbps):
- Supports up to LIN 2.1 and IrDA® protocols
• Six 4-wire SPI modules (up to 50 MHz)
• SQI configurable as an additional SPI module (50 MHz)
• Four I2C modules (up to 1 Mbaud) with SMBus support
• Parallel Master Port (PMP)
• Peripheral Pin Select (PPS) to enable function remap
Timers/Output Compare/Input Capture
Page 12 of 28
OLIMEX© 2017
•
•
•
•
PIC32-EMZ64 user's manual
Nine 16-bit or up to four 32-bit timers/counters
Nine Output Compare (OC) modules
Nine Input Capture (IC) modules
Real-Time Clock and Calendar (RTCC) module
Input/Output
• 5V-tolerant pins with up to 32 mA source/sink
• Selectable open drain, pull-ups, pull-downs, and slew rate controls
• External interrupts on all I/O pins
• PPS to enable function remap
Debugger Development Support
• In-circuit and in-application programming
• 4-wire MIPS® Enhanced JTAG interface
• Unlimited software and 12 complex breakpoints
• IEEE 1149.2-compatible (JTAG) boundary scan
• Non-intrusive hardware-based instruction trace
Software and Tools Support
• C/C++ compiler with native DSP/fractional and FPU support
• MPLAB® Harmony Integrated Software Framework
• TCP/IP, USB, Graphics, and mTouch™ middleware
• MFi, Android™, and Bluetooth® audio frameworks
• RTOS Kernels: Express Logic ThreadX, FreeRTOS™, OPENRTOS®, Micriµm® µC/OS™,
and SEGGER embOS®
Page 13 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
4.2 MICROCONTROLLER BLOCK DIAGRAM
A block diagram with main functional parts of the microcontroller as seen in the official Microchip
documentation.
Page 14 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
4.3 MICROCONTROLLER MEMORY MAP
The microcontroller's memory regions as seen in the official Microchip documentation.
Page 15 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 5: CONTROL CIRCUITRY
5.1 POWER SUPPLY CIRCUIT
You have three options for powering PIC32-EMZ64. You can power the board from:
•
Programmer or debugger tool – 3.3V DC on the ICSP connector
PIC32-EMZ64 can be powered by your debugger (programmer) tool, as long as the tool is capable
of powering targets. You would need to set and enable the powering voltage to 3.3V in the software
options of MPLAB.
•
USB cable – 5V on one of the USB connectors (“USB_HOST”, “USB_DEV”)
You can power the board from your personal computer via an USB cable; the USB ports of a
personal computer typically provide around 5V of voltage and 500mA of current.
Avoid using USB cables longer than 2 meters. Avoid the cheapest cables with high inner resistance.
•
External power supply – 5V to the provided pads (“PWR”)
The board can be powered by external power supply (adapter) capable of providing 5V of voltage.
You should connect the 5V wire to the pad with the “+” sign of the PWR connector. You also need
to connect the ground wire to pad “-” of the same (PWR) connector. The signs of the pins are
printed on the board for customer's convenience.
Different methods of powering would lead to different maximum current available. Consider
powering the board with an external power supply connected to PWR pads if you need extra current
(in case you have to power additional hardware via PIC32-EMZ64).
It is not recommended to apply multiple types of powering to the board simultaneously. For
example, if you want to power the board from the PWR pads using an external power adapter, first
ensure that your debugger tool doesn't provide power to the ICSP connector.
With no extra peripherals connected, the board's current consumption is about 150mA at 5V when
running the default demo program.
Page 16 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
5.2 RESET CIRCUIT
PIC32-EMZ64's reset signal (processor pin #9, “#MCLR”) can be found on the pads of the ICSP
connector (connector pin #1); and it is also connected to a button.
The reset circuit of the button consists of RC group R56 – 4.7kΩ and C61 – 100nF. Serial resistor
R57 – 330Ω is used to prevent fast C61 charge and discharge when PIC32MZ2048 is being
programmed.
Manual reset is possible via the RESET button.
5.3 CLOCK CIRCUIT
The board uses crystal oscillators to ensure the proper board clocks.
Oscillator CD1 handles the clock required for the Ethernet. This 50MHz oscillator is connected to
pin #5 of the Ethernet transceiver LAN8710A.
Oscillator CD2 provides 24MHz for the PIC32 chip. It is connected to PIC32MZ2048ECG144's pin
#31 (OSCI/CLKI/RC12).
Page 17 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 6: JUMPERS, CONNECTORS AND INTERFACES
In this chapter you will find the description of the jumpers and what signals might be found on the
different connectors.
6.1 JUMPER DESCRIPTION
Jumpers are used to alter the default hardware configuration of the board. PIC32-EMZ64 uses both
PTH and SMT jumpers.
6.1.1 USB connector jumpers
On the top of the board there are three easy to re-configure PTH jumpers named
“DEV_DM/HOST_DM”; “DEV_DP/HOST_DP”; “DEV_ID/HOST_ID”. Changing the jumpers
changes the routing of the D-, D+ and USB_ID signals. The position of these jumpers determines
whether the USB_HOST or the USB_DEV connectors would be enabled. Only one of the USB
connectors can be enabled at a time (or if all jumpers are removed both USB connectors would be
disabled). You can't have both USB_HOST and USB_DEV enabled simultaneously.
Important! The three jumpers have to me moved together! There are only three valid configurations
– all jumpers to right position (to enable USB type A connector “USB_HOST”), all jumpers to left
position (to enable micro USB connector “USB_DEV”), or all jumper removed (to disable both
USB connectors).
By default the jumpers are set to right positions – the USB type A connector is enabled.
6.1.2 CAN_T jumper
CAN_T jumper is an SMT jumper located at the bottom of the board. It configures whether to have
a 120 Ohm termination resistor connected between CANL and CANH signal lines.
By default CAN_T is open – the 120 Ohm termination resistor between CANL and CANH is
disconnected.
Note that changing SMT jumpers requires soldering. To close such a jumper solder the pads
together. To disconnect an SMT jumper – remove any solder and/or cut between the pads (in case
the jumper is closed by default).
6.1.3 5V/3.3V jumper
This is another SMT jumper. It is related to the powering of the MCP2551 CAN transceiver. By
default it is set to 5V operating voltage since MCP2551 requires 5V. This jumper was added for
future design compatibility with other CAN transceivers that work at 3.3V.
It is not recommended to change the default position of this 5V/3.3V jumper, unless you also
change MCP2551 with another CAN transceiver that requires only 3.3V.
Page 18 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
6.2 HARDWARE INPUT/OUTPUT
The board has a number of LEDs and buttons. Not all of them can be used as input. The board has:
- programmable user buttons BUT1, BUT2, BUT3:
BUT1 – connected to PIC32MZ's pin #27 (TCK/AN7/PMA11/RB12).
BUT2 – connected to PIC32MZ's pin #28 (TDI/AN8/RB13).
BUT3 – connected to PIC32MZ's pin #29 (AN9/RPB14/SCK3/PMA1/RB14).
- non-programmable reset button RST – connected to PIC32MZ's pin #9 (#MCLR).
- programmable user LEDs LED1, LED2, LED3:
LED1 (green) – connected to PIC32MZ's pin #21 (RB8).
LED2 (yellow) – connected to PIC32MZ's pin #22 (AN49/RPB9/PMA7/RB9).
LED3 (red) – connected to PIC32MZ's pin #23 (TMS/CVREFOUT/AN5/RPB10/PMA13/RB10).
- non-programmable power supply red LED PWR – indicates if 5V voltage is applied. Cannot be
programmed.
6.3 EXTERNAL CONNECTOR DESCRIPTION
In this sub-chapter you would find the pinout of peripherals and the connectors on the board. It is
also a good idea to refer to the latest schematic.
6.3.1 ICSP CONNECTOR
The ICSP connector is used for serial programming. It is the place where most common PIC32compatible programmers and debuggers are connected. The pins have 0.1'' step. If your
programmer/debugger has only the smaller 0.05'' connector you might need an adapter or you
should use jumper wires.
Pin #
1
2
3
4
5
6
Signal name
RESET
3.3V
GND
PGED2
PGEC2
NC
PGED2 conducts I/O operations for the “Program Data” signal. Serial data for programming.
PGEC2 serves only as input for the “Program Clock” signal. Clock used for transferring the serial
data (output from ICSP, input for the MCU).
Wrongfully mirroring the pins is a very common problem. If you have problems during
programming trace each wire separately.
Page 19 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
6.3.2 CAN
The board has a CAN transceiver MCP2551 and a three pin connector. The names of the signals
available at each pin are also printed near the connector.
Pin #
1
2
3
Signal name
GND
CANL
CANH
Note that you can enable a termination resistor between CANL and CANH. CAN_T jumper is an
SMT jumper located at the bottom of the board. It configures whether to have a 120 Ohm
termination resistor connected between CANL and CANH signal lines. By default CAN_T is open
– the 120 Ohm termination resistor between CANL and CANH is disconnected.
6.3.3 USB
The board has two USB connectors. USB_HOST is a type A female connector and USB_DEV is a
micro USB connector. However, only one of them can be connected to the processor at a time. By
default the USB_HOST connector is active. You can disable USB_HOST and enable USB_DEV
connector by modifying the position of the three nearby PTH jumpers.
By default the jumpers are set to positions: HOST_DM; HOST_DP; HOST_ID. In this case
USB_HOST connector is enabled. USB_HOST is a female USB type A connector and the pinout is
visible below:
Pin #
1
2
3
4
Signal name
+5V_HOST_PWR
USB_HOST_DM
USB_HOST_DP
GND
Processor pin #
36
37
-
In this setup of jumpers – USB_ID is connected to ground via 10K resistor.
Page 20 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
USB_DEV is a female micro B USB connector. In order to enable USB_DEV connector change all
jumpers to the opposite position: DEV_DM; DEV_DP; DEV_ID. Doing so would also disable
USB_HOST. The pinout of the micro USB is visible below:
Pin #
1
2
3
4
5
Signal name
+5V_HOST_PWR
USB_HOST_DM
USB_HOST_DP
USB_DEV_ID
GND
Processor pin
36
37
38
-
Leaving all three jumpers open simultaneously would disable both USB connectors. This might be
faster way to disable an active USB connection in some cases.
6.3.3 UEXT
The 10-pin UEXT connectors are typically mounted on Olimex boards. They pack three common
interfaces in a single connector – UART, I2C and SPI. You can use the UEXT connector to access
this interfaces easier (via jumper wires, for example).
You can also connect expansion modules to the UEXT connectors. More on UEXT might be found
here: https://www.olimex.com/Products/Modules/UEXT/
Note that you should not provide power to the UEXT connector. Pin #1 of the UEXT (3.3V) is
output.
Pin #
1
2
3
4
5
6
7
8
9
10
Wire name
3.3V
GND
RD4/U4TX
RD0/U4RX
RG8/SCL4
RG7/SDA4
RD11/SDI4(MISO4)
RD5/SDO4(MOSI4)
RD10/SCK4
RD9/#SS4
Function
Power output
Power output
UART
UART
I2C
I2C
SPI
SPI
SPI
SPI
The design includes several pull up resistors on the data lines available at the UEXT:
1) a 10K pull up on the UART RD line (pin #4). There is also Schottky diode on the same line.
2) 2.2K pull ups on the I2C lines (pins #5 and #6)
3) a 10K pull up on the SPI SS line (pin #10)
Page 21 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
6.3.4 MICROSD CARD
Standard push-push microSD card connector with the following pinout:
Pin #
1
2
3
4
5
6
7
8
9
10
11
12
13
Wire name
MCIDAT2
RG9/#SS2
RD2/SDO2(MOSI2)
VDD
RG6/SCK2
GND
RD3/SDI2(MISO2)
MCIDAT1
RF0(SD_CP)
Pull up for SD_CP
Pull up for SD_CP
Pull up for SD_CP
Pull up for SD_CP
6.3.5 Ethernet
The Ethernet is handled by Microchip's 10BASE-T/100BASE-TX transceiver LAN8710A. The
board is equipped with standard RJ45 connector.
The RJ45 connector has two LEDs. The green indicates whether a proper 100Mb Ethernet
connection is established and the yellow LED indicates whether there is activity on the port.
LED
Right
Left
Color
Green
Yellow
Usage
Link status
Activity status
The Ethernet chip uses a number of processor pins. To avoid confusion inspect the schematic.
Important! The LAN8710A is configured as follows:
- Mode: All capable(10/100Base). Auto-Negotiation enabled.
- Configuration: RMII.
- SMI address: 0x00.
Page 22 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
6.3.6 Audio input and audio output
The board has microphone input and headphone output available on 3.5mm audio jack connectors.
The processor pin associated with the data received by the MICROPHONE connector is pin #12 –
AN4/C1INB/RPB2/RB4.
The processor pin associated with the data sent to the HEADPHONES connector is pin #13 –
AN3/C2INA/RPB3/RB3.
6.3.7 Display
The board has a 128x64 pixels OLED display which uses SSD1306 driver. The I2C slave address of
the display is 0111100b.
The SSD1306 embeds with contrast control, display RAM and oscillator, which reduces the number
of external components and power consumption. It has 256-step brightness control.
Data/Commands are sent from general MCU through the hardware selectable 6800/8000 series
compatible Parallel Interface, I2C interface or Serial Peripheral Interface. It is suitable for many
compact portable applications, such as mobile phone sub-display, MP3 player and calculator, etc.
Page 23 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 7: AVAILABLE DEMO SOFTWARE
The demo projects should be downloaded from the official product page of PIC32-EMZ64. There
are three examples available – a general purpose example; a web-server demo that also uses the
microSD card; and audio loopback demo. These example demonstrate several features of the board:
LEDs, buttons, UART, RTC, SD card, USB.
The EMZ64 board comes with web server demo. In order to perform the full demo there are several
requirements. Download the archive containing the demo and refer to the “README.txt” file
inside for more details on how to proceed and use the project (either re-compiling it or using the
pre-built files).
Each of the three examples provided has a README.txt file inside the archive that contains
expected behavior of the code and specific instructions! Make sure to first check the README.txt
file before attempt to use or re-compile the examples!
Build info (tested with):
Integrated Development Environment: MPLAB X 3.20
Compiler: XC32 1.40
Framework: Microchip Harmony 1.06.02
You can either build the project and program the board with MPLAB X IDE, or use MPLAB IPE
and the prebuilt files.
It is recommended to use the same compiler if you decide to compile the project! Else you would
have build errors.
Page 24 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 8: ORDERING INFORMATION AND REVISIONS
You can purchase directly from our online shop or from any of our distributors. Note that usually it
is faster and cheaper to purchase Olimex products from our distributors. List of confirmed Olimex
LTD distributors and resellers: https://www.olimex.com/Distributors.
Please visit https://www.olimex.com/ for more info.
Trouble finding a product mentioned above? Product name of the board discussed in this document:
PIC32-EMZ64 – fully assembled and tested.
Below are listed some of the related products (you can type the name of a product in the search box
of our web site to find it easily):
PIC-KIT3 – PIC32-EMZ64-compatible debugger, works fine with MPLAB X, MPLAB IPE. Fits
the 6-pin on-board connector.
BATTERY-LIPO1400 – a standard Li-Po battery equipped with a connector that fits the one
located on PIC32-HMZ144. Olimex sells a range of such batteries with different capacity.
JW-200x10 – jumper wires with male-male connectors and 240mm of length; perfect for
breadboarding; there are different lengths and configurations of connectors (m-m; f-m; f-f).
You can also find a big number of extension boards that can be connected to the UEXT of the board
and also some of the components (if damage occurs and you want to replace the part yourself).
8.1 DOCUMENT REVISION
Document revision Changes
Modified page
A, 20.05.16
Initial manual release
B, 28.03.17
Added information about the default demo 24
Page 25 of 28
All
OLIMEX© 2017
PIC32-EMZ64 user's manual
8.2 BOARD REVISION
Remember to check the schematics and the board design files to verify any differences between the
different board revisions.
Board revision
Notable changes
A
Initial release of the board
B
1. R52/R33 adjusted -> R52 = 1k, R33 = 2.2k
2. C58 removed; R50 hanged to 4.7k/0402 and pulled down. R49
changed from 330R to 0R (board mounted). R49 and R50 moved from
bottom to top.
3. Improvements to the position of several components:
- the top left mounting hole removed. The bottom left mounting
hole pushed to the left;
- the “RST” button moved rightmost of the group of four buttons
(instead of leftmost);
- the ground pad (VSS pad) is now located rightmost at the bottom
of the board (instead of leftmost);
- the microSD card connector was pushed down as much as possible;
- the USB type A female connector (“USB_HOST”) pushed up as much
as possible. The power supply pads “PWR” moved between the two USB
connectors.
Page 26 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
8.3 USEFUL WEB LINKS
Visit the links below for more information and resources for the product:
•
PIC32-EMZ64 official product page:
https://www.olimex.com/Products/PIC/Development/PIC32-EMZ64/
•
MPLAB Harmony framework – flexible, abstracted, fully integrated firmware development
platform for PIC32 microcontrollers: MPLAB Harmony page
•
Official Olimex forums: https://www.olimex.com/forum/index.php?board=21.0
Page 27 of 28
OLIMEX© 2017
PIC32-EMZ64 user's manual
CHAPTER 9: WARRANTY AND SUPPORT
For product support, hardware information and error reports mail to: support@olimex.com. All
document or hardware feedback is welcome. Note that we are primarily a hardware company and
our software support is limited. Please consider reading the paragraph below about the warranty of
Olimex products.
All goods are checked before they are sent out. In the unlikely event that goods are faulty,
they must be returned, to OLIMEX at the address listed on your order invoice.
OLIMEX will not accept goods that have clearly been used more than the amount needed to
evaluate their functionality.
If the goods are found to be in working condition, and the lack of functionality is a result of
lack of knowledge on the customers part, no refund will be made, but the goods will be returned
to the user at their expense.
All returns must be authorized by an RMA Number. Email support@olimex.com for authorization
number before shipping back any merchandise. Please include your name, phone number and order
number in your email request.
Returns for any unaffected development board, programmer, tools, and cables permitted within 7
days from the date of receipt of merchandise. After such time, all sales are considered final.
Returns of incorrect ordered items are allowed subject to a 10% restocking fee. What is
unaffected? If you hooked it to power, you affected it. To be clear, this includes items that
have been soldered to, or have had their firmware changed. Because of the nature of the
products we deal with (prototyping electronic tools) we cannot allow returns of items that have
been programmed, powered up, or otherwise changed post shipment from our warehouse.
All returned merchandise must be in its original mint and clean condition. Returns on damaged,
scratched, programmed, burnt, or otherwise 'played with' merchandise will not be accepted.
All returns must include all the factory accessories which come with the item. This includes
any In-Circuit-Serial-Programming cables, anti-static packing, boxes, etc.
With your return, enclose your PO#. Also include a brief letter of explanation of why the
merchandise is being returned and state your request for either a refund or an exchange.
Include the authorization number on this letter, and on the outside of the shipping box.
Please note: It is your responsibility to ensure that returned goods reach us. Please use a
reliable form of shipping. If we do not receive your package we will not be held liable.
Shipping and handling charges are not refundable. We are not responsible for any shipping
charges of merchandise being returned to us or returning working items to you.
The full text might be found at https://www.olimex.com/wiki/GTC#Warranty for future reference.
Page 28 of 28