From OpenCircuits
Revision as of 02:29, 24 February 2009 by Tcwden (talk | contribs) (→‎Routing)
Jump to navigation Jump to search

There are a wide variety of techniques used in electronics.

Printed circuit board design/fabrication


Software Design

See Software Design Tools below.

Step by Step by using Software Design Tool

  • make sure the dimension and shape of PCB
  • make sure the size and location of Via for PCB stand
  • Make sure each components footprint.
  • each components are placed on suitable place by put on a hardcopy of simulation PCB
  • All components get enough clearance between them.
  • Silkscreen layout is confirmed.
  • PCB is drawn.
  • silkscreen adding the following:
    • version no.
    • organization name
    • board name
  • Netlist is ran and got a no error result.
  • DRC is ran and got a no error result.
  • Overall is checked.
  • generate Gerber and send to PCB Manufacturers.

Manual Design

Somepeople do this with layout on clear film or by directly drawing on a circuit board, of even by scratching, grinding.... For now let them google this.

Homebrew fabrication

Before exploring these techniques, you should understand your options with regard to services such as and Being able to have several boards fabbed in 2 days for $59 (for example) makes it harder to justify the hassle of etching your own boards at home.

Commercial PCB fabrication

Best Practices for PCB Layout


  • Provide the easiest path (lowest impedance) for current to flow
    • Current tends to flow directly under signal trace
  • Prevent digital currents from contaminating analog currents
  • Minimize inductance loop (i.e. area enclosed by signal trace and ground)


  • Partition (not necessarily isolate) PCB into analog and digital ground planes
  • No digital signal traces should cross over analog ground, and vice versa
  • For components having both analog and digital signals (e.g. ADC), orientate components so that the analog signal traces goes only over the analog ground plane, and digital signal traces goes only over the digital ground plane
  • AGNG and DGND of ADC must have a small impedance (i.e. separated by short distance)
  • Add decoupling capacitors close to Vcc and DGND of ICs
  • Add ferrite beads and capacitors (PI-network) to power rail for low-pass filtering (reduce ripples).
  • Eliminate ground loops


  • Place fixed components first (components location that cannot be changed, e.g. connectors, buttons, etc)
  • Separate components into 3 groups
    • Digital signals only
    • Analog signals only
    • Digital and analog (Mixed) signals
  • Partition ground into analog and digital planes
    • Use single ground plane if possible, otherwise create bridges of same width under the mixed signal ICs
  • Orientate components that have mixed signals according to the orientation of the ground planes
  • Place digital only components over DGND
  • Place analog only components over AGND
  • Decoupling capacitors should be as close to the ICs as possible
  • Lay critical (noise-sensitive) traces first (e.g. crystal, analog signals)
  • Paired signal traces (e.g. TX+, TX- in ethernet chips) should run parallel along each other


  • Grounding
  • Crystals and Oscillators
    • AVR186: Best Practices for the PCB layout of Oscillators
  • ADC & Analog Filters
    • ADN007: Techniques that Reduce System Noise in ADC Circuits
    • ADN010: Predict the Repeatability of your ADC to the BIT
    • AD699: Anti-Aliasing, Analog Filters for Data Acquisition Systems
    • AN682: Using Single Supply Operational Amplifiers in Embedded Systems
    • AN990: Analog Sensor Conditioning Circuits - An Overview
  • EMC
    • AVR040: EMC Design Considerations
    • AN1705: Noise Reduction Techniques for Microcontroller-Based Systems

Circuit construction (Prototyping - Other than custom PCB)

["Construction Ideas"] has nice photographs of the above circuit construction techniques.

Soldering techniques

(Have you seen this CNC solder paste/pick n place ?)

Hardware tools

A directory of hardware tools that you may find useful.

Software design tools

Some people still build circuits without ever using any software tools. For complicated circuits, software design tools can save a lot of time.

Here we list "suites" that combine schematic capture, component editor for the components used in schematic capture, circuit simulation, PCB layout, autorouter, and footprint editor for the footprints used in PCB layout. (Is there another place for listing stand-alone tools such as a switching power supply "wizard" and a RF analysis tool?)

Quite often people mix-and-match tools -- using a schematic capture from one suite to generate pretty schematics and a netlist, then importing the netlist a third party Specctra autorouter, then importing the result into a PCB layout program from another suite for the final manual clean-up and design rule checking.

In no particular order:

Name Platform License AutoRouter Comments
Liquid PCB Linux, Win32 GPL no Liquid PCB wiki at SourceForge Liquid PCB is a computer aided design application for designing printed circuit boards. You are not restricted to straight tracks and 45º angles, you can draw tracks any way you like. The tracks will move and bend as required to maintain your design rules. It is open source, and still in the Alpha stage.
gEDA Linux, *BSD Free, OSS autorouter gEDA wiki includes schematic and PCB for makeing gerbers etc...
McCAD EDS Lite MacOSX, Win32 Free demo max 200 pin autorouter Free demo version available for download, 200 pin limit
McCAD EDS SE MacOSX, Win32 "free"? autorouter Free with book, "Apple I Replica Creation". Supports 750 pins, 11"x17" sheet size, 6-8 data layers. <tangent>(any useful tips in this book for those who want to build a CPU from scratch?) <reply>No, there are not. The book is more entry-level. - Tom Owad</reply></tangent>
FreePCB Win32 GPL can use FreeRoute PCB Design Software
TinyCAD Win32 LGPL n/a Schematic Drawing Software
KiCad BSD, Linux, MacOSX, Win32 GPL autorouter EDA suite ; KiCad wiki
Express SCH/PCB Win32 Free use crippleware ? ExpressPCB's propietatary free schematic capture & PCB layout designer locking you to use ExpressPCB for manufacture explicitly. Manufacture in 3 business days of two boards for ~100 USD.
Protel DXP Win32 autorouter independent Protel users FAQ
Eagle Eagle Links Win32, Linux Free use crippleware ( Russ Hensel says>> ) I have been kicking around as a hobbyist for a while and Eagle seems to be the main hobbyist circuit/pcb cad program. It supports schematics and board layout with an auto-router. The free version can easily support 2 dual op amps with wide traces and a one sided board. There is quite a lot of info on the Internet and many projects supply eagle files. There is also a $125 non profit version supporting larger boards. It then gets expensive. Eagle is not really easy to learn: cut for it would be copy in almost any other program. It probably deserves a page or more of its own. ( << end RH )
Eagle tutorial from Sparkfun
Eagle tutorial (makezine)
DipTrace Crippleware 250-pin Freeware or Purchase more advanced versions
WinQcad Crippleware Demo with max 499 pins available for download
Rimu Schematic and Rimu PCB Win32 Payware Schematic & PCB design for MS-Windows
SuperCAD and SuperPCB Win32 Mental Automation schematic & PCB for MS-Windows AUTOTraxEDA needs MS-NT, won't work on MS-W98/ME. User forums have shown a certain lack of satisfaction with the program. Win32 Crippleware Circad's DOS version is free for non-commercial use. BSD, Linux, MacOSX GPL autorouter xNIX Electronic Design Automation project has Schematic capture with PCB CAD. Win32 autorouter Vutrax for MS-Windows. Free for under 256 component pins. Electronic Workbench, 400 USD for 500 pins. Includes schematic capture and simulation, virtual instruments and PCB layout. Said to be stable.
Harry Eaton's PCB BSD?, Linux?, MacOSX?, Win32 GPL autorouter PCB design program which can work under any POSIX compliant operating system like Linux (or BSD under API compability layer). Have Gerber and PostScript output options. They have a lite version "PIC bundle" ~149 USD includes schematic + simulation + pcb layout. You can write pic code for your pic schematic design and simulate. Even multi-pic, keypad, lcd display. Right now it can only simulate PIC16x83, PIC16x84 (lite version limited to 1k program code). Working on more pic modules. Will not produce Gerber or Excellion drill files. Only dxf, bmp, hpgl, tiff output (not sufficient!). Payware Winboard PCB Layout, now Linux, Win32, DOS Draftcad, Schematic Capture and PCB Design Win32, Linux+Wine MicroCad
"PCB ARTIST" Win32 ? schematic + layout. Seems to lock you into using Advanced Circuits for manufacture (?).
PCB123 Win32 ? schematic + layout. Seems to lock you into using Sunstone for manufacture (?).
ProSchematic Win32 "free trial" no can make schematics that look almost like photographs of a solderless breadboard.

(Some of this information in this table came from the list of software design tools at the Massmind).

A SourceForge search for "schematic" lists dozens of tools. Other than the ones already listed above, what tools in that list are useful for open circuits?

Is there any way to objectively compare these tools? How well did they do at the PCB Top Gun contest ?

Timing diagrams:

When you want to post a picture of a schematic or timing diagram on a web site, should you use JPEG or PNG? I hope these 2 pictures answer your question:

PC-Microcontroller Communications

Discussion of the various methods to connect a microcontroller or embedded system to a PC...

Embedded System Programming and Testing

To add to the confusion programming in embedded system can mean a person writing a program or a device called a programmer "burning" a program into a chip. This section is for the "burning" meaning of programming.

  • Many systems use JTAG for programming and testing. (Such as Atmel AVR embedded systems]).
  • Other systems use some other kind of in-circuit programming.
  • Some people use bootloaders to make re-programming a little quicker.

-- not sure that this next one is not misplaced ? -- We're talking about "programming and testing" ? What else do you use to test op-amp circuits?

Humans writing a program almost always do it in a language. Here is a section that discusses some of these languages: Programming Languages


  • The Earth Signal should short to whole metal Case
  • Digital/Analog GND should separate to this Earth Signal, and should connect a Y-cap. to filter the noise between them.
  • Attention: do not place near between Earth Signal and Digital/Analog GND, otherwise some spark come out, and affect your whole system.

Further Reading

Environmental Issues

see better for the environment.