Idea: a Simple PIC Development Board


Introduction: Idea: a Simple PIC Development Board

A simple development board seems like a fun project. I'm recording my ideas here, and hope to get some input from other members of the 'uC (or anyone else).

To avoid feature creep, I think several levels of dev-board would be a good idea. This page will describe my ideas for a level one board, I will add pages for additional boards as ideas arise.

Level one dev-board:Getting to know the PIC

The concepts conveyed by this board should seem overly simple.

This board could introduce:
Burning a firmware (with ICSP)
Turning a LED on and off
Input interrupts

The 16F628(a) would be a great chip for this board. Its the successor to the famous 18f84, for which there are 100s of project examples on the web.

The 16F628a has a lot of great stuff not in the 84: hardware PWM, UART, internal OSC, etc. Its cheaper too!

Circuit wise (my laundry list of stuff):
A max202 and caps, serial connector.
A few resistors and LEDs (on some pins and PWM)
A few screw terminals - I think some pins, like the PWM, should have both a LED and a screw terminal. The LED can be removed if something external is driven.
Decoupling cap, MCLR resistor & ICSP diode.

Programming options:
I'm against putting a programmer on the board. Perhaps a small (socketless) JDM2 ICSP programmer can be designed for the project. These are often unreliable for beginners, but they can work great. I still haul them out when I need to see what went wrong with the ICD2.

Thoughts, suggestions?

The attached files are for a stripped down dev-board I made for a LED PWM chip from TI. This was the first 'real' electronics project I designed myself using datasheets. This is just an example and starting point, obviously its niether finished nor a very advanced use of Eagle...

Step 1: Dev-board Level 2

The second board could use a larger PIC with peripherals such as ADC, Vref+/-, SPI/I2C.



    • Planter Challenge

      Planter Challenge
    • Casting Contest

      Casting Contest
    • Clocks Contest

      Clocks Contest

    We have a be nice policy.
    Please be positive and constructive.




    How did you get the cool 3d image of your board? It looks neat is that some kind of eagle cad board viewer?

    4 replies

    If you save the schematic you have now as another name then delete the current scheamtic in the current name add a herachal sheet and put in the new file name you created. You will have partslist and put connectors on the higher level or any add ons you want sensors etc in the future.
    the gold herarcal labels and right clicking to add the pins to the sheet.
    It is in the kicad manual in the program under help.

    I use kicad for all my designs now I have a maple leaflabs maple arm controler board made as a kicad herarchal schematic so after it is tested it can be added to any other schematics and autorouted together.
    Here is the link to my downloads:

    and how do you plan on soldering a capacitor THROUGH a TO220 device (as seen in the picture)?

    I am useing a usb converter instead of a max on my pic18 board I am working on it will have optocouplers going from all the i/o ports excluding the analog mesurment ports. This would make it easier to power it seperatly a dc-dc converter would be a nice option. Isolation is important for analog circuitry.

    Well, that looks good, I have developed a board, exacltl on the same lines, using 16F628. It has 8 LEDs 2 push switches, one pizo, a UART. Associated boards include a LCD board, A JDM programmer (simple) and a 5 x7 LED matrix board. Details at:
    Anybody wants to sell this product? pls email at:

    I've designed a simple 16F88 Tutor board, I am making a 2 layer PCB for it. It's called Firefly. Here's the beta schematic Look at for more info.


    I'd have a selection of various circuitry on the board and connectable to the PIC via a set of links. So for example if you didn't want the uart, you could unlink it, you could link LEDs to different pins on the PIC, maybe link up a watch crystal (+caps). If you put in some op-amps you could have sensors connected to the comparators. I'd also pick the 16F88 instead, more memory+A/D converters and only slightly more expensive (perhaps cheaper depending on vendor). One cheap way you could do the linking to various devices would be to route all pins from the micro to a two row IDC header. The micro pins would go to one row, and the peripheral (rx/tx of serial port, LEDs, sensor, relay etc) would connect to the other row. When bridged, the peripheral row would connect to the linked micro pin. Of course some pins wouldn't be routed (eg power, reset etc). Phil

    2 replies

    Hey Phil, Would you be interested in specing a 'level 2 board'?

    sure....but whats a 'level 2' board??

    Of course, at least in theory one of the nice things about "open source" hardware (ie publishing CAD files for a package available as freeware (like eagle)) is that it's "easy" to modify a development board that almost meets your needs than to design one from scratch. (in reality, modifying a complex PCB design is no easier than modifying a complex C++ program, but at least the dependency chain tends to be shorter.)

    Perfect Development Board - Solderless breadboard! Personally, about all I want in a dev board for PICs is an ICSP header.

    It's hard to get agreement on what makes a good "development board" for a processor. Some people like a lot of semi-standard peripherals, others like a large prototyping area where they can build their own circuits (and there's no concencus of what a prototyping area should look like either.) Maybe we should just collect some links of boards that people have already put on the net?

    I would second Phil’s suggestion of using the 16F88 as a great learning chip.

    The place I buy my chips from has the 16F628A for $3.18… and the 16F88 for $4.75

    My favorite thing about the 16F88 is the commonly available bootloader. (I like being able to reprogram my chip in about a second.)

    I would recommend one of two options for your headers…either run them to an edge (along with power) so that you can use daughter boards (see for a fantastic demonstration)

    Alternatively, you could place headers for all of the pins on the underside of the board… so that the entire board can be placed into a breadboard.