PIC 16F84 / 16C84 F.F. Evaluation Board

You are the visitor n.

Fare click qui per la versione Italiana

Best view with 1024x768


The F.F. Evaluation Board and connection to a prototype-board

Back to Home Page

E-mail address


At the moment, sorry, the complete document is available in Italian version only.
I am going to translate it as soon as possible.
For your convenience, I have reported here the part still in Italian (the most part at the moment!); if you think you can find here something interesting, please bookmark this link and visit this page again.
There is, of course, another possibility: "Learning Italian in thirty hours". It's not so difficult, why not trying?

F. Iacopetti


When I set, some time ago, about working with a PIC 16x84, I had immediately to face the problem to have a permanently and stably working circuit, without mounting the PIC on a prototype board every time. Searching on the net, I didn't find anything really complete for a PIC 16F84 / 16C84; I therefore decided to personally build an Evaluation Board allowing to operate with this microcontroller in the RC and XT modes, that is with a clock generated by resistor-capacitor net or by a crystal, but above all allowing to interface the PIC with external circuits in a very versatile and in the same time reliable way. So the Evaluation Board was born. I present here an improved version of it, which adds some functions to the original ones, but, how to say, I am attached to the first version.

If you are interested in microcontrollers of higher families, you could take a look at the PIC 16F874 / 16F87 development board on this site.

Disclaimers and acknowledgements

This project is entirely personal, both in planning and in realising; an acknowledgement goes to the software allowing me to draw the printed circuit layout. The program is PCB Elegance v 2.0 (I have the FREE 200 pins limited version), realised by MERCO Electronics, which has authorized me by e-mail also to non-personal purposes.
Microchip and PIC are registered trademarks.

Attenzione: la versione della F.F. Evaluation Board presentata in questa pagina è la 3.0; si tratta di un circuito che è simile a quello della versione 2.0, riportata in fotografia, ma con alcune migliorie. La basetta visibile nell'immagine ospita un PIC 16F84 a 4 MHz, ma è compatibile anche con il PIC 16C84. Il circuito versione 2.0 è perfettamente funzionante sin dal Febbraio 2000 (from here the name F.F.), ma per mancanza di tempo sul nuovo circuito stampato i componenti non sono ancora stati montati. Anche se le modifiche sulla carta non dovrebbero incidere sulla possibilità di un corretto funzionamento, si tenga presente anche questa avvertenza. Indicheremo questa versione come "V. 3.0 Beta". Nel momento in cui anche la nuova versione sarà stata realizzata e collaudata provvederò all'aggiornamento di questa pagina.

Note: Although it's theoretically possible to use other forms of supply, this Evaluation Board has been projected to receive supply from a 9V battery and interfaced only with circuits with low voltage batteries supply.

In any case, be always aware of what you are doing!

Being this material at free disposal of whoever desires it, it is absolutely forbidden any form of use for commercial purposes.
It is also forbidden any change to the circuit if not for didactic or purely personal purposes; if this is the case, they must not take anyway to any form of direct or indirect profit.
If, in whichever way, you wish to divulge such changes, it is compulsory to ask a written permit to the author of this article (also by e-mail, at f_iacopetti@libero.it).
The circuit's layout and all the informations contained in this page are supplied "as they are", without any form of warranty. I don't assume of course any direct or indirect responsibility for direct or indirect damages to things or person coming from informations got from this article.
Suggestions of any kind to allow me to improve the circuit are well accepted.

Circuit's characteristics and description

I immediately say that this circuit is not a PIC programmer, but it can be easily interfaced with one of the many circuits of that kind that it is possible to find, allowing this way the user not to remove the microcontroller from the Evaluation Board while programming it.
As previously said, the photo you can watch at the beginnng of this page is concerning the circuit in the February 2000 version, the one preceding the 3.0 described in these pages; anyway, the two version do not differ in a huge way, so the image is similar to the one you could obtain realising the F.F. Evaluation Board v. 3.0.
The Evaluation Board is built on a single side breadboard, so to be realised with not too many difficulties. The most part of working possibilities are selectable by 4-ways and 6-ways dip-switches (in the photo only the 4-ways dip-switches); it is possilble to carry to the breadboard external power and I/O signals, or to get them from it, as well as carrying to the chip the programming signals; all connections with the external world should be realised using the connectors you can find on circuit's edges.
Before going on with the circuit's description, we introduce here an operative remark.

Remark for switches and connectors' pins identification

References to a particular switch belonging to the dip-switch Sx will be made by Sx-n, where n and x are integer numbers; the same convention for connectors JPx. In particular, a reference to the switch Sx-1 points out the first switch of the dip.switch Sx starting counting from top in the design where all components, bridges and tracks are reported; the same meaning when referring to connectors JP. As an instance, you can see that S10-6 is not connected to ny track; when opened, S4-4 is only connected to S4-2 and to the PIC's pin n.15; when closed, it is connected to JP2-2 and JP6-2, too.
Remark: in this text I will refer almost only to JP1, JP2, JP3, JP4; it is understood that I refer also to JP5, JP6, JP7, JP8 respectively, as homologous elements of the two sets are connected together pin by pin.

Let's now deal again with characteristics of the Evaluation Board.

Supply: the circuit has been projected for a 9V battery as a power supply, but it is also possible to use an unregulated 7-15V DC source (a 7805 supplies 5V regulated to the PIC, possibly to a programmer and also to an external circuit), or supply from an external circuit through JP4 - S5 (please read Microchip datasheets for suitable range).

/MCLR pin: it is possible to control it from an external circuit or by a programmer, to connect it with a pull-up directly to Vdd, or even to Vss through a capacitor so to realize a Power On circuit (already present in the PIC); there is also the possibility to reset the PIC by the S9 switch (not viewable in the picture).

Connection from and to external circuits of Vdd, Vss, /MCLR: connection from or to any external circuit of Vdd, Vss, /MCLR (this last one whichever the power source is); connection of Vdd and Vss from or to any programmer.

Clock generation: 4 MHz crystal, RC mode with two potentiometers for oscillation around 1 MHz and 100 KHz;
possibility of receiving clock signal from an external circuit or to send to it the reference oscillation.

Possibility of programming the PIC directly on the Evaluation Board: it is possibile to connect the board to a programmer by a 5 wires connector, with the possibility to supply power to the programmer or to receive power from it.

Connection from and to external circuits of I/O pins: all I/O pins are connected to connectors to interface the PIC with an external circuit. In the photos you can see only connectors for plugs, while in the new version you can find both those ones and SIL connectors for wiring.

Spie alimentazione: tre led inseribili singolarmente mediante jumpers indicano la presenza di alimentazione in parti diverse del circuito e ricordano di prestare attenzione ad evitare conflitti elettrici fra le possibili sorgenti di alimentazione.
Esiste anche un diodo per la protezione dall'inversione della polarità di alimentazione al 7805 (ma non per le altre sorgenti).

Qualche applicazione
Per quanto riguarda le possibili applicazioni, la basetta consente di avere un circuito di base sicuramente funzionante e facilmente interfacciabile, con conseguente possibilità di dedicarsi alla messa a punto del programma e del circuito da sviluppare.
Personalmente ho utilizzato la versione 2.0 per costruire, tra l'altro, un frequenzimetro di L.F. (fino a circa 18 KHz), un cardiofrequenzimetro (mediante coppia led-fotoresistore posta in prossimità della cute), entrambi con visualizzazione su display 7 segmenti, una interfaccia per la comunicazione con un mouse PS/2.

Selection of working mode

As previous said, the selection of working mode is realized by dip-switches.

Let's describe their functions.

It controls power and the reset.

Power: by S1-1 and S1-2 ON the PIC receives positive supply from the 7805, that is regulated +5V, and it is connected to the ground of the regulator itself, coinciding, through J2, with the external circuit's ground. In particular, S1-1 is for the +5V positive (Vdd) and S1-2 is for ground (Vss).
Lo switch S1-3, se attivato, permette al piedino /MCLR di essere connesso mediante pull-up alla Vdd (se inviata al PIC), il che, in parole povere, significa che in tal caso il PIC non viene tenuto nello stato di reset e il programma viene eseguito.
Per resettare il microcontrollore è comunque disponibile (e talvolta preferibile) un pulsante di Reset (S9).
Lo switch S1-4 permette di inserire fra il piedino /MCLR e la massa una capacità, in modo tale da ottenere l'uscita dallo stato di reset dopo un certo tempo dal collegamento all'alimentazione dello switch S1-3 connesso a /MCLR.
Tale espediente (personalmente mai utilizzato) dovrebbe essere comunque superfluo, visto che il PIC possiede internamente un circuito che svolge la medesima funzione.
Quando si vuole attivare il PIC, suggerisco di porre su OFF tutti gli interruttori di S1, attivare l'alimentazione (sia essa quella inviata al 7805 o quella proveniente da un circuito esterno), porre su ON S1-1 ed S1-2 (Vdd e Vss), porre su ON S1-3 (/MCLR) ed eventualmente S1-4 per il Power On ( quest'ultimo prima di S1-3). Il Pic comincia allora a funzionare. In dipendenza dal programma, può essere conveniente o necessario resettare il PIC con il pulsante S9.

Si tratta di un dip-switch a 6 vie che controlla la programmazione del PIC.
Fare molta attenzione, eventualmente, nel connettere la Vdd anche al programmatore se già inviata al PIC dal 7805 tramite tramite S1-1 e S1-2, oppure da un circuito esterno tramite S5. Alcuni programmatori hanno infatti bisogno di alimentazione, che può dunque essere quella presente sui piedini del PIC fornita attraverso S1, ma altri forniscono essi stessi l'alimentazione al PIC.
S10-1 connette la Vdd presente sul piedino del PIC a quella del programmatore.
S10-3 connette invece la Vss del PIC al programmatore.
S10-2 connette al programmatore il piedino /MCLR.
S10-4 ed S10-5 connettono la RB6 ed RB7 del programmatore, tramite lo switch S3, ai relativi piedini del PIC. La funzione di S3 è descritta oltre.

Si tratta dello switch che controlla la sorgente dell'oscillazione di riferimento con cui il PIC genera il clock interno. Da notare che, almeno nel caso di sorgente quarzata, l'oscillazione sui terminali Osc1 e Osc2 risulta sinusoidale.
S4-1 ed S4-2 connettono i piedini Osc1 e Osc2 del PIC al quarzo, facendo in tal modo funzionare il microcontrollore in modalità XT.
Tramite S4-3 ed S4-4 si connettono i piedini Osc1 e Osc2 ai connettori JP2 e JP6, permettendo in tal modo di portare tali segnali ad un circuito esterno o di riceverli da esso.

Controlla la sorgente di clock RC. E' possibile scegliere fra due potenziometri, o trimmer, che permettono di ottenere oscillazioni regolabili attorno a 1 MHz (R6) e a 100 KHz (R7).
Tramite S2-1 si connette la Vdd a R6, tramite S2-2 a R7, selezionando in tal modo la resistenza che determina la frequenza di oscillazione. Per ottenere l'oscillazione è necessario chiudere anche S2-3 (ovvero connettere Osc1 ad un terminale della capacità) ed S2-4, che connette al comune l'altro terminale della capacità.
Naturalmente solo una sorgente di oscillazione (RC o quarzo) deve essere selezionata in ogni istante, altrimenti le conseguenze sono imprevedibili.

Tramite S3-1 e S3-2 si connettono i piedini RB7 ed RB6 ai connettore JP3 e JP7.
Tramite S3-3 e S3-4 si connettono invece tali piedini ai relativi pin dello switch S10 ed eventualmente di JP9, connesso a sua volta all'eventuale programmatore.
Si raccomanda di fare attenzione, durante la programmazione, ad isolare i pin dei connettori JP3 e JP7 connessi a RB6 e RB7 aprendo S3-1 ed S3-2.

Con questo dip-switch si connettono i piedini Vdd,Vss ed /MCLR del PIC ai connettori JP4 e JP8. In particolare, S5-1 connette Vdd, S5-2 connette /MCLR, S5-3 connette la Vss.
Al solito, si faccia attenzione a non creare conflitto fra le alimentazioni.


Quando chiuso, S7 permette al led D1 di indicare la presenza di tensione in uscita al 7805.
S8 connette il led D2, il quale, in tal caso, indica la presenza di alimentazione al PIC, sia essa proveniente dal 7805, tramite S1, da JP9 tramite S10 o da JP4 tramite S5.
S6 connette invece il led D3, il quale indica la presenza di tensione fra i piedini 1 e 3 del connettore JP4; tale tensione può ovviamente essere quella fornita dal circuito che alimenta il PIC (il 7805, tramite S1, o il programmatore, tramite JP9 e S10), con S5-1 e S5-3 chiusi, oppure provenire dal connettore JP4 (in tal caso essa raggiunge il PIC solo se S5-1 e S5-3 sono chiusi.


Per programmare il PIC senza rimuovelo dalla Evaluation Board, si devono innanzitutto collegare a JP9 opportuni segnali e tensioni provenienti dal programmatore. In dipendenza dal tipo di quest'ultimo, si deve adottare la giusta configurazione degli switch.

If not otherwise specified, all switches must be put to OFF!

In any case, be always aware of what you are doing! Pay a great attention to possible conflicts between feedings, and keep in mind that connecting together two wires of "common" (or ground, or earth) from different power supplies can provoke serious damage to circuits!

Ad esempio, se alimentate il PIC e il programmatore con due diversi alimentatori, collegare fra loro i terminali "comune" (indispensabile) può essere molto pericoloso per la sopravvivenza dei circuiti stessi! Stessa cosa può succedere se state programmando il PIC con un programmatore collegato al computer e lo alimentate con un alimentatore! Attenzione! Quando avete dubbi, meglio utilizzare una batteria, la quale è flottante e si adegua al riferimento eventualmente imposto da un punto di connessione al circuito.

Indipendentemente da quale sia il programmatore, consiglio vivamente, soprattutto nel caso il PIC sia collegato ad un circuito esterno mediante JP4, di scollegare i terminali RB6 e RB7 del PIC dal connettore JP3 ponendo su OFF S3-1 e S3-2. Consiglio inoltre di isolare i piedini Osc1 e Osc2 ponendo su OFF tutti gli switch di S2 e S4.

I piedini RB6 e RB7 del PIC, naturalmente, devono essere collegati tramite S3-3 e S3-4 (ON) ai piedini S10-4 e S10-5, e da questi al programmatore collegato a JP9 ponendo su ON, appunto, gli switch S10-4 e S10-5.

Siate inoltre sicuri che, nel caso sia il programmatore a fornire alimentazione al PIC, esso sia in grado di erogare una corrente sufficiente anche all'alimentazione del led D2 (circa 5 mA).

1) Programmer giving to the PIC feeding (Vdd e Vss), /MCLR, RB6 and RB7.
In such a case, the switch S1 must have all its switches to OFF; programming is then possible switching to ON S10-1 (Vdd), S10-2 (/MCLR), S10-3 (Vss), S10-4 (RB6), S10-5 (RB7).

2) Programmer receiving feeding (Vdd e Vss) from the board.
feeding from 7805: in such a case it is needed to carry to the Vdd and Vss pins of the PIC the feeding from the voltage regulator, switching to ON S1-1 and S1-2 and with S1-3 and S1-4 set to OFF; all the switches of S10 must be set to ON, in order that feeding voltage could reach the programmer, and that the programmer itself could control /MCLR (and, obviously, pins RB6 and RB7).
2-b) feeding from an external circuit, through JP4: all the switches of S1 must be set to OFF; S5-1 and S5-3 must be set to ON, while S5-2 (/MCLR) to OFF; all the five switches of S10 must be set to ON to send feeding to the programmer and to receive /MCLR, RB6 and RB7 from it.


Note: all resistors are 1/4 W, 5%.
J1-J2 can be replaced by a single 2-pins connector, with 5.08 mm step (200 mils).
All other connectors have a 2.54 mm step (100 mils).
Jumpers have a distance of 7.62 mm (300 mils) between pins.

R1, R8, R9 - 680 Ohm
R2 - 10 KOhm
R3 - 100 Ohm
R4, R5 - 4.7 KOhm
R6 - Mini/micro - potentiometer 10 K
R7 - Mini/micro - potentiometer 220 K
C1, C2 - 100 nF
C3 - 47 uF 16 V
C4 - 10 uF 16 V
C5 - 100 uF 25 V
C6 - 100 pF
C7, C8 - 22 pF
Y1 - Crystal 4 MHz
D1, D2, D3 - LED diode 2.5 / 3 mm
D4 - 1N4001 or equivalent
S1, S2, S3, S4, S5 - 4 channels dip switch
S10 - 5 channels dip switch
S6, S7, S8 - Jumper
S9 - normally open, unstable switch
J1 - 1 pin connector (positive feeding to the board)
J2 - 1 pin connector (ground of feeding to the board)
JP1, JP4, JP9 - 6 pins connector
JP5, JP8 - 6 pins DIL connector
JP2 - 2 pins connector
JP6 - 2 pins DIL connector
JP3 - 8 pins connector
JP7 - 8 pins DIL connector
U2 - 7805 or equivalent
U1 - PIC 16F84 or PIC 16C84

Realizzazione del circuito

Sono riportate, nelle seguenti immagini, le figure relative al layout del circuito e alla disposizione dei componenti.

Si tratta di immagini a 100 e 300 dpi. Per avere le immagini in una nuova finestra, da dove potrete stampare quelle a 300 dpi, potete fare click direttamente su quelle visibili qui sotto o sui link sottostanti, oppure, se utilizzate un sistema Windows (TM) 95/98, utilizzare il tasto destro del mouse e scegliere "Apri collegamento in un' altra finestra". In alternativa potete salvare le immagini sul vostro hard disk o altra memoria di massa con l'opzione contestuale "Salva immagine con nome" e stamparle in un secondo tempo con il browser o altri programmi. Con il browser si potrebbero avere problemi di dimensioni, mentre ad esempio Imaging (TM) di Windows (TM) dovrebbe stampare automaticamente con le dimensioni reali. Se avete dei dubbi sulle dimensioni della stampa ottenuta, perlomeno del layout lato rame, e temete che non sia a grandezza reale, provate a misurare le distanze fra i fori per i componenti DIL, che deve risultare di 2.54 mm fra piedini contigui e di 2.54 mm * 3 = 7.62 mm fra le due file. Ovviamente, per non incorrere in grossolani errori di misura, nel caso della distanza fra pin contigui utilizzate quella fra il primo e il nono piedino di una fila, assicurandovi che sia di 2.54 mm * (9-1) = 20.32 mm. Non riuscirete naturalmente ad apprezzare i centesimi di millimetro, e forse neppure i decimi (non avrebbe neppure senso viste le dimensioni finite delle piazzole e dei loro fori), ma se la vostra misura è appena superiore ai 20 mm dovreste essere a posto. La distanza fra le file dovrebbe invece essere approssimativamente appena superiore ai 7.5 mm. Se una delle due distanze non fosse quella attesa , detta x la relativa misura, dovreste applicare un fattore di zoom orizzontale pari a 7.62/x e un fattore di zoom verticale pari a 20.32/x.

Nella seconda figura si nota la disposizione dei componenti con la basetta vista dall'alto e in trasparenza. Si notino i tre ponticelli (lato componenti) necessari al funzionamento del circuito.

NOTE: the 300 dpi layout is suitable as a good quality master, as it has not the gray areas of the 100 dpi image.

The schematic is visible in details in the 300 dpi version (257 KB).


The circuit layout at 100 dpi

Here the printable 300 dpi layout

Component placement and view of tracks and bridges (blue)

Here the printable 300 dpi drawing



Electrical schematic

Here the printable 300 dpi schematic


Component placement on the board

Here the printable 300 dpi drawing


Hoping I have been useful to you, only to say: buon lavoro!


If you want to contact me for informations and suggestions:


Last update: 28 Feb 2002, 23.47 HyperCounter HyperCounter