bk. PIC32MZ2048ECx100 - 100-pin PIM basic USB circuit

The first step implementation of a 100-pin socket. If you use SMD prototyping PCB with 1.27 mm spacing you may solder the ladder connectors directly, but if you use a standard PCB with 2.54 mm spacing, you might have to improvise. You may bend the odd and even pins on the header connector to opposite sides (left and right), which enables you to solder pins to two columns with 2.54 mm pin spacing. A better option is to get contact headers with already bent odd and even contacts to opposite sides. They are much easier to solder and you would also make a better connection to the PIM. I had decided to go with the standard headers, because I wanted to start the project as soon as PIM modules arrived.

PIC32MZ2048ECx100 - 100-pin PIM (x = {G, H, M} => PIC32MZ2048ECG100, PIC32MZ2048ECH100 and PIC32MZ2048ECM100 are supported) is intended for use with an development board, but you can also make your own development board or basic circuit. You need 4 25-pin male ladder connectors with 1.27 mm spacing between pins to form a 100-pin square socket on your PCB. And a bit larger PCB (ex. 160 mm by 100 mm) that PIC32MX250F128B basic circuit.

NOTE: All "VDD" and "GND" pins including "AVDD" and "AGND" must be connected in order for PICkit 3 to work. PICkit 3 may report "Failed to get device ID" error, if connections to "AVDD" and "AGND" pins are omitted. Also, connections to PICklit 3 must be kept as short as possible. Also connect "USB ID" pin to "Vusb". USB ID pin is 5 V tolerant and may this way be used to detect device type B (slave USB device).

Next, you have to implement 3.3 V voltage regulator, which gets 5 V power supply from a USB port. This step is relatively simple as well as the implementation of external connections. You basically need to implement PICkit3 programmer signal lines (see PICkit 3 photo below) and USB D+ and D- signal lines for USB 2.0 connection to a PC host.

On the other hand, it is also a good idea to use a protityping PCB copper contacts on both sides (double-sided PCB).

Click on the schematic to enlarge it.

SOFTWARE:

EXAMPLE 1: PIC32MZ2048EC VB.NET Demo (x64).zip VB.NET example is available from Downloads section. Read more here. This example works best with PIC32MZ2048ECH100 to Velleman K8055-1 experiment board adapter or PIC32MZ2048ECH100 to Velleman K8055N-2 experiment board adapter or similar circuits.

EXAMPLE 2: PIC32MZ2048ECH100 microcontroller may be attached to a PC as an external disk drive! Get PIC32MZ2048ECH100 USB flash drive.zip with the HEX file from Downloads section. Read more here to learn how. The HEX file may also be used to test PIC32MZ2048ECH100 basic circuit.

PROGRAMMING EXAMPLE: Multithreading support

Click on the photo to enlarge it.

Click on the photo to enlarge it.

Click on the photo to enlarge it.

Click on the photo to enlarge it.