Schematics or datasheets

I have a wile with arduino and I have been learning so much from the forum but, It must be a silly question, yet I'm asking me what does mean some references in schematics or datasheets for example in pin outs of a uC

what does mean

  • VS
  • VSS
  • VDD
  • GND

I Know what this mean or at least I wonder (power and ground) but some times I have seen VSS and VDD in same chip datasheet

some one can give me some advise about that.
how to reed datasheets correctly?

Vdd is usually the high power supply, sometimes Vcc.

Vs/Vss/Gnd is usually the low power supply.

FETs have Source and Drain terminals, bipolar transistors have Emitter and Collector. So the supply voltages for the collective sources, drains, emitters and collectors (plural) become: Vss, Vdd, Vee and Vcc.

Gnd is Ground.

We mostly use negative ground systems - largely a convention from the use of thermionic valves and thence automotive 12V systems, but we do, and for ground-side switching we use N-channel FETs and NPN transistors, so VDD is now (not so with earlier PMOS LSI) usually the positive as almost always is Vcc.

No comment in regard to datasheets.

some times I have seen VSS and VDD in same chip datasheet

VSS is normally the same as GND although on some chips (analogue switches maybe?) VSS is a more negative potential or the lowest of the analog voltages.

VDD == VCC == the plus power supply.


well thank you all

I also fund a tutorial on How to Read a Datasheet from Sparkfun:

that complements all your answers.
but in order to get this tread solved I must add what I understated about pin outs hoping this will be use full for a newbie.
and if I'm wrong please correct me or if you want do add something else please do it.

VS; VSS; VCC; VDD; VEE; GND, etc. may refer to power input and/or output and must check in the data sheet what does mean, not as I was doing, searching just the picture of the pin out in Google.

When more than pin named similar to this Vxx (where xx may be SS, DD, etc) one of them may be a logic pin it means that works with just a logic voltage 3.3v up to 7v, and the other must be power much more than +5 but as well it must check what does mean in the datasheet; Sometimes there is no GND in the pin out so one of the Vxx named pins must be GND.

Sometimes as well could be some pins with a line in the top:

If a pin has a star next to it or a line over the name, that's an indication that the pin is active low which means that you'll pull the pin low (0V) to activate it, rather than H (VCC):

in schematics the lines that ended in arrows or other shape must be joined with the others that ends with the same shape?
well is this all what I understood until now.

The names matter more - Arrows could be +3.3V, +5V. +12V.

Active Low signals may also have o on their pin in the device symbol, or a / at the end of their name, as in Reset/.

Net/pin names with a line (bar) above means that the signal is active low, you often see this in data sheets and on schematics inside the chip boundary, however IMO it's bad practice to use the bar for a net name. Why? Because if you have another net directly above it the bar can get lost in the line for the other net. Also that over-bar is almost impossible to show in documentation.

For this reason it's common for an active-low signal to have a normal printable character either before or after. eg


My preference of the the # but whatever.

Also an active low pin on a chip usually has a dot on the edge of the chip rectangle.

lines that ended in arrows or other shape must be joined with the others that ends with the same shape?

No, I don't think that's normal although there are a lot of practices around.

I always use the arrow for a signal when the net is not connected directly and it is the SOURCE of the signal, for example in your schem the VCC arrow on SV1 pins 1/2 is correct (according to my world). It is not correct everywhere else because they are not sources of the VCC signal, they should have a flat bar indicating that the signal comes form elsewhere.

Now I see that most schems here use the arrows as is shown in your example, so I may be the odd man out with this.

may be a logic pin it means that works with just a logic voltage 3.3v up to 7v,

No name will tell you the min or max voltage for that pin, you have to read that from the data sheet. VCC on one chip might be 2v5, on another 6v.

EDIT: RE using VCC, I used to do that all the time because there was usually no confusion, everything was 5v, these days I label the nets with the actual voltage or at least something that leaves no room for doubt, 3v3, 5v, 12v etc, not VCC because on a single board there might be 2-3 "VCC"s.


Here's an example of using a bar over a net name, clear enough inside the chip but not on the wires.

If it wasn't for the colour you'd never know, and you normally print in B&W.

Yes but that example is one of a bad engineere rather than the standard itself.
I prefer the bar, i have also sen a ! Used an a logic low indicator as in !CE that is also what you would write in C.

bad engineer

Agreed. In many schematic capture programs it's an easy matter to move pins so this doesn't happen, is that the case with Eagle? I assume not because of all the schems I see where moving a few pins would make that much more readable.


@ehrja, Thanks for reminding us that some of this stuff is not at all clear in the beginning.

Anyone seen a good all-in-one-place reference for this pin-related information??

I'd like to put something like this on the ArduinoInfo.Info WIKI:

Not me.


Hi Rob, you still on the road??

OT: Any updates to your on-wheels-electronics ideas? I'll be heading out to the Miami MakerFaire in Florida USA in our small camper and I'm looking at ArduinoHelper ideas..

you still on the road??

Technically I suppose we are in that we're still living in the truck, but it's been parked on our land for over a year now.

Any updates to your on-wheels-electronics ideas?

I keep getting contract work and also getting distracted by other things (like the design of our new camper on a Landcruiser) but last week I got back to one of my pet projects

Not really an "on-wheels" project but some parts are almost ready for PCB fab should I decide to proceed. As you may have noticed I seldom get past the design stage mostly because I design stuff that's too complicated and/or expensive for a one-man band to develop, but also because I find the whole BOM, ordering and build part of a project too tedious :). This is nice and simple though so who knows.


I just stumbled on another gotcha I hate, underscores in net names, they merge with the net wire and unlike overscores/bars they cannot be fixed by adjusting the pin spacing.

I just encountered this when using (what I believe are) the official names for the connections on the RPi expansion header.

These are supposed to be I2C0_SDA, UART0_TXD etc.


Is that from Eagle? A bit of a crap product in my opinion looks like it was designed by a three year old.

Is that from Eagle?

No that's Altium, I wouldn't touch Eagle with a barge pole.

I was asked by a Chinese PCB house to look at an Eagle file for them just 2 days ago because they didn't have Eagle. All they wanted to know was the size of the board and the number of layers. I couldn't even figure that out.

Yeah I know all CAD software is a pain to start with, but I've tried using Eagle 20 times and can never get anywhere with it. You can't even pan the display with the mouse AFAIK.


Man, you guys are tough on tools. I have no problem doing complex designs in Eagle. I admit the plethora of symbols to choose from to start was overwhelming. Once you figure out where stuff is located, it got a lot easier. Downloading the Adafruit and Sparkfun libraries helped a lot, many common components there. With help from the forum I also exported all the parts from some of the Arduino designs and had those to select from as well. I had a familiarity problem creating symbols for new parts to start, once I did enough symbols to remember how to create them in a consistent manner from time to time it got a lot easier. Can also find a lot of symbols at now too; Download a zip file. Unzip it to save a script. Execute the script and save the resultant library part. Like any tool, just need to use it enough.
I don't find the size limit a problem - you can get a lot in 80x100mm, or upgrade 1 step to 100x160. After 100x100mm there seems to a price jump for cards, and you can get a lot in a 100x100mm card, so I try and stay below that when I can.
Panning with a mouse - I do my designing on a laptop with touch pad, I don't think I ever noticed any panning problems, will have to see how I do it when I get home.

You know me, I never pass up a chance to have a dig at the Eagle UI :slight_smile:

Yeah as I said all CAD packages are a pain to start with, you just have to persevere and I guess I've never had the need to do that with Eagle. To be fair I almost gave up on other packages as well.

I think I'm justified in my criticism of the panning though unless I've missed how to do it, but every CAD package I've ever used (not just in electronics) allows you to pan the display by dragging with the mouse in one way or another, (although CorelDRAW rather annoyingly pans the opposite to what is intuitive).