ALL CAPS/UPPER CASE IN SCHEMATICS AND DRAWINGS - Page 1
Forum section: electronics / general

author: jklasdf
author_rank: Regular Contributor
timestamp: March 20, 2018, 03:12:43 am
content: <rant>Most schematics in datasheets, service manuals, etc. have all text written in ALL CAPS, except for maybe the odd 0.47uF or 10nF capacitor, and sometimes Hz. At least one schematic I have in front of me even abbreviates uF as UF. I know this is a holdover from when things were lettered/inked by hand, and ALL CAPS is more consistent and readable when lettered by hand by different people...but pretty much every thing is done on the computer nowadays.I find mixed case to be significantly more readable, and usually use CamelCase and mixed case, especially for things that are actually words or multiple words, and not just abbreviations. At work, the CAD people convert everything to ALL CAPS religiously regardless of what they're given (I'm pretty sure it's a company standard), except for micro is still u, nano is n, and milli is still m thankfully. (Technically, kilo should probably also be a lowercase k, but uppercase seems to be the norm.) This is unlikely to change anytime soon though, because of consistency and tradition, and a lot of existing parts libraries.Thoughts/opinions? What do y'all use? From a survey of datasheets and evaluation board schematics, ALL CAPS are definitely still the most common.I have googled the issue a little bit, and there is the argument that at small sizes, ALL CAPS are close to double the height (but not really when you include ascenders and descenders), and thus easier to read. I find that the font size where text starts to be unreadable is the same for both ALL CAPS and mixed case though.Even worse than schematics, the most egregious offenders are mechanical drawings and fab notes, where complete sentences are written out in ALL CAPS as part of the notes. These sentences areextremelyannoying to read, whereas I guess I'm more used to net names and pin names being in all caps. The latest ASME Y14.2 (section 6.3) still specifies "Uppercase letters shall be used for all lettering on drawings unless lowercase letters are required" even in the latest 2014 revision unfortunately, so this is unlikely to change anytime soon in mechanical drawings done by people trying to follow the "standards".Side note: Is there a similar IEC or electronics standard, or is it just tradition now for schematics?</rant>

author: Halcyon
author_rank: Unknown
timestamp: March 20, 2018, 03:38:04 am
content: I can't speak for schematics however I hand-write in block letters 99% of the time. The reason being is that most of my notes are technical in nature and it leaves far less room for errors or misinterpretation, particularly when things like serial numbers and unique identifiers are concerned. Since some things I record can be tendered in court, there must be no mistake or guessing, particularly if I'm reading my notes 5... 10... years down the track.For example, avoiding confusion between a lower-case L and an upper-case I or the number 1, I can easily negate that because I always write in block characters, rather than mixed case.If for some reason there is potential to get letters and numbers mixed up, I draw a box around or underline the number so I know that regardless of what the character looks like, if it's in a box, it must be a number.I find this sort of system works well, especially after several pages of writing, my handwriting can get a bit sloppy. It avoids confusion between:Z and 27 and TS and 5B and 8

author: Daixiwen
author_rank: Frequent Contributor
timestamp: March 20, 2018, 07:37:18 am
content: In the old days engineers were all working in the same big office and it was a noisy environment. They had to yell when reading datasheets and schematics. That's why to this day you should still yell when reading a datasheet or doing a schematics review.More seriously we use upper case in schematics, just because "it's always done like that" I guess, but a few years ago on our designs with FPGAs we have started using I/O Designer from Mentor Graphics (bad idea, don't do it). This tool extracts signal names from VHDL code to generate schematic symbols, and as we are using lower case in VHDL, the signal names on the schematics are also lower case. It looks just... weird...

author: dmills
author_rank: Super Contributor
timestamp: March 20, 2018, 01:55:01 pm
content: Quote from: Daixiwen on March 20, 2018, 07:37:18 amAll that needed to be said really!Recovering DxD users tend to have a rather ah, militant view of Mentor.Regards, Dan.

author: Zero999
author_rank: Super Contributor
timestamp: March 20, 2018, 02:14:12 pm
content: Quote from: Halcyon on March 20, 2018, 03:38:04 amI've always found mixed case easier to read.I don't accept that all capitals avoids confusion between letters and numbers. I think it makes it worse. The capital letter S looks much more like the number 5, than the lower case s and the same is true with I and 1 vs i and 1 and 2 and Z vs 2 and z. I know lower case l can be confused with 1, but that's the only time all capitals is better, for everything else it's more confusing.

author: jklasdf
author_rank: Regular Contributor
timestamp: March 20, 2018, 05:29:57 pm
content: Blueskull, I use the same line spacing whether or not I'm using ALL CAPS or mixed case, and don't think all caps is better. The underscore _ in a lot of fonts goes about as low as the descenders do, and there aren't that many letters (_gjpqy_) that actually have descenders. I think you might be underestimating how much line space there actually is when using ALL CAPS, because it makes it look like there is less line spacing when every letter is capitalized.Halcyon, I can see it making some sense for hand lettering, especially for consistency for legal purposes. But 99.999% of all schematics end up on a computer today, especially if the end goal is to manufacture a PCB, and I think mixed case is more legible.Daixiwen, must have had loud offices back thenI think the reason it looks weird is just a matter of what you're used to...it's tradition.We use Mentor Graphics at work for PCB stuff, but not I/O designer. I'm not the biggest fan of the whole Mentor workflow, but that has as much to do with the process (a lot of different people involved with parts creation, CAD entry, etc, and most of them aren't electrical engineers...also a lot of SAP busywork thrown in for business management just cause), as it does with DxD itself.

author: AndyC_772
author_rank: Super Contributor
timestamp: March 20, 2018, 05:51:19 pm
content: I use all capitals for net names on schematics.It's easier to read on a bad copy, such as a scan of a printout which has been annotated by hand.There's no issue over whether CLK_25M is the same net as Clk_25M or clk_25m.Readability is less important than clarity and precision. I don't care whether or not you *like* reading a net name like CANL_IO1, I care that the specific letters and digits cannot be easily confused with others. For example, is "canl_io1" the same as "can1_iol" or "can1_io1" at a glance? (Reduce font size until your answer is "I can't tell, but it's easier with uppercase").You probably wouldn't like my PCB drill drawings either. They're shouty too, but equally hard to misinterpret.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 20, 2018, 09:56:47 pm
content: Related rant: stop using underscores and allcaps in file names. And just part numbers. It's ugly, it's hard to read, and it's not descriptive. We have long file names now...I don't use allcaps on schematics, where TTF is available and plenty readable. I still tend to on PCB, partly in keeping with the tradition, and also because TTF support can be poor and, in the case of Altium's line font, tittles* don't actually show (unless they finally fixed this in 18, I don't know).*The dot on i and j.Tim

author: Cyberdragon
author_rank: Super Contributor
timestamp: March 20, 2018, 11:03:16 pm
content: Quote from: T3sl4co1l on March 20, 2018, 09:56:47 pmThey may have to if certain programs are handling them and could malfunction if filenames are not in an exact format. Archaic, but possible.

author: Cyberdragon
author_rank: Super Contributor
timestamp: March 20, 2018, 11:08:59 pm
content: Quote from: T3sl4co1l on March 20, 2018, 09:56:47 pmThey may have to if certain programs are handling them and could malfunction if filenames are not in an exact format. Archaic, but possible.

author: Zero999
author_rank: Super Contributor
timestamp: March 20, 2018, 11:52:25 pm
content: Quote from: AndyC_772 on March 20, 2018, 05:51:19 pmAll capitals can be just as badCANL_IO1 can be confused with CAN_I01, but using lower case can_io1 is more obvious. 2 and Z can also be an issue: OUT_2, can look like OUT_Z, but out_z can't be so easily confused with out_2.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 20, 2018, 11:54:36 pm
content: Quote from: Cyberdragon on March 20, 2018, 11:08:59 pmI'd like to say we don't live in a world of ASCIIZ strings and buffer overflows anymore, but then PHP happened, and C continues to happen.Tim

author: CopperCone
author_rank: Super Contributor
timestamp: March 21, 2018, 12:02:47 am
content: THAT OFFICE LOOKS LIKE SHIT

author: jklasdf
author_rank: Regular Contributor
timestamp: March 21, 2018, 12:04:17 am
content: AndyC, for your example of CLK_25M/Clk_25M/clk_25m, it'd be just as easy to not notice that there are multiple different nets named CLK_25M/CK_25M/CLK_25, etc. It might be noticeable here since they're written side by side, but in practice I wouldn't notice unless it was something I was specifically looking for. If it were actually intentional that these be different nets, I personally find CLK_25M and clk_25m easier to distinguish than any of the all uppercase alternatives. Maybe one is a global net and the other is local...it could actually be useful. Really though, these should have more descriptive names if they're meant to be different nets.For your example of CANL_IO1, I want to clarify I'm not advocating for all lowercase as the alternative to ALL CAPS, but instead mixed case (i.e. allowing, not requiring lowercase). For CANL_IO1, I'm assuming CAN is an abbreviation for controller area network, L is an abbreviation for low, and IO is input/output. These all make sense capitalized, and I would still write these as all upper case on a mixed-case schematic. I'm not saying we should all go out and convert everything in every schematic from all uppercase to all lowercase.What's hard to read (i.e. slow and easy to misread) is a lot of net names and pin names are clearly just words or multiple words (possibly separated by an underscore, but also a lot of times in practice just run together) mixed arbitrarily with initialisms and abbreviations, and run together as one continuous uppercase "word" with no clear boundaries between words/initialisms/abbreviations. I can go back to old schematics that I used to look at daily, and it's still easy to initially misread these names or have to spend extra time parsing out the boundary between words/abbreviations/initialisms when everything is just one long uppercase "word". Even worse is when a long list of these names are all uppercase and also very similar to each other and right next to each other.With regards to your comment "I don't care whether or not you *like* reading..", it's not just about what I like. You act as if using all uppercase somehow magically makes all ambiguities go away. And that's not true. There are quite a few ambiguities with ALL CAPS also (more than lowercase, where the main ambiguity is between 1 and l): compare I1 vs i1, EF vs ef, PR vs pr, Z2 vs z2, S5 vs s5, CG vs cg, B8 vs b8. In Mentor Graphics tools, where the default stroke font is a slab serif there are even more: compare HA vs ha, 7T vs 7t, IT vs it. At extremely small font sizes, and after photocopying these ambiguities get worse. There is less variation between uppercase characters as a whole.https://en.wikipedia.org/wiki/All_caps#Readabilityhttps://en.wikipedia.org/wiki/All_caps#AmbiguitiesI don't take a magnifying glass to individual net names, and empirically it's far more common to mistake different uppercase letters and numbers when scanning a document than I've ever had for lower/mixed case text.For PCB drill drawings, if you mean just the drill charts showing where the different kinds of drill holes are, I don't mind all uppercase symbols. Or even just circles, squares, triangles, x, +, and random other symbols are pretty common and get the job done. These aren't something you read.If by PCB drill drawings you mean entire PCB fab drawings with notes, then yes you're right in saying that I probably wouldn't like reading them if they're done in ALL CAPS, especially the notes. I can understand the argument for net names more, but there's no reason for actual text that you have to read to be in ALL CAPS. It's not an issue of it being "shouty" either, since it's pretty standard and I'm used to it, it's an issue of legibility. Can you show me an actual list of fab notes that you think would be clearer written completely in ALL CAPS as opposed to mixed case?

author: BrianHG
author_rank: Super Contributor
timestamp: March 21, 2018, 12:44:45 am
content: I use all CAPS exclusively for GLOBAL and static variables and GLOBAL nets, or at least for the first full word in them, in my designs. Lower case for any items limited to their own routines or schematic pages.Makes life easy if I accidentally, or, intentionally use the same or similar name for a local variable, it wont conflict with the GLOBAL, and I know that the GLOBALs are GLOBAL.