There are a wide variety of techniques used in electronics.
Printed circuit board design/fabrication
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.
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.
Before exploring these techniques, you should understand your options with regard to services such as ExpressPCB.com and PCB123.com. 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.
- "How to make really really good homemade PCBs" by Mike Harrison 2007
- Toner Transfer -- This method involves laser printing your PCB design onto paper, then transferring toner onto copper-clad board.
- Photoetching -- Exposure of PCB designs onto photosensitized copper-clad board.
- Chemical Etchants
- "Mechanically etching or milling PCBs. No chemicals!" -- Use your CNC router/mill to make PC boards.
Commercial PCB fabrication
- Submitting PCB's for fabrication -- Common processes for submitting PCB's for fabrication.
- PCB Manufacturers
- "PCB fabbing advice" by Chris Anderson 2008
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
- AGND 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 | | | | | +-----------+ -------+-+--|-+---------|-------- Vcc |C| | IC | -------+-+--|---------+-|-------- GND +-----------+ | | | | | 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-
- 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
- AVR040: EMC Design Considerations
- AN1705: Noise Reduction Techniques for Microcontroller-Based Systems
- AN898: EMC general information
- AN901: EMC guidelines for microcontroller-based applications
- AN1709: EMC design guide for ST microcontrollers
Circuit construction (Prototyping - Other than custom PCB)
- Solderless protoboard (Wikipedia:Breadboard) (a simple example with a small microcontroller)
- Point-to-point (Wikipedia:Point-to-point construction)
- Wirewrap (Wikipedia:Wire Wrap)
- Dead bug style
- Manhattan style aka "A Modern Breadboarding Technology: Insulating Pads Soldered to a Ground Plane"
["Construction Ideas"] has nice photographs of the above circuit construction techniques.
- Basic soldering -- How to use a soldering iron.
- Surface Mount
- Rework -- Techniques for fixing mistakes, or for adding new features to a board that almost does what you want.
(Have you seen this CNC solder paste/pick n place ?)
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:
Listed in Class as SchCap
Listed in Class as PCB, generally includees a footprint editor to make new parts.
Listed in Class as CirSim.
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. A suite can be nice as you need draw the circuit only once.
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. For this to work the tools must have compatible import and export tools.
(Is there another place for listing stand-alone tools such as a switching power supply "wizard" and a RF analysis tool? -- yes as this section is not limited to suites [anymore] )
In no particular order:
|*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||This may be the goto open source tool for schematic capture through PCB. Generally does not run on Windows. There are no restrictions on the package to cripple it for a paid version. Boards may be very big. Would be nice to have a full review sometime. 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||http://www.lis.inpg.fr/realise_au_lis/kicad/ 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.com||AUTOTraxEDA needs MS-NT, won't work on MS-W98/ME. User forums have shown a certain lack of satisfaction with the program.|
|*tbd||holophase.com/dleval||Win32||Crippleware||Circad's DOS version is free for non-commercial use.|
|*tbd||geda.seul.org||BSD, Linux, MacOSX||GPL||autorouter||xNIX Electronic Design Automation project has Schematic capture with PCB CAD.|
|*tbd||vutrax.co.uk/pricing||Win32||autorouter||Vutrax for MS-Windows. Free for under 256 component pins.|
|*tbd||interactiv.com||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||labcenter.co.uk||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||ivex.com||Payware||Winboard PCB Layout, now calcentron.com.|
|*tbd||illuminated.com.au||Linux, Win32, DOS||Draftcad, Schematic Capture and PCB Design|
|*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 ?
- GTKWave Electronic Waveform Viewer http://intranet.cs.man.ac.uk/apt/projects/tools/gtkwave/
- TimingTool http://www.timingtool.com/
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:
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?
- Many people use an oscilloscope (o'scope). See oscilloscope for a list of Keith has made a list of low-cost o'scopesl "PC USB logic analyzers that cost under $1000." for a list of low-cost logic analyzers.
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.
Misc Tips Tricks
- "Electronics Design" from Airborn gives an overview of the complete process: specification, (schematic) circuit design, layout, prototypes, firmware, pilot run, production.
- EDA electronic design automation software is a subset of CAD in general. Is there a wiki that discusses CAD in general? Until I find it, I'm going to post these tools here: "Google SketchUp is a powerful yet easy-to-learn 3D software tool" http://sketchup.google.com/ ; "Inkscape is the best tool for SVG standard vector graphics" http://wiki.inkscape.org/ ; Visual Wiki http://visualwiki.org/
- "What's All This Ground Noise Stuff, Anyhow?" by Robert A. Pease
- "What's All This Teflon Stuff, Anyhow?" by Robert A. Pease -- explains a situation using lots of metal (instead of carefully insulating everything with lots of Teflon) causes less noise. Also mentions "why am I telling you all of these details? If I design a tester with greatly improved performance to help me test a really high-performance product, why should I tell all our competitors so that anybody in the world can test their products using the improved tester? Why should I give away all of these hard-earned secrets?" and gives some very good reasons.
- sci.electronics.design: EDN: Measuring Nanoamperes discusses some ways to measure extremely small currents.
- MillPCBs.com for techniques on using a small cnc machine to mill PCB's
- The notion that through-hole soldering is easier than soldering surface-mount devices is, and always has been, a myth.
- Intro into SMD Soldering
- PMinMO.com is THE PLACE for DIY CNC driver information