From OpenCircuits
Revision as of 14:28, 4 March 2009 by Russ hensel (Talk | contribs)

Jump to: navigation, 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
    • Return current tends to flow directly under signal trace (for PCB having ground plane)
    • Inductance increases with length of traces
    • Inductance increases with the area enclosed by by signal trace and ground
  • Prevent digital currents from contaminating analog currents


  • 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-filter) to power rail for low-pass filtering (reduce ripples).


  • 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, and straddle components over DGND and AGND
  • Place digital only components over DGND
  • Place analog only components over AGND
  • Decoupling capacitors should be as close to the ICs as possible
               | | | | |
 -------+-+--|-+---------|-------- Vcc
        |C|  |    IC     |
 -------+-+--|---------+-|-------- GND
               | | | | |
  • Lay critical (noise-sensitive) traces first (e.g. crystal, analog signals)
    • As short as possible
    • Use 45o turnings instead of 90o
  • Paired signal traces (e.g. TX+, TX- in ethernet chips) should run parallel along each other
    TX+ -----\
    TX- ----\ \
             \ \
              \ \
               \ \
                \ \------------ TX+
                 \------------- TX- 


  • 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.

This section is being reorgnized and expanded, it may be a bit messed up for a few days.

The design tools fall into several classes:

Schematic Capture

Listed in Class as SchCap

PCB Layout

Listed in Class as PCB

Circuit Simulation

Listed in Class as CirSim, generally includees a footprint editor


Other tools that do not fall in the classes above


"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:

Class Name Platform License AutoRouter Comments
*PCB 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.
*PCB gEDA Linux, *BSD Free, OSS autorouter gEDA wiki includes schematic and PCB for makeing gerbers etc...
*PCB McCAD EDS Lite MacOSX, Win32 Free demo max 200 pin autorouter Free demo version available for download, 200 pin limit
*PCB 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>
*PCB FreePCB Win32 GPL can use FreeRoute PCB Design Software
*SchCap TinyCAD Win32 LGPL n/a Schematic Drawing Software
*tbd KiCad BSD, Linux, MacOSX, Win32 GPL autorouter EDA suite ; KiCad wiki
*SchCap *PCB 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.
*PCB Protel DXP Win32 autorouter independent Protel users FAQ
*tbd 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)
*tbd DipTrace Crippleware 250-pin Freeware or Purchase more advanced versions
*tbd WinQcad Crippleware Demo with max 499 pins available for download
*tbd Rimu Schematic and Rimu PCB Win32 Payware Schematic & PCB design for MS-Windows
*tbd SuperCAD and SuperPCB Win32 Mental Automation schematic & PCB for MS-Windows
*tbd AUTOTraxEDA needs MS-NT, won't work on MS-W98/ME. User forums have shown a certain lack of satisfaction with the program.
*tbd Win32 Crippleware Circad's DOS version is free for non-commercial use.
*tbd BSD, Linux, MacOSX GPL autorouter xNIX Electronic Design Automation project has Schematic capture with PCB CAD.
*tbd Win32 autorouter Vutrax for MS-Windows. Free for under 256 component pins.
*tbd Electronic Workbench, 400 USD for 500 pins. Includes schematic capture and simulation, virtual instruments and PCB layout. Said to be stable.
*tbd 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.
*tbd 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!).
*tbd Payware Winboard PCB Layout, now
*tbd Linux, Win32, DOS Draftcad, Schematic Capture and PCB Design
*tbd Win32, Linux+Wine MicroCad
*tbd "PCB ARTIST" Win32  ? schematic + layout. Seems to lock you into using Advanced Circuits for manufacture (?).
*tbd PCB123 Win32  ? schematic + layout. Seems to lock you into using Sunstone for manufacture (?).
*tbd ProSchematic Win32 "free trial" no can make schematics that look almost like photographs of a solderless breadboard.
*CirSim Spice Various Various na The generic term for many simulation programs.
*CirSim LSpice Windows free na A free version of Spice from Linear Technology. Draw the schematic and see its simulations. Many components. Seems to be very popular. Should ( will ) have a page here of its own.

(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.

Personal tools