chipKIT® Development Platform

Inspired by Arduino™

Breadboardable PIC32MZ?

Created Tue, 05 Dec 2017 16:24:55 +0000 by rs2845


Tue, 05 Dec 2017 16:24:55 +0000


I've been giving it a go to solder my own TQFP PIC32MZ chips onto those breakout boards, however it's extremely difficult and my yields are extremely low and unreliable so I have given up. I am at a crossroads with a number of projects that are just too expensive right now to produce onto PCB's until I am 110% happy with the design. Current Chipkit boards with the MZ's are quite large and I can't stand the birds nest of jumper wires.

I was wondering if anybody knows of any breadboardable PIC32MZ2048EFH module, or if anyone has created their own of which they're willing to share the design that I can have produced.

Diligent make a PIC32MX version ([url][/url]), but sadly no PIC32MZ version!


Tue, 05 Dec 2017 16:57:23 +0000

I have something in the works that isn't actually breadboardable, but is small. It's a PIC32MZ2048EFG064 on a PCB with power circuitry, audio DAC and power amplifier. It has 6 GPIO connectors and a 6 pin boxed header for UART communication with other boards. It's designed as a specific product for a specific purpose, hence the lack of GPIO etc, but it is designed to be small.

I have thought about making a PIC32MZ equivalent to the Fubarino SD or the CUI32.

The problem with the MZ chips is they are all so big. There's nothing smaller than a 64 pin. I wish they'd make a "lite" version of the MZ in a 28 pin package (including DIP...)


Tue, 05 Dec 2017 17:02:20 +0000

Here's a pic of what I mean:

[attachment=0]IMG_20171205_165802 (1).jpg[/attachment]


Tue, 05 Dec 2017 21:32:59 +0000

Really great that you're able to whip up custom boards like that! I envy your knowledge. How much does it cost roughly to get a PCB like that fully assembled? I am tempted to try it with a couple of my projects but I know it'll require modifications and then become redundant.

You think the 64 pin PIC32MZ2048EFH could fit onto the footprint of Diligent's design? Or I guess even straddle across two breadboards if it means extra GPIO.

If you ever do produce something like this, you've got a buyer right here. I've got a lot of projects that could use this kind of thing!


Tue, 05 Dec 2017 22:13:47 +0000

If / when I do design something like that it'd be based on the Fubrino SD. I did make one once, which I called the SDZL, with the exact same dimensions (though some slight differences to the pin orders IIRC), which would go in a breadboard just fine. I should dig out those old designs and update them. The reason I never released it was because the power system on the board really wasn't man enough for the job. I now have a much better (though more expensive) system that I use as standard. You can see it on the board above - the dual circuits just to the left of the MCU. One for 5V and one for 3.3V - each at up to 3A.

I'm actually redesigning that circuit at the moment to combine both the DAC and the audio amp into one chip - the TLV320DAC3101. Should reduce the complexity and size a little.

My standard charge for prototyping is $1200 plus BOM. That's $500 to design the circuit, $500 to lay out the PCB, and $200 + BOM to make up to 10 prototypes. That's for a normal small board like this - anything much bigger will cost more since it'll both be more work and the cost of the PCBs goes up. Also if it's overly complex and needs a 4-layer PCB that costs extra too.


Tue, 05 Dec 2017 22:57:59 +0000

I made a Fubarino SDZ (MZ based Fubarino SD) board a number of years ago, which appeared to work just fine. Took the Fubarino SD board and plopped down a 64 pin MZ part. However, it doesn't have the slick power supply that Majenko's boards do.

I'd really like to update my SDZ board with better power supplies, and make it 4 layer (as 4 layer boards aren't that expensive) to get nice ground planes.

The big thing missing, at the moment, is a MZ based USB bootloader, but I think that may happen someday.

Majenko, mind if I copy your power supply circuit? Is there a good example I can easily lift it from?



Tue, 05 Dec 2017 23:16:45 +0000

Please do. All my designs are in gEDA though, and my own custom version, so you won't be able to open them.

I'll see if I can make a PDF of one of them, and maybe some gerbers or at least images to show the layout.

If you want to update your SDZ that'll mean I don't have to do my SDZL, which would be easier on me :)

I am using the MZ USB HID bootloader live on some of my boards now. It's working really well. So it's not just a "some day" - it's a reality.


Tue, 05 Dec 2017 23:22:32 +0000

Here's one of my projects that uses it. It's the most basic one - just the power circuit and some connectors.

As you can see it's a really really simple module to work with. Really easy to solder as well. I never get any issues with them.

Oh, and the resistors are 100K + 523K for 5V, and 100K + 309K for 3.3V.


Wed, 06 Dec 2017 13:36:08 +0000

Fantastic! I'm really happy to hear about the bootloader. Is it fully integrated into pic32prog and Arduino IDE?

I'll start modifying the SDZ with the new power supply section, and we'll get some of them made.

rs2845 - I still have a couple of the older SDZs (which work fine, but you have to use a UART bootloader with them - FTDI cable) lying around. Would you like me to send you one or two?



Wed, 06 Dec 2017 14:03:20 +0000

It's integrated into UECIDE, but the Arduino IDE may need a new tool creating for it. Yes, it uses pic32prog. It's also compiled from within UECIDE just like any sketch - you just need a special bootloader variant of the board that uses the right linker scripts - and making those linker scripts was a right royal pain in the posterior I can tell you... ;)

It uses my Flash library and the new USB stack, and it was actually very simple to write. It's based around AN1388 with a few enhancements.

You also need a new version of pic32prog because the current version in the wild has some nasty bugs WRT AN1388. Buffer overflows, truncated packets, etc. Not nice...


Wed, 06 Dec 2017 21:21:24 +0000

Very cool! Is it in a repo somewhere? (the bootloader sketch)

And have you updated your pic32prog version with the necessary changes? I've love to test this out on my SDZs.



Thu, 07 Dec 2017 11:08:17 +0000

Yes - all you should need is here:

You will need to craft yourself a board that uses the provided linker scripts (both the board-level and "common" one). An updated pic32prog is here:

There is no "prog" button any more. The bootloader works like the UART one - runs by default for a few seconds before the main sketch. Since it's a HID device not a CDC/ACM one you don't get any issues of COM ports wandering around. So programming is just a case of pressing RESET at the right time.

For pic32prog you need to use the parameters:

pic32prog -R 20 -d an1388:<vid>:<pid> <filename.hex>

where VID and PID are whatever you choose in the bootloader sketch. I allocated the top of our PID range to the bootloader for simplicity - all the boards that use this bootloader can use that pair quite happily unless you have a specific requirement to change it. So:

pic32prog -R 20 -d an1388:04d8:0f5f <filename.hex>

pic32prog will prompt you to reset the board (that's what the -R 20 does).

You'll want to check out the "#pragma config" settings for your board, though most likely there's not much to change, unless you're not using a 24MHz external clock module.