Rules for Creating Neat Schematics

Discussion in 'General Electronics Chat' started by DerStrom8, Jun 9, 2015.

  1. DerStrom8

    Thread Starter Well-Known Member

    Feb 20, 2011
    2,428
    1,328
    I found this on StackOverflow and wanted to repost it here. A gentleman by the name of Olin Lanthrop originally wrote this as a guide to drawing legible, understandable schematics. I think everyone could benefit from reading this (whether you are experienced in drawing schematics or not).

    Rules and Guidelines for Drawing Good Schematics

    A schematic is a visual representation of a circuit. As such, its purpose is to communicate a circuit to someone else. A schematic in a special computer program for that purpose is also a machine-readable description of the circuit. This use is easy to judge in absolute terms. Either the proper formal rules for describing the circuit are followed and the circuit is correctly defined or it isn't. Since there are hard rules for that and the result can be judge by machine, this isn't the point of the discussion here. This discussion is about rules, guidelines, and suggestions for good schematics for the first purpose, which is to communicate a circuit to a human. Good and bad will be judged here in that context.

    Since a schematic is to communicate information, a good schematic does this quickly, clearly, and with low chance of misunderstanding. It is necessary but far from sufficient for a schematic to be correct. If a schematic is likely to mislead a human observer, it is a bad schematic whether you can eventually show that after due deciphering it was in fact correct. The point is clarity. A technically correct but obfuscated schematic is still a bad schematic.

    Some people have their own silly-ass opinions, but here are the rules (actually you'll probably notice broad agreement between experienced people on most of the important points):

    1. Use component designators

      This is pretty much automatic with any schematic capture program, but we still often see schematics here without them. If you draw your schematic on a napkin and then scan it, make sure to add component designators. These make the circuit much easier to talk about. I have skipped over questions when schematics didn't have component designators because I didn't feel like bothering with the second 10 kΩ resistor from the left by the top pushbutton. It's a lot easier to say R1, R5, Q7, etc.
    2. Clean up text placement

      Schematic programs generally plunk down part names and values based on a generic part definition. This means they often end up in inconvenient places in the schematic when other parts are placed nearby. Fix it. That's part of the job of drawing a schematic. Some schematic capture programs make this easier than others. In Eagle for example, unfortunately there can only be one symbol for a part. Some parts are commonly placed in different orientations, horizontal and vertical in the case of resistors for example. Diodes can be placed in at least 4 orientations since they have direction too. The placement of text around a part, like the component designator and value, probably won't work in other orientations than it was originally drawn in. If you rotate a stock part, move the text around afterwards so that it is easily readable, clearly belongs to that part, and doesn't collide with other parts of the drawing. Vertical text looks stupid and makes the schematic hard to read.

      I make separate redundant parts in Eagle that differ only in the symbol orientation and therefore the text placement. That's more work up front, but makes it easier when drawing a schematic. However, it doesn't matter how you achieve a neat and clear end result, only that you do. There is no excuse. Sometimes we hear whines like "But CircuitBarf 0.1 doesn't let me do that". So get something that does. Besides, CircuitBarf 0.1 probably does let you do it, just that you were too lazy to read the manual to learn how, and too sloppy to care. Draw it (neatly!) on paper and scan it if you have to. Again, there is no excuse.

      For example, here are some parts at different orientations. Note how the text is in different places relative to parts to make things neat and clear.

      [​IMG]

      Don't let this happen to you:

      [​IMG]

      Yes, this is actually a small snippet of what someone dumped on us here.
    3. Basic layout and flow

      In general it is good to put higher voltages towards the top, lower voltages towards the bottom, and logical flow left to right. That's clearly not possible all the time, but at least a general higher level effort to do this will greatly illuminate the circuit to those reading your schematic.

      One noteable exception to this are feedback signals. By their very nature, they feed "back" from downstream to upstream, so they should be shown sending information opposite of the main flow.

      Power connections should go up to positive voltages and down to negative voltages. Don't do this:

      [​IMG]

      There wasn't room to show the line going down to ground because other stuff was already there. Move it. You made the mess, you can unmake it. There is always a way.

      Following these rules causes common subcircuits to be drawn similarly most of the time. Once you get more experience looking at schematics, these will pop out at you and you will appreciate this. If stuff is drawn every which way, then these common circuits will look visually different every time and it will take others longer to understand your schematic. What's this mess, for example?

      [​IMG]

      After some deciphering you realize "Oh, it's a common emitter amplifier. Why didn't that #%&^$@#$% just draw it like one in the first place!?":

      [​IMG]
    4. Draw pins according to function

      Show pins of ICs in position relevant to their function, NOT HOW THEY HAPPEN TO STICK OUT OF THE CHIP. Try to put positive power pins at top, negative power pins (usually grounds) at bottom, inputs at left, and outputs at right. Note that this fits with the general schematic layout as described above. Of course this isn't always reasonable and possible. General purpose parts like microcontrollers and FPGAs have pins that can be input and output depending on use and can even vary at run time. At least you can put the dedicated power and ground pins at top and bottom, and possibly group together any closely related pins with dedicated functions, like crystal driver connections.

      ICs with pins in physical pin order are difficult to understand. Some people use the excuse that this aids in debugging, but with a little thought you can see that's not true. When you want to look at something with a scope, which question is more common "I want to look at the clock, what pin is that?" or "I want to look at pin 5, what function is that?". In some rare cases you might want to go around a IC and look at all the pins, but the first question is by far more common.

      Physical pin order layouts obfuscate the circuit and make debugging more difficult. Don't do it.
    5. Direct connections, within reason

      Spend some time with placement reducing wire crossings and the like. The recurring theme here is clarity. Of course drawing a direct connection line isn't always possible or reasonable. Obviously it can't be done with multiple sheets, and a messy ratsnest of wires is worse than a few carefully chosen "air wires".

      It is impossible to come up with a universal rule here, but if you constantly think of the mythical person looking over your shoulder trying to understand the circuit from the schematic you are drawing, you'll probably do alright. You should be trying to help people understand the circuit easily, not make them figure it out despite the schematic.
    6. Design for regular size paper

      The days of electrical engineers having drafting tables and being set up to work with D size drawings are long gone. Most people only have access to regular page-size printers, like for 8 1/2 x 11 inch paper here in the US. The exact size is a little different all around the world, but they are all roughly what you can easily hold in front of you or place on your desk. There is a reason this size evolved as a standard. Handling larger paper is a hassle. There isn't room on the desk, it ends up overlapping the keyboard, pushes things off your desk when you move it, etc.

      The point is design your schematic so that individual sheets are nicely readable on a single normal page, and on the screen at about the same size. Currently, the largest common screen size is 1920 x 1080. Having to scroll a page at that resolution to see necessary detail is annoying.

      If that means using more pages, go ahead. You can flip pages back and forth with a single button press in Acrobat Reader. Flipping pages is preferable to panning a large drawing or dealing with outsized paper. I also find that one normal page at reasonable detail is a good size to show a subcircuit. Think of pages in schematics like paragraphs in a narrative. Breaking a schematic into individually labeled sections by pages can actually help readability if done right. For example, you might have a page for the power input section, the immediate microcontroller connections, the analog inputs, the H bridge drive power outputs, the ethernet interface, etc. It's actually useful to break up the schematic this way even if it had nothing to do with drawing size.

      Here is a small section of a schematic I received. This is from a screen shot displaying a single page of the schematic maximized in Acrobat Reader on a 1920 x 1200 screen.

      [​IMG]

      In this case I was being paid in part to look at this schematic so I put up with it, although I probably used more time and therefore charged the customer more money than if the schematic had been easier to work with. If this was from someone looking for free help like on this web site, I would have thought to myself screw this and gone on to answer someone else's question.
    7. Label key nets

      Schematic capture programs generally let you give nets nicely readable names. All nets probably have names inside the software, just that they default to some gobbledygook unless you explicitly set them.

      If a net is broken up into visually unconnected segments, then you absolutely have to let people know the two seemingly disconnected nets are really the same. Different packages have different built-in ways to show that. Use whatever works with the software you have, but in any case give the net a name and show that name at each separately drawn segment. Think of that as the lowest common demoninator or using "air wires" in a schematic. If your software supports it and you think it helps with clarity, by all means use little "jump point" markers or whatever. Sometimes these even give you the sheet and coordinates of one or more corresponding jump points. That's all great, but label any such net anyway.

      The important point is that the little name strings for these nets are derived automatically from the internal net name by the software. Never draw them manually as arbitrary text that the software doesn't understand as the net name. If separate sections of the net ever get disconnected or separately renamed by accident, the software will automatically show this since the name shown comes from the actual net name, not something you type in separately. This is a lot like a variable in a computer language. You know that multiple uses of the variable symbol refer to the same variable.

      Another good reason for net names is short comments. I sometimes name and then show the names of nets only to give a quick idea what the purpose of that net is. For example, seeing that a net is called "5V" or "MISO" could help a lot in understanding the circuit. Many short nets don't need a name or clarification, and adding names would hurt more due to clutter than they would illuminate. Again, the whole point is clarity. Show a meaningful net name when it helps in understanding the circuit, and don't when it would be more distracting than useful.
    8. Keep names reasonably short

      Just because your software lets you enter 32 or 64 character net names, doesn't mean you should. Again, the point is clarity. No names is no information, but lots of long names are clutter, which then decreases clarity. Somewhere in between is a good tradeoff. Don't get silly and write "8 MHz clock to my PIC", when simply "CLOCK", "CLK", or "8MHZ" would convey the same information.

      See this ANSI/IEEE standard for recommended pin name abbreviations.
    9. Upper case symbol names

      Use all caps for net names and pin names. Pin names are almost always shown upper case in datasheets and schematics. Various schematic programs, Eagle included, don't even allow for lower case names. One advantage of this, which is also helped when the names aren't too long, is that they stick out in regular text. If you do write real comments in the schematic, always write them in mixed case but make sure to upper case symbol names to make it clear they are symbol names and not part of your narrative. For example, "The input signal TEST1 goes high to turn on Q1, which resets the processor by driving MCLR low.". In this case it is obvious that TEST1, Q1, and MCLR refer to names in the schematic and aren't part of the words you are using in the description.
    10. Show decoupling caps by the part

      Decoupling caps must by physically close to the part they are decoupling due to their purpose and basic physics. Show them that way. Sometimes I've seen schematics with a bunch of decoupling caps off in a corner. Of course these can be placed anywhere in the layout, but by placing them by their IC you at least show the intent of each cap. This makes it much easier to see that proper decoupling was at least thought about, more likely a mistake is caught in a design review, and more likely the cap actually ends up where intended when layout is done.
    11. Dots connect, crosses don't

      Draw a dot at every junction. That's the convention. Don't be lazy. Any competent software will enforce this anyway, but surpringly we still see schematics without junction dots here occasionally. It's a rule. We don't care whether you think it's silly or not. That's how it's done.

      Sort of related, try to keep junctions to Ts not 4-way crosses. This isn't as hard a rule, but stuff happens. With two lines crossing, one vertical the other horizontal, the only way to know whether they are connected is whether the little junction dot is present. In past days when schematics were routinely photocopied or otherwise optically reproduced, junction dots could dissappear after a few generations, or could sometimes even appear at crosses when they weren't there originally. This is less important now that schematics are generally in a computer, but it's not a bad idea to be extra careful. The way to do that is to never have a 4-way junction.

      If two lines cross, then they are never connected, even if after some reproduction or compression artifacts it looks like there maybe is a dot there. Ideally connections or crossovers would be unambiguous without junction dots, but in reality you want as little chance of misunderstanding as possible. Make all junctions Ts with dots, and all crossing lines are therefore different nets without dots.
    Look back and you can see the point of all these rules is to make it as easy as possible for someone else to understand the circuit from the schematic, and to maximize the chance that understanding is correct.

    • Good schematics show you the circuit. Bad schematics make you decipher them.
    There is another human point to this too. A sloppy schematic shows lack of attention to detail and is a irritation and insult to anyone you ask to look at it. Think about it. It says to others "Your aggrevation with this schematic isn't worth my time to clean it up" which is basically saying "I'm more important than you are". That's not a smart thing to say in many cases, like when you are asking for free help here, showing your schematic to a customer, teacher, etc.

    Neatness and presentation count. A lot. You are judged by your presentation quality every time you present something, whether you think that's how it should be or not. In most cases people won't bother to tell you either. They'll just go on to answer a different question, not look for some good points that might make the grade one notch higher, or hire someone else, etc. When you give someone a sloppy schematic (or any other sloppy work from you), the first thing they're going to think is "What a jerk". Everything else they think of you and your work will be colored by that initial impression. Don't be that loser.
     
    ScottWang, Biff383, MikeML and 9 others like this.
  2. dl324

    Distinguished Member

    Mar 30, 2015
    3,250
    626
    This is very insightful; a well written schematic quickly conveys purpose. In addition, it's very similar to the style I developed about 40 years ago. I only have a mild "issue" with the texting/labeling example in #2. I much prefer to have the part number versus it's specs; IMO, 1N4004 conveys 1A 400V in a more meaningful (to me) way. Resistor values should use the correct suffix (K not k), tolerance should be handled notes (e.g. all resistors 1/4W 5% unless noted (in another note) otherwise).

    Flow should be like flow charts (does anyone still draw these?), predominantly right to left, top to bottom.
    Edit: Brain fade... meant left to right, top to bottom... As someone pointed out in a later post.

    And, of course there are exceptions. I've traded off making a schematic fit in less space by bending some of my own "rules"...
     
    Last edited: Jun 9, 2015
    DerStrom8 likes this.
  3. OBW0549

    Well-Known Member

    Mar 2, 2015
    1,328
    890
    Excellent guidelines; this post deserves a stickie.

    I'm not surprised that Olin Lathrop authored these. I made his acquaintance on the PICList many years ago, and despite his uncompromising perfectionism and his frequent abrasiveness-- he had ZERO tolerance for newbies who didn't learn quickly-- I came to like and respect him as an engineer. Its good to know he's still around.
     
    DerStrom8 likes this.
  4. DerStrom8

    Thread Starter Well-Known Member

    Feb 20, 2011
    2,428
    1,328
    I agree wholeheartedly. I used to write component specs rather than part numbers (sometimes) though I did not really have a rule for them at the time. When I started designing schematics and PCBs professionally, however, I realized how important it is to include the part numbers in the schematic to avoid confusion. Capacitors, inductors, and resistors still get specs instead of part numbers, but diodes, chips, fuses, oscillators, etc get actual part numbers. I do not include the wattage, tolerance, etc for resistors because the schematics I create for my job are not generally used to assemble the PCB. It is only used to do the PCB layout, and a bill of materials is generated that contains all of the information (quantity, designator, manufacturer, part number, description, and other notes) for each and every component on the schematic. Therefore, the schematics I create generally only show the designator (C1, R45, L2) and the value (0.1uF, 47K, 680uH) for simple parts.
     
  5. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,394
    1,606
    A very good list!

    1. Yes yes yes. Even a throw away sketch to illustrate a point needs the ref des to further the discussion. Values help too, though to a lesser extent: i.e., generic diode or such.

    2. Yes, you want information to be accessible. ref des and values go near the part and not near other parts. Try to be consistent too: example: if the horizontal resistors have ref des above and value below make sure ALL horizontal resistors have ref des above and value below.

    3. Agree (with exceptions). I would add you generally want inputs on the left and outputs on the right.

    If a circuit is based on some conventional circuit (such as the illustrated common emitter amp) make it look like one!

    I've become less pedantic about the ground symbol needing to point downwards. If convenient (when grounding pins not connected to power) I see no harm in a horizontal ground symbol: it works for power nets why not the ground net?

    Just don't point a ground symbol going UP. Such is an aberration.

    4. Sooth. Make the form follow the function, not the pinout.

    5. I'm not a huge fan of "net name" connectors, though I use them and see the need. What I do not like is "part of" (P/O) devices where half a connector is here and the other half there. Draw it as one part and use net names to show connections.

    6. I prefer A size (8 1/2 x 11) but B size (11 x 17) (twice an "A") is also quite useful. If you don't have a printer to make it in one sheet you can always tape two A's together. If you do print an B on an A it is usually still readable.

    Anything larger should be illegal.

    7. Labeling major, even minor nets is a huge bonus when you get down to routing a board.

    8. Short names rule, but make sure they are descriptive. Don't use "Vcc2" when "12V" is the power running the board derived from an adjustable regulator.

    DO read the the netlist so you can catch typos. One board I spun for someone had a net for 3.3V and another net for 3.3_V. Since the oddball net connected a part to it's local bypass cap it flew thru the design rule check as all nets had more than 1 connection. Too bad this part never got any power.

    9. Meh... Washington tried this with street names until NYC came up with a 20 million dollar bill to change a recent batch of street signs. If you don't have sub scripting (I don't) I way prefer "Vcc" over "VCC". It's just easier on my eyes.

    10. Of course! Don't spew a bunch of caps in parallel along the bottom of the schematic: show the layout guy where you need them, and show the troubleshooter what caps you thought were sufficient.

    11. Dots connect, crosses don't. ALWAYS. No exceptions. Make it clear.

    The summations bear repeating:

    Good schematics show you the circuit. Bad schematics make you decipher them.

    Neatness and presentation count. A lot.
     
  6. DerStrom8

    Thread Starter Well-Known Member

    Feb 20, 2011
    2,428
    1,328
    I use B size with almost all mechanical drawings and some schematics. If a schematic design is large enough to require two A-size sheets I would just use a B. If it requires 3 or more I split it up into multiple A sheets.
     
  7. shortbus

    AAC Fanatic!

    Sep 30, 2009
    4,015
    1,531
    Very good information. But as a newbie/learner I do the best I can. It's hard to do any better when you don't know any better way of doing it. Not all have done this as a profession, some are young learners, some like me are old learners. But I don't think any of us say to our selves, "let's see how hard I can make it on people helping me." At least I don't.

    I have several books and have visited this and other websites trying to find a "correct" way. The part about not using the pins in numerical order really struck me, when using Diptrace most all of the library part pins are in numerical order. Do you guy's redraw all of them? If you change the order doesn't that screw things up when going to 'PCB capture'?
     
  8. WBahn

    Moderator

    Mar 31, 2012
    17,777
    4,804
    I seriously doubt anyone (trolls excepted) consciously set out to make it hard to follow what they are saying and/or asking. The point is that it is a LACK of conscious effort to NOT make it hard to follow that is the problem and that makes it come across that way.

    When you see a menagerie is it usually the result of a lack of a lot of things -- lack of attention to detail, lack of pride in your work, lack of professionalism, lack of communication skills, lack of a willingness to look over your work from the audience's perspective. The list goes on. All of these are learned skills and are generally learned by way of doing a poor job of it and having that pointed out. One of the things that annoys me most is when someone posts something that forces you to guess and then they get defensive when you point that out to them.

    Depends on how you do it and the capabilities of the tools. Most schematic symbols associated pins with pin numbers via an attribute and it doesn't matter where you draw the pin on the symbol. Some tools allow you to create multiple symbols that are all part of one physical packaged part.
     
    shortbus likes this.
  9. kubeek

    AAC Fanatic!

    Sep 20, 2005
    4,670
    804
    Why should the correct suffix be 'K', when the SI kilo- prefix is 'k'?

    I guess that should be the other way around.
     
    DerStrom8 likes this.
  10. DerStrom8

    Thread Starter Well-Known Member

    Feb 20, 2011
    2,428
    1,328
    This post is not intended to criticize people new to schematic drawing. It is intended as a guide to help them make their schematics more readable.

    As for pin numbering, I generally try to keep my power pins on the top (positive) and bottom (ground and negative), my inputs on the left, and outputs on the right. 95% of the time, putting them in numerical order leads to sloppy schematics,with wires crossing over each other, and inputs/outputs going every which way. It makes following the logic flow very difficult. Setting them up out of order does not screw up the PCB capture at all.
     
  11. WBahn

    Moderator

    Mar 31, 2012
    17,777
    4,804
    It can be taken as part of the general lack of attention to detail regarding the proper use of units.

    I think that the convention from way back was to use uppercase on everything on a schematic. I've seen M used for millifarads and for megohms on the same schematic. I guess the thinking is that all uppercase is less likely to be rendered illegible over time with dirt and handling (the search space for what it might be is reduced) and that milli and mega are so far apart that you can safely count on it not being megafarads or milliohms (though that latter one is clearly not THAT unreasonable to see). SPICE packages use M for milli and you have to use MEG for mega (and SPICE is case-insensitive).

    Personally I use 'k' and, if possible, use the Ω symbol, though many schematic capture packages don't support that.
     
  12. Lestraveled

    Well-Known Member

    May 19, 2014
    1,957
    1,215
    I have compared schematic drawing to public speaking. You are communicating to others through the schematic. The schematic is not just a bunch of connections, it is a series of statements that communicate function and intent. Make the each sub-schematic a clear statement or function. A badly drawn schematic makes the reader struggle to understand it. A well drawn schematic is understood in seconds.

    A schematic is a language, learn to speak it well and everyone will listen. Do it poorly and you will speak to an empty room.
     
    cmartinez likes this.
  13. WBahn

    Moderator

    Mar 31, 2012
    17,777
    4,804
    Engineering is about problem solving and problem solving is about communication.
     
    cmartinez and Biff383 like this.
  14. dl324

    Distinguished Member

    Mar 30, 2015
    3,250
    626
    That's the way I was taught in my EE classes. The suffixes were 'K' and 'M', not 'k' or 'm'.
    My bad, that's what I meant. Sometimes a part of my brain tells my fingers to swap things.:oops:
     
  15. kubeek

    AAC Fanatic!

    Sep 20, 2005
    4,670
    804
    There's 'M' and 'm', which have entirely different meaning. How poor 'k' got dragged into that I have no idea, but that's beside the point.
    I am curious, were you told that inductors are to be written as 2MH or 2mH? How did you make a difference between 2MΩ and 2mΩ? It seems rather impractical to me..
     
  16. DerStrom8

    Thread Starter Well-Known Member

    Feb 20, 2011
    2,428
    1,328
    M and m are distinctly different, as each represents a different metric prefix. Big "M" is Mega- and little "m" is milli. Very different.

    I find that K and k really aren't as critical, as to my knowledge there is no "K" metric prefix. "Kilo" is indeed represented by a little "k", but since it's on the "big" side (greater than one) then it is often represented by a big "K". It doesn't matter which one you see (1kΩ or 1KΩ), you know that it is 1000 ohms. If you see 100MΩ or 100mΩ you MUST recognize that "M" is for "Mega" (1,000,000 ohms) and "m" is for "milli" (0.001 ohms).

    I frequently use "K" rather than "k" to keep a schematic looking consistent--I don't often use resistors with values less than 1 ohm so I generally keep my prefixes capitalized when it's not critical.
     
  17. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,394
    1,606
    Yes, I do exactly that, I redraw the part. Several times over if need be. My capture tool is Kicad and I will typically build a custom library for the current projeect so I can leave the stock symbols intact (though I have strong disagreements on the basic cap, resistor and diode symbols so I've redrawn them globally).

    The PCB capture folows the net links at the pin number level so the pin order on the schematic has no effect on the pin layout on the PCB.

    ======

    AFAIK "K" is the north American standard useage while "k" is the European standard.
     
    shortbus and DerStrom8 like this.
  18. dl324

    Distinguished Member

    Mar 30, 2015
    3,250
    626
    The convention I was taught was positive exponents were uppercase and negative exponents were lowercase, so 'M' would always be Mega and 'm' would always be milli.
     
  19. DerStrom8

    Thread Starter Well-Known Member

    Feb 20, 2011
    2,428
    1,328
    That is generally correct, and I generally do it that way. The confusion comes from there only being one "k"/"K" (there is not a "k" for a negative exponent), and technically the metric prefix for "kilo" is lowercase "k".

    [​IMG]
     
    cmartinez likes this.
  20. dl324

    Distinguished Member

    Mar 30, 2015
    3,250
    626
    I didn't realize there were so many exceptions. I've seen 'k' and 'K' in literature originated in the US; I'm okay with that, but I still prefer 'K'. When I use the European convention of using the suffix in place of a decimal (e.g. 2.74K (or k) becomes 2k74 which I prefer over 2,74k).

    Learned something today...
     
    DerStrom8 likes this.
Loading...