How NOT to Draw a Schematic

Go To Last Post
18 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've just stumbled across this schematic. It reminds me of one of those maze puzzles where you have to follow a line from start to finish.

 

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It looks like a auto router also have made the schematic ;)

Last Edited: Sat. Feb 2, 2019 - 04:33 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

This schematic reminds me of the struggle I often have drawing schematics, especially in EAGLE - maybe other design and layout packages do this, also.

 

The default library has most high pin count schematic symbols with the pins arranged by functionality, rather than physical pin location. For mid-size AVRs, all the ports are on one side of the symbol and power, grounds, crystal, and such are on the other. I, on the other hand, want a schematic that allows me to go, in one step, from the schematic to the physical board for signal tracing and troubleshooting. I do not want so many levels of indirection. l want the translation from schematic to board  to be simple, otherwise my brain hurts. 

 

Also, I have a tendency to rearrange pin assignments during layout to simplify layout. For GPIO and ADC pin functions on standard AVRs, you can do that. For the newer devices with pin mapping, you can do that even more. Having the schematic symbol reflect the physical connections simplifies that for me.

 

Yes, I know that others are happy with lots of abstraction between schematic and board. A literal schematic does not, however, have to look like that monster that Brian showed us. That one cries out, at the very minimum, for use of busses.

 

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

DipTrace and EAGLE can do bus lines which are much easier to follow:

 

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Busses and a complete set of custom symbols for me...

 

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The default library has most high pin count schematic symbols with the pins arranged by functionality, rather than physical pin location.

I often resort to making a part clone & moving the pins to my liking, so they give at least a clean schematic...chip output pins on the right, chip inputs on the left, to the extent possible. Also do a fair amount of pin I/O reassignment then to make the PCB layout less tangled & clean.

It looks like a machine made this one:

Yeah, cross 8 extra wires for no reason, some optimization lacking!

 

 

 

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Which of those 3 is: Not a resistor. Wire just does this.

 

https://www.xkcd.com/730/

 

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

Last Edited: Sun. Feb 3, 2019 - 03:47 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

cross 8 extra wires for no reason

I think they did it intentionally.  I hope.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think they did it intentionally.  I hope.

I bet this was some sort of automatic netlist to schematic creation app (with rather lousy, or no, optimization). 

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

With a drawing like this, I import the schematic as a black/white line-art drawing into Paint Shop Pro or another GIMP/PhotoShop-like program.  Then a make little white gaps between the overlapping traces.  Then I use Flood Fill to make each complete trace a different color and hue.  It ends up being a rainbow-colored schematic.  I realize that schematics have been traditionally been black on white for pen-based drafting.  But color-based schematics are quite useful in situations like this (along with bus line markers).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bit more serious than my #7

I also think the mess was either created intentionally or created by an autorouter from a netlist.

The simplest example for this is the location of the crystal + caps, related to the microcontroller and the connector with A0 through A5.

 

Jokes about autorouters have been circulating ever since they were invented.

They can be usefull, but they at least need human guidance.

 

Simonetta wrote:
With a drawing like this, I import the schematic
I usually ignore projects with such schematics. If the schematic is so bad, how would the source code look like?

 

If I decided to clean up that schematic in KiCad though I would make extensive use of the  (new to) KiCad feature to highligt a net, which is also a common feature in othe schematic entry programs.

 

The workflow would be:

1).  "g"rabbing the connectors and pulling them apart to make room for labels.

2). "l"abel and put a label on the A0 wire.

3). [Insert] key to place labels for A1 through A5 under A0.

4). Highlight one of the nets.

5). Hover with the mouse over one of the labels and "c"opy.

6). Place the copied label on the other side of the wire.

7). Repeat untill all nets are done.

8). Delete the whole wire mess in between.

9). Do some cleanup with block moves (& mirror) to move the connectors with wire stubs and labels.

10). Add some blue Bus Bars to the schematic for Aesthetic reasons.

 

The whole cleanup is probably done in 5 minutes.

Now I've looked at that schematic some more it looks suspiously like some arduino (uno) board.

All the connectors are in the same places, and the power connector also has the labels in the same order as an arduino board.

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Simonetta's workflow is suited if the schematic is delivered in a pixel format.

I think it would be faster / easier to draw colored poly lines over the traces, then copy the connection to a decent electronics schematic program, and maybe erase (floodfill) each colored polyline after the connection has been copied.

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This schematic is for an older (@ 7 years old) Arduino UNO shield that has a 64K flash (or 128K flash) AVR CPU instead of a Mega8 or Mega168.  The header connectors are in the Arduino UNO shield format. This schematic was obviously done with an "autorouter" used to make "machine-legitimate" but human-unreadable schematics.

 

I don't have any kind of schematic-capture program at all, commercial or otherwise.  They are a luxury for people who have corporations that can buy software for them, not for us ordinary Muggles.  I once had (a copy of) OrCAD-2 for MS-DOS, which was an excellent program.  Eagle seems to be a combination of the worse elements of the expensive CAD packages.  It has a truly ugly presentation; and a steep learning curve, and a non-programmable user-interface.  By which you could take a text file of all the hundred+ commands that you learned for Bozo-CAD (and are more-or-less standard for all schematic programs) and import that file into CAD-Bozo in order to replace the way that the new program implements the same commands with the commands that you have already mastered for BozoCAD.

 

I just use copy-and-paste (along with line-art pixel-by-pixel editing) from older schematics to make schematics for new prototype designs.  This also helps remind me to work with pre-manufactured module function boards from eBay instead of {attempting} to design custom PCB's to the component level.  Concentrate your design energies into making a fast, effective, efficient, and intuitive touch-screen user-interface for your prototype instead of how many millimeters a surface-mount 22pF capacitor should be from the CPU XTAL pin and the crystal itself.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Simonetta wrote:
Eagle seems to be a combination of the worse elements of the expensive CAD packages. It has a truly ugly presentation; and a steep learning curve, and a non-programmable user-interface.

 

You and I can actually agree on something!! smiley

 

Simonetta wrote:
I don't have any kind of schematic-capture program at all, commercial or otherwise. They are a luxury for people who have corporations that can buy software for them, not for us ordinary Muggles.

KiCAD is an open source Freeware that is very popular.

 

EAGLE offers a $100.00/year license which is not too bad, but as mentioned the experience sucks.

 

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jgmdesign wrote:
EAGLE offers a $100.00/year license which is not too bad, but as mentioned the experience sucks.
This is a horrible license format for a hobbyist or small company.

If you have a bunch of schematics made and you stop your license then all the stuff you've already made becomes inaccesible.

Some (Software) companies only make  PCB's occasionaly. They may do a few boards and then not touch a schematic or PCB program for several years.

I think Eagle also still has the pin limits, clauses for non-commercial shit for the cheap bait version and what not.

 

On the article on Hackaday from the release of KiCad 5 there are quite some horror stories about the way Autodesk treats it's customers.

https://hackaday.com/2018/02/10/whats-coming-in-kicad-version-5/

 

Other KiCad articles on Hackaday (Gosh, did not realise they have 40+ articles on KiCad):

https://hackaday.com/?s=kicad

 

 

I completely agree with this title:

https://hackaday.com/2016/06/04/its-time-to-finally-figure-out-how-to-use-kicad/

 

And that article is now almost 3 years old.

In those 3 years KiCad kept on improving at a pretty impressive rate, and it still is.

Together with the release of KiCad 5 Cern started a charity and they collected EUR 100.000 or so in 2 months time.

That money is put to good use in developing KiCad.

 

The biggest complaint I hear now about KiCad is that the documentation is getting out of date.

The official "getting started guide" and other manuals for KiCad are still written for KiCad V4, while much has been improved in V5.

The documentation is maintained and updated by volunteers.

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

Last Edited: Mon. Feb 4, 2019 - 08:51 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ka7ehk wrote:

This schematic reminds me of the struggle I often have drawing schematics, especially in EAGLE - maybe other design and layout packages do this, also.

 

Also, I have a tendency to rearrange pin assignments during layout to simplify layout. For GPIO and ADC pin functions on standard AVRs, you can do that. For the newer devices with pin mapping, you can do that even more. Having the schematic symbol reflect the physical connections simplifies that for me.

 

 

Jim

 

 

THIS.  Part of the fun of programmable logic is that you can play 'musical pins' when the board layout doesn't easily match the schematic.  I think it's one of the best reasons to have the same guy who did the schematic do the board - because then they know what pins can be swapped and which can't.  Think of a big SRAM chip - you can freely mix up the address pin wiring, and the data bus wiring, but you cannot mix them together...  Eagle can do this (pinswap levels), but makes a hash of it.

 

I also dramatically prefer schematic symbols where the shape of the symbol, and the pin locations, resemble the actual chip - for old PLDs (16R8, anyone?) input over here, output over there worked fine.  For a giant BGA FPGA?  Um,  I dunno.

 

I also label all my signals* - it's a requirement for when you get around to writing the chip - so stringing lines all over the page is really not necessary.

  S.

 

* With exceptions for fiddly little analogue stuff.  There, 'follow the line' is the best.  S.

 

PS - I wonder if we should start an 'obfuscated schematic contest', like the 'obfuscated C code' competition...  ;-)   S.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
This is a horrible license format for a hobbyist or small company.

For a Hobbyist yes/no depending on how serious they are.  For a small company(like mine) its a tax write off.  If I dont use the product for a few years and then need it I simply pay the ransom, and write it off.  If you are a small company that will use the program then $100.00/year is an annoying little pill you swallow once a year and write it off.

 

Paulvdh wrote:
there are quite some horror stories about the way Autodesk treats it's customers.

No argument from me on this.  I have a copy of AutoCAD from 2005 and it does what I want, but many of my customers are looking for CAD drawings in current versions of the software as it is my understanding that the newer versions do not always open older versions drawings.  The cost for me to "Upgrade" to a subscription based, yearly ransom is about $400.00usd.  For a program I do not use very often, son in this respect your view of it being a horrible license for a small company is spot on.

 

JIm

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Saw one in the 1980's that was a horrible tangle of lines everywhere on a 4 ft sheet. There was a 2 input nand gate drawn in the bottom left corner, but it was connected to things in the top and right. The three signal lines snaked their way.. it took like 45 minutes to figure out where on this monstrous sheet of paper they went.

Free the toes!