Microstick for 5V PIC24 K Series Devices Overview The Microstick for 5V PIC24 K Series Devices is designed to provide an easy-to-use, economical development environment for 5V, 16-bit microcontrollers. The board includes an integrated debugger/programmer, a socket for the target microcontroller chip and pins that facilitate insertion into a prototyping board for extremely flexible development. Installing MPLAB® IDE and C Compilers Americas Asia/Pacific (Continued) Atlanta - 678-957-9614 Boston - 774-760-0087 Chicago - 630-285-0071 Cleveland - 216-447-0464 Dallas - 972-818-7423 Detroit - 248-538-2250 Indianapolis - 317-773-8323 Los Angeles - 949-462-9523 Phoenix - 480-792-7200 Santa Clara - 408-961-6444 Toronto - 905-673-0699 China - Hangzhou - 86-571-2819-3187 China - Hong Kong SAR - 852-2943-5100 China - Nanjing- 86-25-8473-2460 China - Qingdao - 86-532-8502-7355 China - Shanghai - 86-21-5407-5533 China - Shenyang - 86-24-2334-2829 China - Shenzhen - 86-755-8864-2200 China - Wuhan - 86-27-5980-5300 China - Xiamen - 86-592-2388138 China - Xian - 86-29-8833-7252 China - Zhuhai - 86-756-3210040 India - Bangalore - 91-80-3090-4444 India - New Delhi - 91-11-4160-8631 India - Pune - 91-20-2566-1512 Japan - Osaka - 81-6-6152-7160 Japan - Tokyo - 81-3-6880-3770 Korea - Daegu - 82-53-744-4301 Korea - Seoul - 82-2-554-7200 Malaysia - Kuala Lumpur - 60-3-6201-9857 Malaysia - Penang - 60-4-227-8870 Philippines - Manila - 63-2-634-9065 Singapore - 65-6334-8870 Taiwan - Hsin Chu - 886-3-5778-366 Taiwan - Kaohsiung - 886-7-213-7828 Taiwan - Taipei - 886-2-2508-8600 Thailand - Bangkok - 66-2-694-1351 Europe Austria - Wels - 43-7242-2244-39 Denmark - Copenhagen - 45-4450-2828 France - Paris - 33-1-69-53-63-20 Germany - Munich - 49-89-627-144-0 Italy - Milan - 39-0331-742611 Netherlands - Drunen - 31-416-690399 Spain - Madrid - 34-91-708-08-90 UK - Wokingham - 44-118-921-5869 Asia/Pacific Australia - Sydney - 61-2-9868-6733 China - Beijing - 86-10-8569-7000 China - Chengdu - 86-28-8665-5511 China - Chongqing - 86-23-8980-9588 2/21/13 Microchip Technology Inc. • 2355 West Chandler Blvd. • Chandler, AZ 85224-6199 www.microchip.com The Microchip name and logo, the Microchip logo, and MPLAB are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. REAL ICE and PICkit are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. All other trademarks mentioned herein are property of their respective companies. © 2013, Microchip Technology Incorporated, Printed in the U.S.A. All Rights Reserved. 3/13 DS50002142A The MPLAB® Integrated Development Environment (IDE) should be installed prior to using the Microstick for 5V PIC24 K Series Devices. This board is designed to run with MPLAB X IDE Version 1.60 or later. While the MPLAB IDE provides assembler tools for development, most code examples provided for Microchip devices are written in C language and require a C compiler to be installed. Microchip’s MPLAB XC16 Compiler seamlessly integrates into the MPLAB IDE. Both the MPLAB IDE and XC16 Compiler are free and available for download at: www.microchip.com/mplabx and www.microchip.com/xc16, respectively.(1) Note 1: MPLAB XC16 Evaluation Version (free) – All optimization levels are enabled for 60 days, then limits to optimization, Level O1. The compiler will continue to function, but code size may increase. There are no restrictions on the use of this C compiler (see license text for details). Running Applications After downloading and installing the development tools, please use the following procedure to build, run and debug your software: 1. Open the MPLAB X IDE application and close any open projects. 2. Open the Microstick application project by navigating to the installation directory and selecting the “pic24fv16km202_microstick_demo.X” folder. 3. Connect the Microstick board to the development computer via a USB cable. 4. Open the project properties by selecting File->Project Properties. 5. Ensure the correct device is the selected device in the Device dropdown menu. 6. Select the Microstick from the Hardware Tool. It will be listed under Microchip Starter Kits>Starter Kits (PKOB). 7. Build, program and run the Microstick demo application by selecting Debug>Debug Project. 8. Install Jumper, JP1, to enable the on-board LED for RA0 to ensure the program is running. For more information on building, running and debugging your application, refer to the MPLAB IDE Help. Developing Applications Hardware Design Microstick for 5V PIC24 K Series Devices only implements circuitry for low-voltage ICSP™ programming. To enable low-voltage ICSP programming, it is important to always configure the microcontroller to enable MCLR pin function, rather than RA5 general purpose, input pin function. The Microstick for 5V PIC24 K Series Devices is USB bus powered. The device is powered directly from the 5V USB bus. Turning power on/off to the target application is controlled by the MPLAB IDE via the FPF2102 load switch. The FPF2102 load switch automatically shuts down power to the target if the current exceeds a trip point of 200 mA to 400 mA. This may help protect the host PC USB port from accidental shorting of power supply pins in the target application circuit. The following assembly language directive enables the MCLR pin function in the device Configuration bits: ; MCLR Pin Enable bit (RA5 input disabled; MCLR enabled) config __FPOR, MCLRE_ON In XC16, the same thing is accomplished with this code: // MCLR Pin Enable bit (RA5 input disabled; MCLR enabled) FPOR(MCLRE_ON) Warning: Always program the microcontroller with MCLR pin functionality enabled so that the Microstick for 5V PIC24 K Series Devices can be used to program/debug the chip in the future. If the microcontroller is programmed with MCLR pin function disabled (RA5 input is enabled), the Microstick will no longer program or debug firmware on the microcontroller because Microstick does not have circuitry to use high-voltage ICSP entry. REAL ICE™, MPLAB ICD 3 and PICkit™ 3 are examples of high-voltage ICSP tools that can be used to recover the part. The slide switch, labeled S3 on the PCB, is used to select which pair of PGECx/ PGEDx pins to use for In-Circuit Serial Programming™ (ICSP™). When moved towards the PDIP socket, the Microstick is set for using PGEC3/PGED3. When moved towards the USB connector, the Microstick is configured for PGEC1/ PGED1. To allow for debugging to work in MPLAB, the device’s Configuration bits must be set up to indicate which PGECx/PGEDx pins are actually being used in the circuit. For example, in assembly language, you may need directives such as this: .include "p24Fxxxx.inc" ; ICD Pin Placement Select (EMUC/EMUD share PGC3/PGD3) config __FICD, ICS_PGx3 In XC16, the same thing can be accomplished with this code: #include <p24Fxxxx.h> // ICD Pin Placement Select (EMUC/EMUD share PGC3/PGD3) _FICD(ICS_PGx3) An XC16 firmware source code example for blinking the Microstick’s LED is provided on the Microchip web site (see http://www.microchip.com/microstick). The Microstick may be plugged into a prototyping board to develop external application circuitry with the PIC® MCU. On the bottom side of the board, three rows of pins are provided, labeled P1, P2 and P3. Normally, the Skinny PDIP (SPDIP) layout (300 mils) should be used by populating rows, P1 and P2. Optionally, rows, P1 and P3, may be populated instead to provide a wide PDIP layout (600 mils). The unpopulated, single in-line pin header for soldering into P3 is available separately as Digi-Key Part Number ED7464-ND. Introducing the Microstick for 5V PIC24 K Series Devices Application Hardware VDD MCLR PGEC1 R39 4.7k PGEC_MASTER PGEC3 R40 C20 PGED1 1k PGED_MASTER PGED3 0.1 μF VDD PGED_MASTER VDD VDD VSS GND VDD VDD LED Jumper PGEC_MASTER TP1 D6 C18 PGED1 Red 0.1 μF PGEC1 U1RX MCLR TP2 GND J6 R41 470R GND VSS RA6 U1RX VDD VDD C17 VDD PGEC3 PGED3 0.1 μF C19 NL 22 pF (32.768 kHz) C21 NL 22 pF U1TX U1TX PIC24F16KM202 C14 R42 NL 10 μF DS50002142A Introducing the Microstick for 5V PIC24 K Series Devices Debugger Hardware +3.3V +3.3V C2 C3 C4 0.1 μF 0.1 μF 0.1 μF C4 10 μF UTIL_WP (Local VDD/VSS bypass decoupling.) UTIL_CS MINI-ICSP™ INTERFACE +3.3V SDO SDI TARGET_POWER_ENABLE SCK R1 10K R2 200K ICSP_MCLR_VPP_PICKIT3 VBUS_DEVICE_SWITCHED_SENSE R3 SDO ICSP_PGEC_PICKIT3 VPP_ON VPP_GND ASSEMBLY_ID_1 R7 PIC24FJ256GB106 PGEC_MASTER 330R R8 10K R10 R9 4.7K 22 pF UTIL_SCK VSS Y1 VSS VDD +3.3V 330R SCK +3.3V 330R SDI ASSEMBLY_ID_0 UTIL_SDI ICSP_MCLR_VPP_PICKIT3 R5 4.7K R4 R6 10K UTIL_SDO +3.3V PGED_MASTER 330R +3.3V VCPCON/RD1 VCAP/VDDCORE ICSP_PGED_PICKIT3 VDD 12 MHz VDD R11 10K U2 VCC SI 6 SCK SO 2 UTIL_SDI R17 3.16K WP 7 HOLD R21 2.2K VSS 4 C7 R12 3.92K +3.3V R14 VDD_SENSE 100R VPP_SENSE VBUS VREF_2.5V 3 UTIL_WP VUSB VDD_SENSE R16 1K CS VSS 1 UTIL_CS AVDD AVSS UTIL_SCK 22 pF USB_D- VPP_SENSE R18 2.21K VDD 5 UTIL_SDO USB_D+ +3.3V 8 R15 10K R19 2.21K R13 100K Q1 MMBT3906 R20 10K MCLR 1 μF ICSP_PGEC_PICKIT3 +3.3V R22 100R ICSP_PGED_PICKIT3 R23 VPP_ON R24 10K C8 C9 1 μF 0.1 μF POWER_GOOD_PICKIT3 Q2 MMBT3904 10K +3.3V Q3 MMBT3904 R26 VPP_GND 10K C15 R34 100K 1 μF VDD R37 R28 0 U3 100K +3.3V U4 R38 VBUS D- USB_D- D+ USB_D+ D2 RED C10 1 μF VIN VOUT VIN SENSE SHDN CDELAY GND PWRGD MCP1727 1 NL 2 3 TARGET_POWER_ENABLE R31 200K C11 C12 C13 0.1 μF 2.2 μF 0.01 μF R30 100K IN OUT 5 GND ON FLAGB 4 VBUS_DEVICE_SWITCHED_SENSE FPF2102 300 mA Limit EGND R32 4.7K R33 0R POWER_GOOD_PICKIT3 DS50002142A