ak. How to revive a stuck PIC32MZ EC Starter Kit?

D7 LED blinking follows each PIC32MZ2048ECH144 attempt to start up. Analysis of PIC32MZ EC Starter Kit schematic reveals that the blinking is caused by a current limiter that prevents PIC32MZ EC Starter Kit to draw too much electrical current from a USB port on the host computer. As a consequence PIC32MZ2048ECH144 microcontroller is automatically restarted due to too low power supply voltage condition (brownout reset). Afterwards the brownout reset cycle repeats...

MY CASE: I have encountered the circumstances mentioned above while testing Microchip Harmony v1.00 TCP/IP client-server sample application. I have also noticed that Microchip corrected the TCP/IP client-server example in Harmony v1.01. Use only TCP/IP client-serverexample from Harmony v1.01 library to avoid PIC32MZ EC Starter Kit getting stuck!

In certain circumstances PIC32MZ2048ECH144 might become unresponsive to PIC24FJ256GB106 attempts to reprogram it.

PIC32MZ Embedded Connectivity Starter Kit has two microcontrollers: a PIC32MZ2048ECH144 (without crypto engine) or a PIC32MZ2048ECM144 (with crypto engine) and a PIC24FJ256GB106 which is used as an onboard PIC programmer. It is similar to PICkit 3, but limited to PIC32MZ2048ECH144 programming and debugging.

Click on the photo to enlarge it.

OPTION 3: IF OPTIONS 1 AND 2 FAIL, THERE IS STILL AN ALTERNATIVE. FIRST, REMOVE JP2 JUMPER, ALL EXTENSION BOARDS, ADAPTER BOARDS AND DOTHER BOARDS. PIC32MZ EC Stater Kit MUST BE BARE FOR THE PICkit3 to be able to provide enough electrical power. Overload will result in an error message.

NEXT, COMPLETELY DISCONNECT PIC32MZ EC Starter Kit USB ports AND CONNECT IT ONLY TO PICkit3 via J7 header. The cable photo is on the left hand side.

Open MPLAB X IPE in advanced mode (default password is "microchip"). Select "POWER" tab and check "Power Target Circuit from Tool". Then select "OPERATE" tab. PIC32MZ EC Starter Kit D6 and D7 LEDs should light up after you click on the "Connect" button and the PICkit3 should be able to connect nomaly. Select "PRODUCTION MODE" tab and deselect "Enable programming operations only if hex file is loaded". Select "OPERATE" tab and click "Erase" button. Remove PICkit3 and replace JP2 jumper to connect pins 1-3 and 2-4. Reconnect both USB 2.0 cables.

Now, PIC32MZ EC Starter Kit should again be able to operate normally and it could be programmerd with the internal programmer.

NOTE: DON'T FORGET TO UNCHECK check "Power Target Circuit from Tool" and replacing JP2 jumper after erasing PIC32MZ2048ECH144 microcontroller to ensure normal operation. Be careful about JP2 orientation: Connect pins 1-3 and 2-4.

OPTION 2: If option 1 fails, remove JP2 jumper. Connect J3 and J4 USB receptacles to host USB ports. Connect the external programmer (PICkit 3 or other compatible ICSP programmer) through J7 header connector and open MPLAB X IPE programming tool. Select PIC32MZ2048ECH144 or PIC32MZ2048ECM144 microcontroller and click the "Apply" button. Select your external programmer (ex. PICkit3) as a programming tool and click "Connect" button repeatedly until the connection succeeds and "Target connected.... Revision... " text is displayed in the MPLAB X IPE control window.

OPTION 1: To break the brownout reset cycle, you first have to connect PIC32MZ EC Starter Kit to two USB ports through J3 and J4 USB receptacles. These will provide more current. Next, you have to start MPLAB X IPE tool and try to connect the internal programmer to PIC32MZ2048ECH144 microcontroller repeatedly.

Click on the photo to enlarge it.

MPLAB X IPE advanced mode power source setup. Click on the photo to enlarge it.

Bare PIC32MZ EC Starter Kit powered by PICkit 3 programmer/debugger. Click on the photo to enlarge it.