chipKIT® Development Platform

Inspired by Arduino™

My new breadboard friendly PCB design

Created Tue, 09 Jun 2015 00:35:08 +0000 by djgardn2


djgardn2

Tue, 09 Jun 2015 00:35:08 +0000

Hello,

Just wanted show my latest board design that I have put together.

It is a breadboard friendly, completely through-hole PCB design, leaving two connections available on each side of the breadboard for each pinout of the PCB.

There is a modified version of my pinout printout on top of the microcontroller so it can be easily switched out for the chipKIT Pi pinout or the DP32 pinout (original printout version found here [url]http://chipkit.net/forum/viewtopic.php?f=6&t=3312[/url]).

I know the crystal distance is a little further than recommended, but it handles 115,200 baud rate without problems. You can plug in a USB breakout board module to be able to program/power the board too (mini-B or micro-B connector breakout boards, etc).

Check it out below:

[attachment=0]newBoard.jpg[/attachment]


majenko

Tue, 09 Jun 2015 10:06:01 +0000

Sweet! Does it have a name?

It needs a dedicated UECIDE definition for it now :)


djgardn2

Wed, 10 Jun 2015 05:13:04 +0000

That would be awesome if you added it to UECIDE, thanks for the offer.

I have thrown around different name ideas and I think I'm going to stick with calling the board MAKEmicro32.

Thank you.


majenko

Wed, 10 Jun 2015 09:26:30 +0000

Do you happen to have ready-made Board_Defs.h and Board_Data.c files for your board?


majenko

Wed, 10 Jun 2015 09:46:10 +0000

Also I need a "group" for it to go in. For instance, all the chipKIT ones go in the chipKIT group. All mine go in the Majenko Technologies group, etc. What would you like your group calling?


sharon

Wed, 10 Jun 2015 18:23:21 +0000

D, you should call it Dare2Tech, like your website :)

Or whatever you want to call it :D


djgardn2

Wed, 10 Jun 2015 22:28:07 +0000

Thank you both for the responses, sorry for the delayed reply.

Yeah, I think for the group name I will pick my website name "Dare2Tech".

As for the board_defs and board_data, I haven't put anything together yet.

Since the pinout numbers are a printout for the board I guess it seems most logical to just re-number them all from 0 to 18 etc, in order, going around the chip (maybe changing osc1 as 17 and osc2 as 18, although they don't come out on the board to external pins), but I don't know if renumbering pins is critical or not since it might confuse Arduino pinout similarities (I'm open to suggestions). There aren't any built in LED's or buttons except reset&bootload, it is as bare bones as it can get.

If you would like I can look into putting something together tonight or tomorrow definitely, unless you have something put together already.

I appreciate both of your replies and the assistance putting that into your IDE majenko.


guymc

Fri, 12 Jun 2015 20:41:57 +0000

You'll find some useful documentation linked here:

[url]http://chipkit.net/add-custom-board-mpide/[/url]

Cheers


djgardn2

Fri, 12 Jun 2015 23:14:32 +0000

Thank you for the link, it's definitely useful.

I have put something together and plan to give it some final tests using the board very soon by the end of the night. Hopefully all works out well, I'll be putting together a new pinout printout as well for the board once its completed. Thanks.


deladriere

Thu, 18 Jun 2015 05:43:57 +0000

Using Uecide I am trying to have DIY PIC32 breadboard working but am getting lost with all the different versions of the pins what is the difference with the DP2 board ? Why a new board ? How de we choose between the MAKEmicro32 as DP32 or ChipkitPI ? Can they use the same USB bootloader ?


djgardn2

Thu, 18 Jun 2015 08:24:36 +0000

Hello deladriere,

Hopefully this answers your questions.

What is the difference with the DP2 board ? Basically only the pinout numbers are different that you would use inside a sketch while coding, other than that everything is exactly the same, see the photo attached at bottom of the post and/or the PDF file that you can printout and tape to the top of your microcontroller for easy pinout referencing on your breadboard. You can also see the pinout printout numbers for the chipKIT Pi or DP32 found in this link also [url]http://chipkit.net/forum/viewtopic.php?f=6&t=3312[/url] .

Why a new board ? I wanted to make the pinout numbers more consistent see photo below, for the MAKEmicro32 the pin numbering is 0-16, perfect for a "for loop" to set all digital pins as outputs as seen in the code example below:

// setting all pins as output and low on MAKEmicro32
for (int i=0; i<=16; i++)
{
   pinMode(i, OUTPUT); 
   digitalWrite(i, LOW);
}

I would not suggest using the code above on the DP32 or the chipKIT Pi really. If you compare the pinout printout that I put together for each board setting, you will notice that the numbering for the DP32 and chipKIT Pi boards are all over the place as well as some pin numbers are skipped due to pin numbering selection choices. A side note too, if you want to use all 9 analog pins (analogRead) don't use the chipKIT Pi because only 4 are available to be used and the other 5 aren't coded in to be used.

How do we choose between the MAKEmicro32 as DP32 or ChipkitPI ? For any of the boards (MAKEmicro32, DP32, chipKIT Pi) you can simply select the board you would like to use (only the pinout labeling/numbering will change). Using UECIDE, the top menu “Hardware->Boards” then chose your preference on what board you are using between the three. Everything else will be the same, granted you should reference the peripherals connected to the pin numbers for each board because that will be connected to a different pin on the microcontroller.

Can they use the same USB bootloader ? The DP32 board and the MAKEmicro32 currently use the same bootloader, so there is no difference there. On the other hand the chipKIT Pi uses a different bootloader. Regardless of the bootloader you can choose which ever board you would like to use when programming a sketch between the three board options.

The main difference between the bootloaders (DP32 vs chipKIT Pi) with my understanding is the DP32 bootloader/Program button is connected to the RB4 pin numbered as 17 when coding sketches for the microcontroller and on the chipKIT Pi the bootloader/Program button is connected to the RB9 pin numbered as 18 when coding sketches (someone please correct me if I'm wrong). A side note, MAKEmicro32 bootloader/Program button is connected to the RB4 pin numbered as 6 seen in the photo below. Edit1: I know there are two different chipKIT Pi bootloaders but I'm not referencing those differences for now.

MAKEmicro32 pinout printout image below: [attachment=1]MAKEmicro32_Pinout.jpg[/attachment] Edit2: A note on the photo above this is for the PCB board version so the T and C1/C2 are labeled as G since on the PCB they are ground pins on the external pins connected to the breadboard, see the DP32 pinout printout and/or chipKIT Pi pinout printout for referencing those connections/pins found here [url]http://chipkit.net/forum/download/file.php?id=684[/url].


deladriere

Thu, 18 Jun 2015 08:40:08 +0000

djgardn2,

You just made my day ;) thanks for these clear explanations One little suggestion : on the 3 PDF page you could put a title on top : DP32 / Chipkit Pi / MAKEmicro32 for the beginners like me and just add a * where the PGM pin is supposed to be & update the legend on the right of the chip


majenko

Thu, 18 Jun 2015 10:15:03 +0000

Better still, add a P by the number for the PROG button input, and an L by the number for the Bootloader LED output. Maybe also have #define's in your config for PIN_BTN1 (I think it is) and PIN_LED1 pointing to those numbers...


djgardn2

Thu, 18 Jun 2015 21:12:17 +0000

@ deladriere

I am glad to hear that my reply helped you and thanks for the suggestion on updating the PDF files to have the board titles to be included and improving the legend. I will work on an updated version in the next couple of hours.

@ majenko

Thanks for your input, I will definitely add those to the board files and get them over to you as soon as I do. I like the idea of adding P & L and will put that into the various printout PDF's and updating the legend with the new information too.

Just to double check that I understand about the L bootloader LED suggestion that would be the one that blinks consistently when in bootloader mode, correct? For the DP32 it is 14 and on the MAKEmicro32 it is 5. I need to double check that the chipKIT Pi blinks the same pin on microcontroller, if it does that would blink chipKIT Pi number 17.


majenko

Thu, 18 Jun 2015 21:33:25 +0000

Just to double check that I understand about the L bootloader LED suggestion that would be the one that blinks consistently when in bootloader mode, correct?

Yep, that's the one. It's good to keep that consistant with the LED definition in your files, so that you can attach one LED and have it always work for both the bootloader and your sketches. The example sketches often reference PIN_LED1 as the IO pin to manipulate when blinking etc.


djgardn2

Fri, 19 Jun 2015 00:55:47 +0000

Thanks majenko. I put together the PDF's with the updated changes (uploading very soon), next I will work on getting you the newly updated files to you in the next couple of hours.


djgardn2

Fri, 19 Jun 2015 01:24:58 +0000

Attached in this post is now a newly updated version of PDF files to include P & L, P for the program/bootloader button and L for the bootloader LED that blinks when you are in bootloader mode/program mode.

Newly added in the zip folder is a breadboard version pinout and PCB version pinout for the MAKEmicro32 board version. If you are using UECIDE you can use the newly added printout for the MAKEmicro32 that is found inside the zip folder. See file attached at end of post.

Printout which ever board you want, cut it out and tape it to the top of your microcontroller for easy pinout referencing for the DIY PIC32 breadboards found here [url]http://chipkit.net/diy-chipkit-board/[/url]. If you want a prinout for the DP32 or chipKIT Pi check out this link [url]http://chipkit.net/forum/viewtopic.php?f=6&t=3312[/url].

Printout Key:

R = MCLR V = VDD = 3.3v G = VSS = GND C1 = OSC1 = crystal oscillator C2 = OSC2 = crystal oscillator T = Tantalum capacitor 10uF (plus side) B = VBUS L = Bootload LED output (blinks when in bootloader mode) P = Program/Bootload button input pin

MAKEmicro32 breadboard version image (not actual size, use PDF printout to place on top of microcontroller only) attached below: [attachment=1]MAKEmicro32_pinout_image.jpg[/attachment]