Introduction: PIC Microcontroller Development Board System
This project is for the design and use of a PIC development tool which is flexible to suit a wide range of PIC based electronic projects.
It is often easier to develop microcontroller projects with the use of development tools; which allow user based code to be demonstrated in real time. However, from personal experience, a number of existing development boards can often suffer from one or multiple of the following limitations;
1. Comprehensive designs are often expensive,
2. Carry very little peripherals,
3. Contain peripherals which are not suited to specific projects and therefore are rarely used,
4. Contain peripherals which occupy a large amount of board space thus adding to the cost,
5. Are unable to be changed or support a change in peripherals,
6. Contain a surface mount processor which cannot be removed and thus limiting the use case of the development board.
In reality, the user often chooses a development board based on the requirements of the project, however, this can lead to a mountng collection of development boards or restrict the freedom of the design.
The PIC development board design presented here aims to expand on these limitations.
The development system makes use of a two PCB board design principle.
The first PCB is a main back plane board which hosts the power supply, MCLR reset circuit, RS232 and PICKIT programmer pin-header. This board serves as an interconnecting board which holds up to six daughter boards.
The second PCB board type is the daughter board component. A standardised PCB design and footprint is used to create a PCB board design which can be added and removed from the main board as desired. The purpose of the daughter board is host either a microcontroller or peripheral circuit for example, a Digital to Analogue Converter (DAC).
The design intent is to create daughter boards as required. This project therefore is ongoing.
As part of this project I have designed a number of basic daughter board designs that are available for Gerber / Project file download.
For details regarding specific daughter boards please see project document: PIC Controller Development Board – Daughter Board Catalogue, document ref: RKD3, made available with this document location or via my website at; www.rkelectronics.org/picdev
The daughter boards connect to the main board via two 2 x 30 2.54mm pitch pin headers. This allows daughter boards to be created either via a PCB fabrication house or by hand using Vero board.
Step 1: Daughter Boards
The main board and daughter board interconnect include the following busses;
1. 43 dedicated I/O lines for either analogue or digital,
2. VDD and GND power supply,
3. 5 dedicated SPI Chip Select (CS) lines,
4. SPI Buss for MOSI, MISO and CLK lines,
5. I²C shared as part of the SPI buss,
6. Dedicated TX and RX lines for RS232, RS485 and MIDI,
7. Dedicated D+ and D- lines for USB data,
8. Dedicated PIC programming lines, MCLR, PGD and PGC.
Due to the nature of SPI chip select lines, these lines are shared with various I/O lines. The sharing of which I/O line depends on the microcontroller daughter board used. It is intended that the connection of the CS lines to the microcontroller will be done on the daughter board. For example, for the PIC16/18 40 Pin USB daughter board for PIC18F4550 the CS lines share I/O pins 16, 17, 18, 19 and 32, which equates to PIC pins Port C0, C1, C2, C3 and E0. For this reason it is required for all peripheral boards using SPI to include a switch or breaker method to disconnect unused or other utilised CS lines.
Due to the nature of the RS232 TX and RX and USB D+ and D- lines, these lines are also shared with various other I/O lines. For this reason it is required for all peripheral boards using RS232, RS485 or USB to include a switch or breaker method to disconnect unused or other utilised TX, RX, D+ and D- lines.
The I/O lines are routed to various microcontroller pins, which pins are detailed within the daughter board schematic or the PCB silkscreen. Usually ports are routed to;
1. Port A = I/O lines 0 – 7,
2. Port B = I/O lines 8 – 15,
3. Port C = I/O lines 16 – 23,
4. Port D = I/O lines 24 – 31,
5. Port E = I/O lines 32 – 35,
Other PIC types such as dsPIC30/33 and 24 series will use different wiring arrangements.
Step 2: Gerber Files
This page contains the Gerber files required to manufacture the Main Board and Daughter Boards created so far. The list is as follows;
1. Main Board,
2. Main Board to 2nd Main Board connection,
3. dsPIC30F 28 Pin [Type A]
4. dsPIC30F 28 Pin [Type B]
5. dsPIC30F 28 Pin [Type C]
6. dsPIC30F 40 Pin [Type A]
7. dsPIC30F 40 Pin [Type B]
8. LEDs for I/O 0 - 39
9. MCP3208 [Type A]
10. MCP3208 [Type B]
11. PIC16-18 [8-14-20Pin][non USB]
12. PIC16-18[28Pin][non USB]
13. PIC16-18[40Pin][non USB]
19. Seven Segment
20. 12 Bit DAC
22. PIC ADC
23. Push Buttons [Type A]
24. Push Buttons [Type B]
25. 16 x 2 Alphanumeric LCD Display
26. dsPIC30F [18 Pin]
27. Pin Header Breakouts
- Main Board.zip
- Module - 7 Segment.zip
- Module - 12 Bit DAC.zip
- Module - Board-To-Board Expansion.zip
- Module - Breakouts.zip
- Module - dsPIC30F 18Pin.zip
- Module - dsPIC30F 28 Pin [A].zip
- Module - dsPIC30F 28 Pin [B].zip
- Module - dsPIC30F 28 Pin [C].zip
- Module - dsPIC30F 40Pin [B].zip
- Module - dsPIC30F-40Pin-A.zip
- Module - LCD.zip
- Module - LEDs.zip
- Module - MCP3208 Type 2.zip
- Module - MCP3208.zip
- Module - MIDI.zip
- Module - PIC ADC.zip
- Module - PIC16-18 [8-14-20][nonusb].zip
- Module - PIC16-18 [nonusb].zip
- Module - PIC16-18 [nonusb].zip
- Module - PIC16-18[8-14-20][USB].zip
- Module - PIC16-18[USB].zip
- Module - PIC16-18[USB].zip
- Module - Push Buttons 1.zip
- Module - Push Buttons2.zip
- Module - Switches.zip
- Module - ULN2003.zip
Step 3: KiCAD Library Files
This bit here is for the KiCAD component library and footprint for the daughter board. You will need to add the edge cuts lines around the footprint before exporting your own gerber files.
Hope you enjoy this project!
my website for more projects is at
Participated in the