PIC 16F877 / 16F874 Development Board

The Development Board v. 1.1 connected to an LCD display. It is well visible (read further, in the description) the row of LEDs used to check the logic state of up to 8 I/O ports or external circuits’ pins. Of course, if you own an 8 trace oscilloscope, you can do without it. :-)) On the right bottom the programming cable.

Characteristics of the DB12

As I have done with the PIC 16F84 / C84 Evaluation Board, designed and built by myself according to my need, when approaching a higher level microcontroller I decided to design a circuit allowing easy development of applications. This board, in fact, allows the PIC to be interfaced with external circuits in a reliable and versatile way, making it possible to blame just the external circuits in case of electrical problems, and, of course, to concentrate just on the software.

16F874 Development Board

Supported microcontrollers: PIC 16F877, 16F874

Note: the PIC 16F877 pin-out is upwardly compatible with the pin-out of PIC 18F442, 18F452, 18F448, 18F458. This board have been designed for PIC16F877 and tested with it (and on this page we’ll always refer to it); the circuit should be anyway suitable for mentioned microcontrollers, too (18F4x2 and 18F4x8), with the following notes:

a) the OSC2 pin would be multiplexed with RA6
b) in the 16F877, LVP programming and LVP-mode working involve the RB3 pin, while in the 18F4x2 and 18F4x8 families the RB5 pin is involved, so, in these ones, the LVP mode is not selectable just through a dip-switch like you can do for the 16F877; LVP working (but not LVP programming) should be anyway possible connecting to the ground the proper pin, through a resistor, through the board’s connectors or through a wire
c) the values of capacitance adviced for the main crystal oscillator, in the range 1 MHz to 20 MHz, are the same in the datasheet of the 16F877 and of 18F4x2 and 18F4x8 families; the value of 15 pF choosen for this board (and tested with crystals from 4 MHz to 20 MHz with the 16F877) should therefore be suitable also for the two mentioned 18 families.

Let’s now describe the main characteristics of this circuit:

  • Clock generated by RC net or by crystal (XT,HS); clock frequency can be varied with a trimmer in RC mode and using different crystals in the XT and HS modes (without soldering them, but just inserting them into a connector)
  • Octal CMOS buffer driving eight small LEDs: you could connect to the buffer’s inputs, by convenient but affordable wires (red wires in some of the pictures above), PIC’s I/O pins and pins of any external circuit (external circuit and this board connected to the same ground reference), and you can do this without charging the sources; of course, signals being monitored can be carried to other points through another connector
  • Double connectors, both for plugs and for wires, to connect to the external world all the microcontroller’s pins (RESET and supply included)
  • Connector to connect the PIC to various kinds of programmers, allowing you not to remove the PIC from its own socket. NOTE: THIS BOARD IS NOT A PROGRAMMER.
  • LVP mode selected through a dip switch
  • Selection of working modes through 4 or 6-ways dip switches
  • Trimmer to experience on-chip A/D converters (you can connect it to any of the 8 A/D converters of the 16F877)
  • Reset switch; selection of connection of RESET pin to Vdd through a simple pull-up or through a RC Power On circuit; the RESET pin can be driven by a programmer or by external circuits
  • Supply modes: 5V sourced by the on board regulator (input about 7-15V), that can also be fed to external circuits, or supply to the PIC from external circuits
  • LEDs signaling presence of supply in different points of the board (you can disconnect one of the three LEDs)

As previously said, this circuit is not a PIC programmer, but it can be easily interfaced with one of the many programmers you can find, allowing you not to remove the microcontroller from the board (in-system programming).
Compared to the version 1.1, connection also to LVP programmers is now supported; besides this characteristic, it is of course possible to work both with chips with the LVP bit set (just a switch need to be set) and with the LVP bit not set; it is of course possible to interface the board with traditional programmers (12 V on /MCLR), the most part, I would say.
The D.B. is built on a double side board, so realizing it is not the simplest thing in the world; besides, taking a look at the layout, you can easily recognize that it was the only way to make it, unless one had decided to insert dozens bridges.

NOTE: the images of the layout and the schematics further on this page are at low resolution, for obvious problems concerning the time needed to load this page, but their links point to better resolution images. When you click on a link of an image (i.e. the layout) and a new window opens, I suggest you not to close it, as it could be useful to take a look at it while reading this page and in particular for the examples that are further described.

While designing this circuit I tried to realize a versatile circuit and, in the same time, I also pursued the possibility to mount only the components one wish, making this D.B. a not expensive one.
It is of course possible to mount later a part or all the components not soldered at first.
The version here described is the 1.2, completed in February 2003.


For more detail: PIC 16F877 / 16F874 Development Board

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.