Main Site Documentation



Cool name. Anyway, I need a diode for a current limit. Microchip suggests a Schottky diode, but does not say size or anything. In Eagle I am using a D035-7. But have no clue. Any ideas? Vdd is 5v. tia


These should work:

Also check out this site, it has tons of PIC related materials:


That spec is extremely old. :slight_smile:

Any PIC in the last 5, or more, years contains a built in startup timer. The cap and diode it’s required anymore. Just use a 10k pullup to vcc…



See this demo board as an example.

They just added a reset button along with a resistor to vcc…



Thanks Errol. No hw expert here, so may flub something.

In my understanding the MCLR/VPP is serving double-dutty here. MCLR stays high with a 10k pull-up in normal operation. However, I also want to design to be able to use MCLR/VPP for high volt programming (think 13V). The diode is just there to isolate rest of circuit from VPP volts during programming.

On the chip you show, MCLR is not high during normal operation - at least I don’t see it. Is it internally pulled high? TMK, the pic16f877 requires this high externally or it restarts.

Another question, now that I see yours. Do I need a .1uF Cap on Vdd even if sourced by a regulated 5v supply?


Every IC really requires a 0.1uf cap as close to the Vdd pin as possible. Its common practice.

Some pic’s (the development board shown) mine was shiped with a pic16f690. This device doesn’t need a crystal or a MCLR, those three pins are available as general IO

Cheers Ian


Thanks Ian. Another dumb question. My 16f887 (40pin) has two Vdd pins that both need supply - one pin each side. Do I need to put a .1uf cap on both sides near the respective pin? tia


It depends on the supply trace. If you have a nice size trace going from one pin to the other direct the one capacitor should be enough.


First off!! they are not dumb questions… You have helped me sooo much with c# RS232 routines, its the least I can do.

I only use one… On the side of the osc pins.

Cheers Ian


Hi William,

Sorry about the late reply. Things a bit hectic.

MCLR is pulled high on that demo board. See R1 and R2. JP5 is actually a cuttable trace on the PCB, but it is connected to VCC by default.

I do all my programming via high voltage, and always just use a 10K pull up to VCC.

With the diode they just try to explain that you must isolate anything connected to the programming pins. If the diode isn’t there, but the cap is then it will prevent the programmer form toggling the pin at the required times as the cap will cause delays…

In the Pickit2 manual they show the same cap/resistor/diode setup, but they also add that the diode can be replaced by a 470 ohm resistor, again just to isolate the programming pin from the cap…


This is one of my circuits, an I2C Sonar module…

programming is via TP1, TP2 and TP3…

BTW, it’s a PIC18F24J50


And the PCB…

Programming is via the 3 pads in the lower center of the PCB…


@ Errol. Thanks for heads-up on the cap thing. You may have saved me from a $30 purple coaster. I moved the cap behind the diode so cap not in high-voltage path.


@ errol. BTW - how do you re-order the pins the pic on your schemantic? Can you do with Eagle and does it involve smash?


Reorder the pins? On the PIC part? If I under stand correctly, then edit the library and edit the part.

I sometimes create two parts for each component. One with a logical layout(where the ports are grouped together) and a physical layout(where the pins are in physical order).

Logical makes schematic design easier. But physical payout helps to make the pcb layout easier while designing the schematic(choosing an analog input on the pic that is close to where the signal comes from etc…)…

There is also Pin Swap, which i have never used… :slight_smile:


Just saw this in :

[quote]Additionally, the MCLR/VPP signal is used by the development tool
to provide the voltage used for programming some devices or to signal
attention. In instances where the application has a large capacitor,
it will cause the signal rise and fall time to degrade. This will
hinder the ability of the tool and the device to communicate effectively.

It is recommended to keep the signal pulled up to VDD with a 10K
resistor and to utilize the power-on timer features of the device to
ensure a proper power-up sequence.


Thanks. I have discovered a few things which are probably obvious to others with Eagle.

  1. To undo an Autoroute, just hit Ripup botton and then click “Go” button at top menu bar to rip them all up. Took me a while to find that one. Lots of questions I found un-answered on the forums on this. But this works.

  2. Drag wires out of the pins, but don’t connect them headers. Name them. Then on your headers do same. Name each wire the same that you want connected to create a “net” hookup pin-to-pin. That way you don’t have crazy maze of wire crossing each other. Then just click label botton and the wire to show the Name on the wire. Makes it mucho simple and clean. Found that out after spending too much time on current board fighting with wires mess.

Maybe those two will help save someone time eventually.


When I started with Eagle I found SprakFun’s tutorials very helpful:

I highly recommend it.


“It is recommended to keep the signal pulled up to VDD with a 10K
resistor and to utilize the power-on timer features of the device to
ensure a proper power-up sequence.”

I am in sync with pull-up on vdd. Just also needed diode issolation for high-volt programming mode. So added that. Then everyone is saying also add a Cap on vdd. So now I got something like below.


Thanks Arc. I started with those. And they are good. I don’t recall those two tips, but I could have missed them.

This guy Jason also created a nice set of 10 videos on Eagle. Good stuff if your starting.