http://www.opencircuits.com/api.php?action=feedcontributions&user=Mzoran&feedformat=atomOpenCircuits - User contributions [en]2024-03-28T18:17:44ZUser contributionsMediaWiki 1.34.2http://www.opencircuits.com/index.php?title=PIC_Links&diff=15475PIC Links2008-05-25T20:55:45Z<p>Mzoran: Add XE1205-RNDIS</p>
<hr />
<div>Lots of external PIC Links<br />
<br />
=== Section 0 === <br />
<br />
In some cases the links are to search results, all these searches give results that have been judged useful, they are not just shots in the dark. These sites may be project sites like instructables or various blogs. Sometimes individual project from the same sites are listed separately.<br />
<br />
Key words to help you search the table.<br />
<br />
*Projects: project descriptions, enough to reproduce the project, not just nice pictures<br />
*Tutorial: a tutorial or how to<br />
*Links: a link to more links<br />
*Info: Useful information that does not rise to a tutorial, misc. tips.<br />
*PICIntro: Intro material<br />
*Asm: for assembler programs<br />
*Clang: for C programs<br />
*Forum: for a forum, mail list and their ilk<br />
*WebRing: for a Web Ring.<br />
*DBoard: development board for the controller<br />
<br />
So, for example, if you are looking for projects then search on Projects.<br />
<br />
Note: Help us out with this list by adding links or improving the site comments, fix errors....<br />
<br />
=== Section 1 === <br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! Topic<br />
! Topic Link<br />
! Comment<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Links<br />
*PIC<br />
|<br />
[http://www.geocities.com/SiliconValley/Way/5807/dat.html Microchip Net resources]<br />
|<br />
This has the most links on the PIC that I have seen in one place.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Projects<br />
*Info<br />
*PIC<br />
|[http://piclist.com/techref/piclist/index.htm Welcome to the official PICList home page.]<br />
|This is the place to go for a PIC message board, also many articles. Do not post here until you know what you are doing.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*General Links<br />
*PIC<br />
|[http://www.vermontficks.org/picbegin.htm PIC hints and direction]<br />
|A link page that largely links. Small DC Power Supply, other link pages, may be useful.<br />
<!-------------------------------> <br />
<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PIC<br />
|<br />
[http://www.tinaja.com/picup01.html Pick a Peck of PIC's Library ]<br />
|<br />
Interesting not always easy.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://jap.hu/electronic/combination_lock.html Electronic combination lock with PIC]<br />
|Electronic combination lock with PIC<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://piclist.com/techref/piclist/begin.htm Beginners checklist for PIC Microcontrollers]<br />
|Beginners checklist for PIC Microcontrollers. An excellent place to start.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Links<br />
*PIC<br />
|[http://www.sss-mag.com/pic.html Spread Spectrum Scene PIC STUFF]<br />
|Lots of links.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://jap.hu/electronic/ Peter's electronic projects and links]<br />
|Not all PIC but quite a few.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PICIntro<br />
*Project<br />
*PIC<br />
|[http://www.voti.nl/pic/index.html What is a PICmicro?]<br />
|This guy is very smart, a good site.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Pic<br />
*Links<br />
|[http://o.webring.com/hub?ring=picmicro PicMicro Webring]<br />
|If you do not know what a WebRing perhaps you can figure it out from here.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project <br />
*Robotics<br />
*PIC<br />
|<br />
[http://www.voti.nl/stepbots/index.html Stepbots]<br />
|<br />
A stepbot is a three wheeled robot using stepper motors.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*Pic<br />
|[http://www3.telus.net/chemelec/Projects/Anemometer/Anemometer.htm An Anemometer Circuit]<br />
|Measure wind speed. This has no moving parts, works by measuring cooling of a “hot” transistor. Fairly low parts count.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://members.cox.net/berniekm/Bench.html Bench Power Supply]<br />
|Uses a PIC for control and to measure voltage and current. Not simple but nice.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.users.bigpond.com/pbhandary/pic/iralyze/iralyze.html IR Remote Signal Analyzer]<br />
|Pretty big PIC project, but cool. Know what your IR remote is sending. IR receivers are a pretty common salvage component<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*Tutorial<br />
*PIC<br />
|[http://www.users.bigpond.com/pbhandary/pic/IRSony.html IR Receiver for Sony Remotes]<br />
|Simpler project than IR Remote Signal Analyzer which may be the better project<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC <br />
|[http://electronics-lab.com/projects/mcu/012/index.html PIC diode tester]<br />
|Nice simple project. Good Starting project. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.sbprojects.com/projects/ircontrol/picir/picir.htm PIC IR Decoders]<br />
|Decodes IR transmissions, has its own 4 digit display. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.dprg.org/projects/1998-08a/ IR Proximity Detector Project]<br />
|More fun with IR<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Robotics<br />
*Links<br />
*PIC<br />
|[http://www.dprg.org/projects/index.html INDEX OF PROJECTS for Robots]<br />
|Not entire robots but basic components for them. Some are PIC based.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://users.frii.com/dlc/robotics/projects/botproj.htm IR Robot Controller]<br />
| control of a robot. Software is assembler.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
<br />
*PICIntro<br />
*Tutorial<br />
*PIC<br />
|[http://www.rentron.com/Myke3.htm Your first PICMicro Project]<br />
|Introduction to PIC processors using assembler. Even if you are using another language this is a good introduction.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://www.sparkfun.com/commerce/present.php?p=BEE-1-PowerSupply Beginning Embedded Electronics]<br />
|This is not actually a PIC tutorial but lots of the material applies. This link is to the first of 10 + sections.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Kit<br />
*PIC<br />
|[http://www.rentron.com/Fire-Stick-II.htm Fire-Stick ]<br />
|This is an under $20. kit for long range IR communications. Uses some special parts so kit is probably a good idea.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.rentron.com/serial.htm How to build a Serial Voltmeter using the PIC16C71]<br />
|Software in PIC basic, you could rewrite in a different language, or use a different chip. Voltmeter talks to a PC. They may have a kit, you may do not need it.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*Links<br />
*PicIntro<br />
*PIC<br />
|[http://www.seattlerobotics.org/encoder/may97/picchip.html The PIC Chip Uncovered]<br />
|Introduction to the PIC.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://members.cox.net/berniekm/unichg.html Battery Charger]<br />
|Nice little battery charger. Universal Nicad/NiMH Includes printed circuit design. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://robotag.carleton.ca/resources/technical/pic_introduction.shtml Using the MicroChip PIC Microcontroller ]<br />
|A technical overview designed for students Another simple introduction.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://forum.sourceboost.com/index.php?showtopic=2399 pic Micro Programming In Boostc For Beginners]<br />
|Good beginner level<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://home.comcast.net/~russ_hensel/RClub/index.html A really Basic Guide to the PIC Microprocessor and BoostC]<br />
|A really Basic Guide to the PIC Microprocessor and BoostC<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PICIntro<br />
*Tutorial<br />
*PIC<br />
|[http://www.winpicprog.co.uk/pic_tutorial.htm WinPicProg PIC Tutorial]<br />
|Good introduction. Software is assembler. A series of simple projects. Good introduction to simple interface circuits. You might want to use a different programmer<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://fly.srk.fer.hr/~nix/Projects/Sonar/Sonar.html Nix's PIC based sonar system]<br />
|This is a simple range detection system, perhaps for a robot. Directions are a bit brief.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://ironbark.bendigo.latrobe.edu.au/~rice/lc/ A Surprisingly Accurate Digital LC Meter]<br />
|L is inductance ( what a coil of wire has. C is capacitance, what a capacitor has ). Very useful to identify unmarked parts.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.geocities.com/dariuskrail20/PICCapMeter.html Autorange Capacitance Meter]<br />
|Measure the value of a capacitance ( the stuff in a capacitor ). Auto ranging means the device switches itself between low and high measurement ranges.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*CLang<br />
*PIC<br />
|[http://www.microchipc.com/sourcecode/ C sample code for PIC micros and Hi-Tech C]<br />
|From Microchip. Lots of example programs in C: note that different versions of C can be quite different, esp. in their included libraries.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*CLang<br />
*PIC<br />
|[http://www.microchipc.com/sourcecode/ BoostC Compiler Example Code]<br />
| Lots of example programs in C: note that different versions of C can be quite different, esp. in their included libraries.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PIC<br />
*Links<br />
|[http://en.wikibooks.org/wiki/Embedded_Systems/PIC_Microcontroller Embedded Systems/PIC Microcontroller]<br />
|A bit brief, may be improved over time.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.best-microcontroller-projects.com/pic-projects.html PIC Projects based on flash pic microcontrollers.]<br />
|A big collection of projects.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*PIC<br />
*Forum<br />
|[http://forum.microchip.com the official Microchip forum]<br />
|lots of discussion -- try using Google to search this site, rather than the built-in search tool.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|<br />
[http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en529949 Microchip "Code Module Library"]<br />
|While different versions of C are different, these may help no matter which version you are using. Some versions of Microchips compilers are free.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* ASM<br />
|[http://eng-serve.com/pic/index.html Dring Engineering Services]<br />
|Wizards and calculators for generating PIC code.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
* ASM<br />
|[http://www.uchobby.com/index.php/2007/10/13/pic-based-logic-probe/ PIC Based Logic Probe]<br />
|Might be handy around your lab.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Tutorial<br />
|[http://www.picprojects.247n.com/ Introduction - How I got into using the PIC 16F628, 16F876 and other processors]<br />
|One person's experience<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
|[http://www.picguide.org/ PICGuide.org]<br />
|Lots of projects<br />
<br />
|-valign="top" <br />
|<br />
* Project<br />
|<br />
[http://people.zeelandnet.nl/whhofman/jen/PIC/index.html Drake: PICmicro and Maarten's computer]<br />
|<br />
A nice little game built out of a PICmicro, a 2-line LCD screen, and a few supporting components on a solderless breadboard.<br />
Also more complex version with larger screen display.<br />
Source code and schematics available for download.<br />
<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
* Tutorial<br />
* ASM<br />
|[triggers spam filter: www.geocities.com/nozomsite/pic1.htm PIC 16F84]<br />
|Nice little introduction, more stuff elsewhere on site.<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
* ?<br />
* ASM<br />
|[http://microchip.com/wiki/ ICwiki]<br />
|the ICwiki at microchip.com<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
*PIC<br />
*Project<br />
*BoostC<br />
|[http://home.comcast.net/~russ_hensel/RClub/sst/SerialStepperTest.html PIC Stepper Motor Demonstration and Test Project]<br />
|A PIC16F877A project that tests and operates a stepper motor under the control of a PC running a terminal program.<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
*PIC<br />
*Project<br />
*BoostC<br />
*Tutorial<br />
|[http://home.comcast.net/~russ_hensel/RClub/BoostCTutorial.html A Really Basic Guide to the PIC Microprocessor and BoostC]<br />
|This is meant to be a more introductory guide to the PIC microprocessor and BoostC ( [http://www.sourceboost.com/home.html] ) <br />
than any I have been able to find on the web. Additionally I assume that you have only limited knowledge of electronics and other microprocessors.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
* Info<br />
* Tutorial<br />
|[http://pic18fusb.online.fr/ Wiki about Microchip USB PIC]<br />
|Wiki dedicated to PIC microcontrollers with a USB interface<br />
(such as PIC18F2550, PIC18F4550, PIC18F2553, etc.)<br />
[http://pic18fusb.online.fr/wiki/wikka.php?wakka=UsbBootload PIC USB tutorial].<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
* Tutorial<br />
|[http://www.pyroelectro.com/index.php Pyros Electro]<br />
|Seems to have quite a bit of original material and some links to other sites. Tutorials are nice. I think this is a new site ( Feb 08 ).<br />
<!---------------------------------><br />
|-valign="top" <br />
| <br />
* Pic<br />
* Project<br />
|[http://www.cheaphack.net/2008/01/turing-alarm-clock.html The Turing Alarm Clock]<br />
|You have to prove you can think to turn off your alarm clock!<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
|[http://pp06.sourceforge.net/ PP06 PIC Programmer Software]<br />
|Has some [[open hardware]] PIC programmer designs. (Also open source software to use with them).<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Info<br />
|[http://www.ladyada.net/library/picvsavr.html PIC vs. AVR]<br />
|OK, I know what you people want. You want ultimate fighting, embedded E.E. style. You want to know WHICH IS BETTER, PIC OR AVR?<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Info<br />
|[http://www.embedded.com/TechSearch/Search.jhtml?sortSpec=score+desc&site_id=Embedded.com&Site+ID=Embedded.com&queryText=pic&Search.x=0&Search.y=0 Search Results]<br />
|Search Embedded.com for PIC topics.<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Projects<br />
|[http://www.instructables.com/tag/?q=pic+microchip&limit%3Atype%3Aid=on&type%3Aid=on&type%3Auser=on&type%3Acomment=on&type%3Agroup=on&type%3AforumTopic=on&sort=none Search Results]<br />
|Search Instructables for "PIC Microchip".<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.beyondlogic.org/pic/ringtones.htm Generate Ring Tones on your PIC16F87x Microcontroller]<br />
|Looks good.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* CLang<br />
* Project<br />
|[http://www.jeffree.co.uk/pages/revmaster.htm RevMaster - A Simple Tachometer Tony Jeffree Wednesday, 07 February 2007]<br />
|For machine tools. Optical sensor. <br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* ?Lang<br />
* PIC<br />
* Project<br />
|[http://www.instructables.com/id/USB-LED-scrolling-marquee-sign/ USB LED scrolling marquee sign]<br />
|A bit of POV here. Read to see how to drive a lot of LED's ( or at least one way ). Has boot loader and hex file, not sure if source code is there.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* ?Lang<br />
* Project<br />
|[http://hem.passagen.se/communication/frcpll.html 2.5 GHz Frequency counter]<br />
|From the site: "This project describes a very powerful frequency counter. <br />
Very simple construction which everyone can build. <br />
6 LED display will present the frequency with 1kHz resolution and <br />
RS232 communication to computer is available as option. <br />
The software has also been implemented with some smart functions, <br />
for calculating frequencies in receivers where IF is 455kHz or 10.7MHz. <br />
I present schematic, PCB, components and window software." Not sure if site has source code, does have hex file<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Tutorial<br />
|[http://www.best-microcontroller-projects.com/12F675.html#Program_1_:_12F675_Flashing_an_LED PIC 12F675 Microcontroller Tutorial.]<br />
|Not that many introductory tutorials are done in C, this one is. There is some sort of sale of the source code, this may be a problem.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
| [http://builders.reprap.org/2006/12/pic-programming-for-biollante.html PIC Programming for Biollante]<br />
| "a bunch of working examples of using the PIC16F628A with SDCC." (the open-source Simple Device C Compiler) (part of a blog discussing building a RepRap rapid-prototyping machine)<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<br />
|}<br />
<br />
=== Section 2 === <br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! Topic<br />
! Topic Link<br />
! Comment<br />
<!-------------------------------><br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.dimensionengineering.com/appnotes/Gmeter/Gmeter.htm DE-ACCM5G Application Note G Meter]<br />
|This is in some ways a promotion for the accelerometer they are selling but still looks like an interesting project. accelerometer is about $20. might be worth a look.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.dimensionengineering.com/appnotes/vibration_meter/vibration_meter.htm Building a simple vibration meter]<br />
|This is in some ways a promotion for the accelerometer they are selling but still looks like an interesting project. accelerometer is about $20. might be worth a look.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.uchobby.com/index.php/2008/02/19/pic-based-tengu/ PIC Based Tengu]<br />
|From the site: In this article Juan Mateos creates a PIC version of the Tengu companion. Tengu was originally developed by Crispin Jones as a USB controlled LED matrix that made faces and lip synced to music or other sounds it hears with a built in microphone.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.best-microcontroller-projects.com/frequency-counter-circuit.html Schematics and C code for a PIC frequency counter circuit operating up to about 50 MHz.]<br />
|Looks interesting.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* Links<br />
* PIC<br />
* Project<br />
|[http://www.best-microcontroller-projects.com/pic-projects.html PIC Projects based on flash pic microcontrollers.]<br />
|Some of these projects are already listed here.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* Asm<br />
* PIC<br />
* Project<br />
|[http://www.sixca.com/eng/articles/remote/index.html 3 channel IR remote control]<br />
|and some theory for IR remotes.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* DBoard<br />
|[http://www.greta.dhs.org/UBW/ USB Bit Whacker]<br />
|From the site: ''The UBW board is a small board that contains a Microchip PIC USB-capable microcontroller, headers to bring out all of the PICs signal lines (to a breadboard for example), only costs about $15-$20 to build and is powered from the USB connection.'' There seem to be a fair number of additional projects based on this device. Google "Bit Wacker".<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer A Microchip PIC based USB sound card]<br />
|Farily low chip count project. <br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC A FHSS USB RF Modem]<br />
|Demonstrates how to use frequency hopping techniques to create a bidirectional link. <br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/rfethernet.html XE1205-RNDIS FHSS USB Wireless Ethernet]<br />
|The PINGPONG-CDC project that emulates Ethernet via RNDIS rather then a serial link. <br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY A Scrolling Display with RF connection to a PC]<br />
|Lots and lots of LED's. Wireless!<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.best-microcontroller-projects.com/led-dot-matrix-display.html How to drive an led display matrix.]<br />
|Some basics. Uses row and column drive.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.larwe.com/zws/products/picxie/index.html Picxie - Animated LED Signboard]<br />
|A little 4 by 4 display<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.larwe.com/zws/products/picxie2/index.html Picxie 2 - 8x8 Animated LED Signboard]<br />
|Just what it says.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://users.tpg.com.au/users/talking/Introduction.html 5x7 DISPLAY]<br />
|A series of experiments with a 5 x 7 display.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Tutorial<br />
* Asm<br />
|[http://amqrp.org/elmer160/lessons/index.html PIC Elmer 160 Course Lessons]<br />
|Tutorial in Asembley Language.<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------><br />
<br />
|}<br />
<br />
<br />
<!--------- scratch area <br />
<br />
How to drive an led display matrix.<br />
<br />
end scratch area -----------------><br />
<br />
== display type ==<br />
''display type is not particularly PIC-specific -- is there a better page for this section?''<br />
<br />
The most common ways of communicating from a microcontroller to a person (roughly in order of increasing complexity and increasing data density) are:<br />
* a few fixed LEDs; 1 microcontroller pin per LED (with 8 free pins, can drive up to 8 LEDs)<br />
* character LCD display<br />
* a matrix of LEDs; each column connected to 1 microcontroller pin; each row connected to 1 microcontroller pin (with 8 free pins, can drive up to 4x4= 16 LEDs)<br />
* [[Charlieplexing]]; each column connected to 1 microcontroller pin; each row connected to 1 microcontroller pin (with 8 free pins, can drive up to 8*7= 56 LEDs) ([http://en.wikipedia.org/wiki/Charlieplexing Wikipedia: Charlieplexing])<br />
* shift register; microcontroller shifts bits one at a time into a SIPO shift register chip; 1 SIPO output pin per LED (with 4 free microcontroller pins, can drive any number of LEDs)(typically uses a 74HC595 [[Popular Parts]]).<br />
* mechanically-scanned POV: a linear row of LEDs is wiped across a large area. Each LED is turned on and off with precise timing to generate a 2D image. (p.s.: each LED must be directly driven from the microcontroller or a shift register. "matrix" or "Charlieplexing" does not work in combination with mechanically scanned POV.)</div>Mzoranhttp://www.opencircuits.com/index.php?title=PIC_Links&diff=15474PIC Links2008-05-25T20:55:06Z<p>Mzoran: Add XE1205-RNDIS</p>
<hr />
<div>Lots of external PIC Links<br />
<br />
=== Section 0 === <br />
<br />
In some cases the links are to search results, all these searches give results that have been judged useful, they are not just shots in the dark. These sites may be project sites like instructables or various blogs. Sometimes individual project from the same sites are listed separately.<br />
<br />
Key words to help you search the table.<br />
<br />
*Projects: project descriptions, enough to reproduce the project, not just nice pictures<br />
*Tutorial: a tutorial or how to<br />
*Links: a link to more links<br />
*Info: Useful information that does not rise to a tutorial, misc. tips.<br />
*PICIntro: Intro material<br />
*Asm: for assembler programs<br />
*Clang: for C programs<br />
*Forum: for a forum, mail list and their ilk<br />
*WebRing: for a Web Ring.<br />
*DBoard: development board for the controller<br />
<br />
So, for example, if you are looking for projects then search on Projects.<br />
<br />
Note: Help us out with this list by adding links or improving the site comments, fix errors....<br />
<br />
=== Section 1 === <br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! Topic<br />
! Topic Link<br />
! Comment<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Links<br />
*PIC<br />
|<br />
[http://www.geocities.com/SiliconValley/Way/5807/dat.html Microchip Net resources]<br />
|<br />
This has the most links on the PIC that I have seen in one place.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Projects<br />
*Info<br />
*PIC<br />
|[http://piclist.com/techref/piclist/index.htm Welcome to the official PICList home page.]<br />
|This is the place to go for a PIC message board, also many articles. Do not post here until you know what you are doing.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*General Links<br />
*PIC<br />
|[http://www.vermontficks.org/picbegin.htm PIC hints and direction]<br />
|A link page that largely links. Small DC Power Supply, other link pages, may be useful.<br />
<!-------------------------------> <br />
<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PIC<br />
|<br />
[http://www.tinaja.com/picup01.html Pick a Peck of PIC's Library ]<br />
|<br />
Interesting not always easy.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://jap.hu/electronic/combination_lock.html Electronic combination lock with PIC]<br />
|Electronic combination lock with PIC<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://piclist.com/techref/piclist/begin.htm Beginners checklist for PIC Microcontrollers]<br />
|Beginners checklist for PIC Microcontrollers. An excellent place to start.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Links<br />
*PIC<br />
|[http://www.sss-mag.com/pic.html Spread Spectrum Scene PIC STUFF]<br />
|Lots of links.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://jap.hu/electronic/ Peter's electronic projects and links]<br />
|Not all PIC but quite a few.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PICIntro<br />
*Project<br />
*PIC<br />
|[http://www.voti.nl/pic/index.html What is a PICmicro?]<br />
|This guy is very smart, a good site.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Pic<br />
*Links<br />
|[http://o.webring.com/hub?ring=picmicro PicMicro Webring]<br />
|If you do not know what a WebRing perhaps you can figure it out from here.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project <br />
*Robotics<br />
*PIC<br />
|<br />
[http://www.voti.nl/stepbots/index.html Stepbots]<br />
|<br />
A stepbot is a three wheeled robot using stepper motors.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*Pic<br />
|[http://www3.telus.net/chemelec/Projects/Anemometer/Anemometer.htm An Anemometer Circuit]<br />
|Measure wind speed. This has no moving parts, works by measuring cooling of a “hot” transistor. Fairly low parts count.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://members.cox.net/berniekm/Bench.html Bench Power Supply]<br />
|Uses a PIC for control and to measure voltage and current. Not simple but nice.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.users.bigpond.com/pbhandary/pic/iralyze/iralyze.html IR Remote Signal Analyzer]<br />
|Pretty big PIC project, but cool. Know what your IR remote is sending. IR receivers are a pretty common salvage component<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*Tutorial<br />
*PIC<br />
|[http://www.users.bigpond.com/pbhandary/pic/IRSony.html IR Receiver for Sony Remotes]<br />
|Simpler project than IR Remote Signal Analyzer which may be the better project<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC <br />
|[http://electronics-lab.com/projects/mcu/012/index.html PIC diode tester]<br />
|Nice simple project. Good Starting project. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.sbprojects.com/projects/ircontrol/picir/picir.htm PIC IR Decoders]<br />
|Decodes IR transmissions, has its own 4 digit display. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.dprg.org/projects/1998-08a/ IR Proximity Detector Project]<br />
|More fun with IR<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Robotics<br />
*Links<br />
*PIC<br />
|[http://www.dprg.org/projects/index.html INDEX OF PROJECTS for Robots]<br />
|Not entire robots but basic components for them. Some are PIC based.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://users.frii.com/dlc/robotics/projects/botproj.htm IR Robot Controller]<br />
| control of a robot. Software is assembler.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
<br />
*PICIntro<br />
*Tutorial<br />
*PIC<br />
|[http://www.rentron.com/Myke3.htm Your first PICMicro Project]<br />
|Introduction to PIC processors using assembler. Even if you are using another language this is a good introduction.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://www.sparkfun.com/commerce/present.php?p=BEE-1-PowerSupply Beginning Embedded Electronics]<br />
|This is not actually a PIC tutorial but lots of the material applies. This link is to the first of 10 + sections.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Kit<br />
*PIC<br />
|[http://www.rentron.com/Fire-Stick-II.htm Fire-Stick ]<br />
|This is an under $20. kit for long range IR communications. Uses some special parts so kit is probably a good idea.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.rentron.com/serial.htm How to build a Serial Voltmeter using the PIC16C71]<br />
|Software in PIC basic, you could rewrite in a different language, or use a different chip. Voltmeter talks to a PC. They may have a kit, you may do not need it.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*Links<br />
*PicIntro<br />
*PIC<br />
|[http://www.seattlerobotics.org/encoder/may97/picchip.html The PIC Chip Uncovered]<br />
|Introduction to the PIC.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://members.cox.net/berniekm/unichg.html Battery Charger]<br />
|Nice little battery charger. Universal Nicad/NiMH Includes printed circuit design. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://robotag.carleton.ca/resources/technical/pic_introduction.shtml Using the MicroChip PIC Microcontroller ]<br />
|A technical overview designed for students Another simple introduction.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://forum.sourceboost.com/index.php?showtopic=2399 pic Micro Programming In Boostc For Beginners]<br />
|Good beginner level<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://home.comcast.net/~russ_hensel/RClub/index.html A really Basic Guide to the PIC Microprocessor and BoostC]<br />
|A really Basic Guide to the PIC Microprocessor and BoostC<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PICIntro<br />
*Tutorial<br />
*PIC<br />
|[http://www.winpicprog.co.uk/pic_tutorial.htm WinPicProg PIC Tutorial]<br />
|Good introduction. Software is assembler. A series of simple projects. Good introduction to simple interface circuits. You might want to use a different programmer<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://fly.srk.fer.hr/~nix/Projects/Sonar/Sonar.html Nix's PIC based sonar system]<br />
|This is a simple range detection system, perhaps for a robot. Directions are a bit brief.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://ironbark.bendigo.latrobe.edu.au/~rice/lc/ A Surprisingly Accurate Digital LC Meter]<br />
|L is inductance ( what a coil of wire has. C is capacitance, what a capacitor has ). Very useful to identify unmarked parts.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.geocities.com/dariuskrail20/PICCapMeter.html Autorange Capacitance Meter]<br />
|Measure the value of a capacitance ( the stuff in a capacitor ). Auto ranging means the device switches itself between low and high measurement ranges.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*CLang<br />
*PIC<br />
|[http://www.microchipc.com/sourcecode/ C sample code for PIC micros and Hi-Tech C]<br />
|From Microchip. Lots of example programs in C: note that different versions of C can be quite different, esp. in their included libraries.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*CLang<br />
*PIC<br />
|[http://www.microchipc.com/sourcecode/ BoostC Compiler Example Code]<br />
| Lots of example programs in C: note that different versions of C can be quite different, esp. in their included libraries.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PIC<br />
*Links<br />
|[http://en.wikibooks.org/wiki/Embedded_Systems/PIC_Microcontroller Embedded Systems/PIC Microcontroller]<br />
|A bit brief, may be improved over time.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.best-microcontroller-projects.com/pic-projects.html PIC Projects based on flash pic microcontrollers.]<br />
|A big collection of projects.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*PIC<br />
*Forum<br />
|[http://forum.microchip.com the official Microchip forum]<br />
|lots of discussion -- try using Google to search this site, rather than the built-in search tool.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|<br />
[http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en529949 Microchip "Code Module Library"]<br />
|While different versions of C are different, these may help no matter which version you are using. Some versions of Microchips compilers are free.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* ASM<br />
|[http://eng-serve.com/pic/index.html Dring Engineering Services]<br />
|Wizards and calculators for generating PIC code.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
* ASM<br />
|[http://www.uchobby.com/index.php/2007/10/13/pic-based-logic-probe/ PIC Based Logic Probe]<br />
|Might be handy around your lab.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Tutorial<br />
|[http://www.picprojects.247n.com/ Introduction - How I got into using the PIC 16F628, 16F876 and other processors]<br />
|One person's experience<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
|[http://www.picguide.org/ PICGuide.org]<br />
|Lots of projects<br />
<br />
|-valign="top" <br />
|<br />
* Project<br />
|<br />
[http://people.zeelandnet.nl/whhofman/jen/PIC/index.html Drake: PICmicro and Maarten's computer]<br />
|<br />
A nice little game built out of a PICmicro, a 2-line LCD screen, and a few supporting components on a solderless breadboard.<br />
Also more complex version with larger screen display.<br />
Source code and schematics available for download.<br />
<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
* Tutorial<br />
* ASM<br />
|[triggers spam filter: www.geocities.com/nozomsite/pic1.htm PIC 16F84]<br />
|Nice little introduction, more stuff elsewhere on site.<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
* ?<br />
* ASM<br />
|[http://microchip.com/wiki/ ICwiki]<br />
|the ICwiki at microchip.com<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
*PIC<br />
*Project<br />
*BoostC<br />
|[http://home.comcast.net/~russ_hensel/RClub/sst/SerialStepperTest.html PIC Stepper Motor Demonstration and Test Project]<br />
|A PIC16F877A project that tests and operates a stepper motor under the control of a PC running a terminal program.<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
*PIC<br />
*Project<br />
*BoostC<br />
*Tutorial<br />
|[http://home.comcast.net/~russ_hensel/RClub/BoostCTutorial.html A Really Basic Guide to the PIC Microprocessor and BoostC]<br />
|This is meant to be a more introductory guide to the PIC microprocessor and BoostC ( [http://www.sourceboost.com/home.html] ) <br />
than any I have been able to find on the web. Additionally I assume that you have only limited knowledge of electronics and other microprocessors.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
* Info<br />
* Tutorial<br />
|[http://pic18fusb.online.fr/ Wiki about Microchip USB PIC]<br />
|Wiki dedicated to PIC microcontrollers with a USB interface<br />
(such as PIC18F2550, PIC18F4550, PIC18F2553, etc.)<br />
[http://pic18fusb.online.fr/wiki/wikka.php?wakka=UsbBootload PIC USB tutorial].<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
* Tutorial<br />
|[http://www.pyroelectro.com/index.php Pyros Electro]<br />
|Seems to have quite a bit of original material and some links to other sites. Tutorials are nice. I think this is a new site ( Feb 08 ).<br />
<!---------------------------------><br />
|-valign="top" <br />
| <br />
* Pic<br />
* Project<br />
|[http://www.cheaphack.net/2008/01/turing-alarm-clock.html The Turing Alarm Clock]<br />
|You have to prove you can think to turn off your alarm clock!<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
|[http://pp06.sourceforge.net/ PP06 PIC Programmer Software]<br />
|Has some [[open hardware]] PIC programmer designs. (Also open source software to use with them).<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Info<br />
|[http://www.ladyada.net/library/picvsavr.html PIC vs. AVR]<br />
|OK, I know what you people want. You want ultimate fighting, embedded E.E. style. You want to know WHICH IS BETTER, PIC OR AVR?<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Info<br />
|[http://www.embedded.com/TechSearch/Search.jhtml?sortSpec=score+desc&site_id=Embedded.com&Site+ID=Embedded.com&queryText=pic&Search.x=0&Search.y=0 Search Results]<br />
|Search Embedded.com for PIC topics.<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Projects<br />
|[http://www.instructables.com/tag/?q=pic+microchip&limit%3Atype%3Aid=on&type%3Aid=on&type%3Auser=on&type%3Acomment=on&type%3Agroup=on&type%3AforumTopic=on&sort=none Search Results]<br />
|Search Instructables for "PIC Microchip".<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.beyondlogic.org/pic/ringtones.htm Generate Ring Tones on your PIC16F87x Microcontroller]<br />
|Looks good.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* CLang<br />
* Project<br />
|[http://www.jeffree.co.uk/pages/revmaster.htm RevMaster - A Simple Tachometer Tony Jeffree Wednesday, 07 February 2007]<br />
|For machine tools. Optical sensor. <br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* ?Lang<br />
* PIC<br />
* Project<br />
|[http://www.instructables.com/id/USB-LED-scrolling-marquee-sign/ USB LED scrolling marquee sign]<br />
|A bit of POV here. Read to see how to drive a lot of LED's ( or at least one way ). Has boot loader and hex file, not sure if source code is there.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* ?Lang<br />
* Project<br />
|[http://hem.passagen.se/communication/frcpll.html 2.5 GHz Frequency counter]<br />
|From the site: "This project describes a very powerful frequency counter. <br />
Very simple construction which everyone can build. <br />
6 LED display will present the frequency with 1kHz resolution and <br />
RS232 communication to computer is available as option. <br />
The software has also been implemented with some smart functions, <br />
for calculating frequencies in receivers where IF is 455kHz or 10.7MHz. <br />
I present schematic, PCB, components and window software." Not sure if site has source code, does have hex file<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Tutorial<br />
|[http://www.best-microcontroller-projects.com/12F675.html#Program_1_:_12F675_Flashing_an_LED PIC 12F675 Microcontroller Tutorial.]<br />
|Not that many introductory tutorials are done in C, this one is. There is some sort of sale of the source code, this may be a problem.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
| [http://builders.reprap.org/2006/12/pic-programming-for-biollante.html PIC Programming for Biollante]<br />
| "a bunch of working examples of using the PIC16F628A with SDCC." (the open-source Simple Device C Compiler) (part of a blog discussing building a RepRap rapid-prototyping machine)<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<br />
|}<br />
<br />
=== Section 2 === <br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! Topic<br />
! Topic Link<br />
! Comment<br />
<!-------------------------------><br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.dimensionengineering.com/appnotes/Gmeter/Gmeter.htm DE-ACCM5G Application Note G Meter]<br />
|This is in some ways a promotion for the accelerometer they are selling but still looks like an interesting project. accelerometer is about $20. might be worth a look.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.dimensionengineering.com/appnotes/vibration_meter/vibration_meter.htm Building a simple vibration meter]<br />
|This is in some ways a promotion for the accelerometer they are selling but still looks like an interesting project. accelerometer is about $20. might be worth a look.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.uchobby.com/index.php/2008/02/19/pic-based-tengu/ PIC Based Tengu]<br />
|From the site: In this article Juan Mateos creates a PIC version of the Tengu companion. Tengu was originally developed by Crispin Jones as a USB controlled LED matrix that made faces and lip synced to music or other sounds it hears with a built in microphone.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.best-microcontroller-projects.com/frequency-counter-circuit.html Schematics and C code for a PIC frequency counter circuit operating up to about 50 MHz.]<br />
|Looks interesting.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* Links<br />
* PIC<br />
* Project<br />
|[http://www.best-microcontroller-projects.com/pic-projects.html PIC Projects based on flash pic microcontrollers.]<br />
|Some of these projects are already listed here.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* Asm<br />
* PIC<br />
* Project<br />
|[http://www.sixca.com/eng/articles/remote/index.html 3 channel IR remote control]<br />
|and some theory for IR remotes.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* DBoard<br />
|[http://www.greta.dhs.org/UBW/ USB Bit Whacker]<br />
|From the site: ''The UBW board is a small board that contains a Microchip PIC USB-capable microcontroller, headers to bring out all of the PICs signal lines (to a breadboard for example), only costs about $15-$20 to build and is powered from the USB connection.'' There seem to be a fair number of additional projects based on this device. Google "Bit Wacker".<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer A Microchip PIC based USB sound card]<br />
|Farily low chip count project. <br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC A FHSS USB RF Modem]<br />
|Demonstrates how to use frequency hopping techniques to create a bidirectional link. <br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/rfethernet.html XE1205-RNDIS A FHSS USB Wireless Ethernet]<br />
|The PINGPONG-CDC project that emulates Ethernet via RNDIS rather then a serial link. <br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY A Scrolling Display with RF connection to a PC]<br />
|Lots and lots of LED's. Wireless!<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.best-microcontroller-projects.com/led-dot-matrix-display.html How to drive an led display matrix.]<br />
|Some basics. Uses row and column drive.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.larwe.com/zws/products/picxie/index.html Picxie - Animated LED Signboard]<br />
|A little 4 by 4 display<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.larwe.com/zws/products/picxie2/index.html Picxie 2 - 8x8 Animated LED Signboard]<br />
|Just what it says.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://users.tpg.com.au/users/talking/Introduction.html 5x7 DISPLAY]<br />
|A series of experiments with a 5 x 7 display.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Tutorial<br />
* Asm<br />
|[http://amqrp.org/elmer160/lessons/index.html PIC Elmer 160 Course Lessons]<br />
|Tutorial in Asembley Language.<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------><br />
<br />
|}<br />
<br />
<br />
<!--------- scratch area <br />
<br />
How to drive an led display matrix.<br />
<br />
end scratch area -----------------><br />
<br />
== display type ==<br />
''display type is not particularly PIC-specific -- is there a better page for this section?''<br />
<br />
The most common ways of communicating from a microcontroller to a person (roughly in order of increasing complexity and increasing data density) are:<br />
* a few fixed LEDs; 1 microcontroller pin per LED (with 8 free pins, can drive up to 8 LEDs)<br />
* character LCD display<br />
* a matrix of LEDs; each column connected to 1 microcontroller pin; each row connected to 1 microcontroller pin (with 8 free pins, can drive up to 4x4= 16 LEDs)<br />
* [[Charlieplexing]]; each column connected to 1 microcontroller pin; each row connected to 1 microcontroller pin (with 8 free pins, can drive up to 8*7= 56 LEDs) ([http://en.wikipedia.org/wiki/Charlieplexing Wikipedia: Charlieplexing])<br />
* shift register; microcontroller shifts bits one at a time into a SIPO shift register chip; 1 SIPO output pin per LED (with 4 free microcontroller pins, can drive any number of LEDs)(typically uses a 74HC595 [[Popular Parts]]).<br />
* mechanically-scanned POV: a linear row of LEDs is wiped across a large area. Each LED is turned on and off with precise timing to generate a 2D image. (p.s.: each LED must be directly driven from the microcontroller or a shift register. "matrix" or "Charlieplexing" does not work in combination with mechanically scanned POV.)</div>Mzoranhttp://www.opencircuits.com/index.php?title=Projects&diff=15473Projects2008-05-25T20:50:46Z<p>Mzoran: Add XE1205-RNDIS</p>
<hr />
<div>7CCFE4 f85fkalfbc63m7jgd82hk0<br />
<br />
=== Open Source Circuits Magazine ===<br />
[http://www.anykits.com/ Anykits magazine]<br />
- Anykits publishes an open source magazine with quite a few, application oriented circuits. It contains schematics, parts list and PCB illustrations.<br />
The best part is that its formated for print and available as regular PDF.<br />
<br />
=== Open OBDII ===<br />
[http://www.sterntech.com/obdii.php Link to source and schematics]<br />
Open source hardware and software implementing OBDII tester for cars. <br />
Two versions one using a PIC microcontroller and one using an AVR microcontroller.<br />
<br />
=== [[vehicle]]s: manned and unmanned ===<br />
Lots of [[vehicle | vehicle-related projects]] -- for motorcycles, automobiles, and unmanned aerial vehicles (UAVs).<br />
<br />
=== Phone line relay controller with PIC16F84A - single relay ===<br />
* [http://www.elektronika.ba/projekti/?akc=daj_projekt&idprojekt=10] controll one relay over phone-line. Uses PIC16F84A and MT8870.<br />
<br />
=== Phone line relay controller with PIC16F876A - 6 relays! ===<br />
* [http://www.elektronika.ba/projekti/?akc=daj_projekt&idprojekt=11] controll up to 6 relays over phone-line. Uses PIC16F876A and MT8870.<br />
<br />
===Homemade MIDI turntable===<br />
Cheap and simple homemade MIDI turntable with GPL2 license. Using a ATmega, a HDNS-2000 optical mouse encoder, GCC-AVR, AVR-Libc and FreeRTOS. [http://casainho.net/tiki-index.php?page=Homemade+midi+turntable Homepage of Homemade MIDI turntable].<br />
<br />
=== Motherboards that Run Linux ===<br />
<br />
==== [[ARMUS Embedded Linux Board]] ====<br />
An ARM920T board running Linux at 200 Mips with sound, Ethernet, CAN, 48+ bidirectionnal IOs and 4 DSPs for motor control (DC, Servos, etc...). Built as a student proof robotics design platform.<br />
<br />
==== [http://balloonboard.org Balloon Xscale ARM+FPGA dev board] ====<br />
The Balloon project has produced Balloon3, a high-performance ARM board designed for use by OEMs and Higher education. Spec is PXA270 (583Mhz), FPGA or CPLD, 1GB flash, 784MB RAM, USB (master, slave, OTG), CF slot, expansion bus, 16-bit bus, I2C, LCD, serial, audio. Very low power in CPLD confiuguration. Small, light. Various add-on boards: VGA LCD driver, robot motor driver+A/D, digital IO. Released under the Balloon Open Hardware license, which allows anyone to manufacture and for people to make derivatives. The expansion bus allows balloon to be used as the computing component for various special-purpose devices.<br />
<br />
==== [[Linuxstamp]] ====<br />
The linuxstamp is an open source processor module. It is designed to be a very simple board capable of running linux. It is based on the Atmel AT91RM9200 processor (An ARM9 processor with a MMU).<br />
<br />
==== [[Linuxstamp Mboard 1]] ====<br />
This is the first mother board for the linuxstamp. It is still in the planning stages (no pcbs).<br />
<br />
==== [http://www.linuxdevices.com/links/LK9764937601.html LART -- an open license StrongARM based tiny SBC] ====<br />
<br />
"All CAD files required for building LART are available under the closest we could get to an Open/Free Hardware License."<br />
(Has this information [http://www-it.et.tudelft.nl/~inald/html/research.htm#MMC gone offline?])<br />
<br />
==== Other Boards that Run Linux ====<br />
<br />
* Is it possible to [http://groups.google.com/group/comp.arch.embedded/browse_thread/thread/be085ff0772cde21/8331dee5db8eb083#8331dee5db8eb083 Linux on a "soft CPU"] inside a FPGA?<br />
<br />
* [http://www.linuxhosts.org/article.cfm/id/158855 The ARM9 AT91SAM9261 is capable of running Linux].<br />
* [http://www.linuxdevices.com/articles/AT8498487406.html "teeny weeny Linux single board computers"]<br />
<br />
=== [[Programmable Chip EEG]] ===<br />
The Programmable Chip EEG is a Multi-channel electroencephalograph that could be a brain-computer interface.<br />
See the [http://openeeg.sourceforge.net/doc/ OpenEEG Project]<br />
<br />
=== [[Open Mobile Gadgets]] -- open source, open hardware, mobile phone ===<br />
An open source, open hardware mobile phone in its preliminary development.<br />
<br />
=== [[Music Player]]s including MP3 players ===<br />
<br />
* [[TRAXMOD]] Open source MOD music player for dsPIC/ARM microcontrollers.<br />
<br />
* [[Music Player]] Mostly off site.<br />
<br />
=== [[PG31 GPS RS232 Dev Board]] ===<br />
A simple RS232 example project that takes 3.3V TTL serial and outputs to a super-common RS232 connection. Insto-NMEA!<br />
<br />
=== [[RS232 Dev Board]] ===<br />
A simple RS232 example project that takes all the power it needs from the serial port. Use it to power your microcontroller and communicate between serial port and microcontroller. Takes advantage of the fact that pc serial ports will accept 0-5V rather than the RS232 standard of around negative 10V to positive 10V. Very convenient - no external power required! Note that you may use either a 5.1V Zener or a 5V regulator.<br />
<br />
=== [[RS232 RS485 USB Converter Board]] ===<br />
Aim to build a general Converter between different Interfaces.<br />
<br />
=== [[PG31 GPS USB Dev Board]] ===<br />
A great example project using the CP2102 USB to TTL UART IC as well as some basic battery holder info.<br />
<br />
=== [[Chalk Roach|Number Six]] ===<br />
"#6" (the son of Chalk Roach)<br />
is a ultra simple microcontroller development board for Atmel ATmega32 = 16MHz, 2KB SRAM, 16KB Flash<br />
<br />
=== LED and POV displays ===<br />
<br />
Led displays range from a battery and an LED which light up ( cool!, add a magnet and you have an led throwie ) to microcontroller led projects, either Smart Led ( Led with a microcontroller so that it blinks, reacts to the environment, or shifts color ) or Led Arrays ( or led matrix ) that do simple graphics and or play games, or POV devices where what you see depends upon you persistance of vision ( which can include some led arrays ). You can probably dig up more using these terms in google.<br />
<br />
==== Our Own Projects ====<br />
<br />
* [[24" Wall Clock]] A really big wall clock. Why? Well, cause it might look cool? Probably not. But we do use GPS to get the time! Groovy.<br />
* [[POV display]] that spins around, giving the illusion of a large display. ([[User:DavidCary|DavidCary]])<br />
* [[PointLess LED Array]] A 8 by 8 array displays something using POV ([[russ_hensel]])<br />
* [[PIC Links]] and search on POV and/or LED<br />
<br />
==== Off Site ====<br />
<br />
* [http://www.makezine.com/blog/archive/2007/03/luscious_electric_delight.html "luscious electric delight"]: source and schematics for a large graphical LED panel. Uses 12 MAX6953 LED drivers; each MAX6953 drives four 5x7 led matrices. The PC generates arbitrary bitmap, sends it out the serial port to a PIC, which translates it to I2C bus connected to all the MAX6953 LED drivers, which update the image at a continuous frame rate of 30fps.<br />
* [https://oldwiki.blinkenarea.org/bin/view/Blinkenarea/BlinkenProjects BlinkenProjects]: projects with lots of LEDs[http://www.kiu.weite-welt.com/de.schoar.blog/?p=206], including a 3D LED array. Wiki: http://wiki.blinkenarea.org/<br />
* [http://www.ianpaterson.org/projects/spokepov20050704/index.htm Ian’s Spoke POV] Review it.<br />
* [http://www.electric-clothing.com/superpov.html Project: Super POV] Review it.<br />
* [http://www.ladyada.net/make/spokepov/index.html SpokePOV Persistence of Vision for your Bike] Very nice, kit available.<br />
* [http://www.attiny.com/dotmatrix.htm On this page you will find a scrolling LED sign based on the ATtiny2313 AVR microcontroller] Row Column approach with a shift register]<br />
* [http://blog.makezine.com/archive/2007/02/flashing_led_br.html Flashing LED Bra]<br />
* [http://www.evilmadscientist.com/article.php/peggy "Peggy," A Light Emitting Pegboard Display]<br />
* Christmass trees are now led based so: [http://computerchristmas.com/ The #1 Site for Controlling Christmas Lights with a Computer]<br />
* [http://members.misty.com/don//ledx.html Don Klipstein's LED Main Page] Lots of good info.<br />
* [http://www.instructables.com/id/Synchronizing-Fireflies/ Synchronizing Fireflies] ATtiny super smart swarm of LEDs.<br />
* [http://www.u-disp.com/ U-Disp - An Open Sourced USB display]<br />
<br />
== [http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY - A Scrolling Display with RF connection to a PC ] ==<br />
<br />
POV scrolling display with an RF connection to a mini-itx computer and weatherstation. Project is built out of 384 discrete red LEDs. Display shows time and date, sunrise/sunset time and outdoor/indoor weather. <br />
<br />
Schematics, Board Layouts, and MPLAB C18 firmware source code is provided.<br />
<br />
=== [[Cellular Rotary Phone]] ===<br />
An indepth breakdown of the Port-O-Rotary. Some clues to help you avoid audio problems with the GM862.<br />
<br />
=== [[Das Brewmeister!]] and [[Fermenter Controller]] ===<br />
* [[Das Brewmeister!]] : An attempt to wirelessly monitor temperatures of fermentation vessels<br />
* [[Fermenter Controller]] : A web available fermenter vessel controller. Uses PICs, [[I2C]], Rs232 and python.<br />
<br />
=== [[Home controller]] ===<br />
Program your appliances to operate automatically in conjunction with your weekly and daily schedule, manually turn them on/off from your PC or use the controller as a process ON/OFF controller to regulate some kind of physical variable to the desired value.<br />
<br />
=== [[Interactive Lock Box]] ===<br />
An interesting project using an accelerometer and capacitive touch ICs.<br />
<br />
=== [[Motor driver]] (H-bridge) ===<br />
<br />
=== [[atomic microscope]] ===<br />
An atomic-resolution microscope.<br />
* STM (scanning tunnelling microscope)<br />
* AFM (atomic force microscope)<br />
<br />
=== [[BlueICE]] ===<br />
A bluetooth JTAG ICE debugger for AVR's!!!<br />
<br />
=== Sort-of-Networked [[RFID Reader]] ===<br />
A 125Khz RFID Reader with a simple ring network - to allow connection of multiple units to the same control computer.<br />
<br />
=== Battery charger ===<br />
<br />
See [http://elecdesign.com/Article/ArticleID/1823/1823.html "Build A Smart Battery Charger Using A Single-Transistor Circuit"] by Ejaz ur Rehman.<br />
But be sure to read the "Reader Comments" at the end.<br />
The suggestion to add a zener diode is a good idea.<br />
<br />
=== the Open Graphics Project ===<br />
<br />
[http://linux.wordpress.com/2006/07/19/introducing-the-open-graphics-project/ the Open Graphics Project]<br />
a project started by chip-designer Timothy Miller.<br />
His goal, along with the rest of the project, known as the “Open Graphics Foundation” is to make a 3D accelerated video card which is fully documented, free-licensed, and open source.<br />
See [http://wiki.duskglow.com/tiki-index.php?page=Open-Graphics the Open Graphics wiki].<br />
<br />
=== [[Amiga floppy project]] ===<br />
<br />
The Amiga floppy project:<br />
designing, building, and programming an adapter to allow PCs to read from Amiga floppies.<br />
"This is really designed to be a community project(hence the blog with progress reports)."<br />
<br />
This project is the building of an external USB amiga floppy drive controller. It sits between the USB port on a Windows PC, and a regular PC floppy drive. It will allow the PC to create .ADF images from an amiga floppy disk. This device is based on a Parallax SX28 microcontroller, uses Ramtron FRAM memory for temporary track storage, and uses another Parallax component for the USB interface.<br />
<br />
See http://www.techtravels.org/amiga/amigablog for the latest in the blow by blow attempts to get this thing off the ground!!<br />
<br />
=== Irsensor-a ===<br />
<br />
Infrared Proximity Sensor Alfa<br />
[http://www.kedo.com.mx/modules/content/index.php?id=3 Infrared Proximity Sensor Alfa in www.kedo.com.mx]<br />
<br />
The Infrared Proximity Sensor Alfa is a sensor to detect objects that can reflect infrared light. It has the following characteristics.<br />
* Designed to detect objects that are close and can reflect infrared lights.<br />
* It has a Infrared Transmitter to eliminate the dependency of solar lighting. So It can be used in the night.<br />
* It has a Infrared Receiver that detects the closest object that reflects the infrared lights.<br />
* It has an incorporated voltage regulator<br />
* The output is a constant 5V when it is active and 0V when no detection.<br />
* You can change the proximity threshold with a potentiometer.<br />
<br />
=== [[dsPIC30F 5011 Development Board]] ===<br />
A development board using Microchip dsPIC30F5011, a 5V based 16-bit microcontroller with DSP functions, EEPROM, ADC, PWM and communciation ports of UARTs, I2C, SPI etc. Contains concise information on:<br />
#Development environments (IDE)<br />
#External programming methods (ICSP Programming using ICD2 Programmer)<br />
#Bootloader implementation (RTSP)<br />
#Software development tips based on POSIX concepts<br />
#Basic conversion tips to target board using Microchip dsPIC33FJ128GP306, a pin-to-pin compatible 3.3V microcontroller<br />
<br />
=== Scavenge ===<br />
<br />
Some people derive an inordinate amount of pleasure from building semi-useful objects from zero-cost junk.<br />
<br />
In the electronics field, most of the stuff built from scavenged components falls into 2 categories:<br />
* ham radio transmitters and receivers -- built from a few transistors, caps, resistors, and wire<br />
* BEAM robotics -- built from the above plus motors, solar cells, ...<br />
<br />
According to http://coprolite.com/art12.html ,<br />
"I'd love to hear about where you found your 8048. Take a picture of the host that you remove it from (CD player, truck, refridgerator, whatever) and I'll put your picture on a page that chronicles our adventures sifting through the rubble."<br />
<br />
Also see [[Free_From_Salvage]]<br />
<br />
=== openEyes ===<br />
openEyes is an open-source open-hardware toolkit for low-cost real-time eye tracking.<br />
See [http://hcvl.hci.iastate.edu/cgi-bin/openEyes.cgi the OpenEyes hardware and software] and [http://hcvl.hci.iastate.edu/cgi-bin/openEyeswiki/index.cgi the openEyes wiki].<br />
<br />
=== RepRap ===<br />
RepRap is an open source project to create a 3d printer or fabber machine. There is tons of information available on [http://www.reprap.org its website]. The current iteration is a 3 axis cartesian robot with 2 extruder heads: a Thermoplastic head that extrudes plastics like HDPE, ABS, and CAPA, and a support material head that extrudes a water soluble material to support the build process.<br />
<br />
The [http://burningsmell.org/biollante/ Biollante project] is a kind of RepRap that uses a 6 axis Stewart platform.<br />
Can devices from a [http://kmoddl.library.cornell.edu/ mechanical model library] be fabbed with RapRap?<br />
The article [http://ccsl.mae.cornell.edu/papers/Nature05_Zykov.pdf "Self-reproducing machines"] goes even further than just 6 identical parts -- it suggests that "self-reproducing machines composed of many identical microscale modules" may be a better design than the original RepRap design where just about every part is unique.<br />
<br />
"This is the meta-problem of engineering: Design a machine that can design other machines." -- Hod Lipson[http://www.mae.cornell.edu/lipson/]<br />
<br />
=== TwentyDollarWikiDevice ===<br />
<br />
Challenge: Build a Wiki Device with a parts cost of no more than twenty dollars which is usable as a portable wiki. Include feature to make it compatible with a desktop or laptop computer's PersonalWiki, with a connector allowing this use.<br />
--<br />
http://c2.com/cgi/wiki?TwentyDollarWikiDevice<br />
<br />
"hardware portable wiki for taking notes with an auto-merging functionality when you are very close to Internet or your computer."<br />
--<br />
http://communitywiki.org/AlexandreDulaunoy<br />
<br />
=== [[breakout boards]] ===<br />
These are three boards that I designed for a specific project and found them very useful. Each of these boards uses the phoenix contact plugable terminal blocks. The 50-pin breakout board is for a 50-pin ribbon cable. The LEM breakout board is for LEM AC/DC current sensor. The power supply breakout board is for a +5v +/-15v power supply.<br />
<br />
=== Free Telephony Project ===<br />
<br />
[http://www.rowetel.com/ucasterisk Free Telephony Project]<br />
<br />
* Embedded Asterisk IP-PBX hardware and software<br />
<br />
* Low cost, completely open IP-PBX hardware including FXS/FXO analog and E1/T1 interfaces, and DSP motherboard hardware. Target price of $100 for a 4 port IP-PBX.<br />
<br />
=== Eyes for Open Robot ===<br />
<br />
* [http://www.sparkfun.com/commerce/product_info.php?products_id=637 $20 CMOS Camera Module - 640x480] has a [http://forum.sparkfun.com/viewtopic.php?t=2442 "Get-that-camera-working competition" discussion forum] and [http://www.makezine.com/blog/archive/2007/01/hack_this_cmos.html now been adequately documented] ... http://elinux.org/wiki/SparkfunCamera ... [http://forum.sparkfun.com/viewtopic.php?t=2442&postdays=0&postorder=asc&start=135 by David Carne].<br />
<br />
* ... perhaps simpler to use an off-the-shelf webcam that plugs directly into a laptop ... [http://www.linux.com/howtos/Webcam-HOWTO/hardware.shtml Enabling Support for Your (Webcam) Hardware in Linux] ... [http://www.saillard.org/linux/pwc/ Philips USB Webcam Driver for Linux] ... [http://qce-ga.sourceforge.net/ QuickCam] ...<br />
<br />
''Is there a simple way for my Java application to fetch the latest camera image in an Array of pixel values?''<br />
<br />
=== robot ===<br />
<br />
* open architecture humanoid robotics platform --[http://www.is.aist.go.jp/humanoid/openhrp/English/indexE.html OpenHRP]<br />
<br />
=== RCAP: R/C Auto Pilot: Remote Control Auto Pilot ===<br />
<br />
"The RCAP2 is a Remote Control AutoPilot] for model airplanes, cars and boats. The autopilot function can be switched off or on during flight with the flick of a switch." Uses PIC16F876A to:<br />
* read (servo) commands from the RC server<br />
* read (RS-232) GPS location from a NMEA capable GPS (with programmable goto/waypoints functions)<br />
* drive (servo) commands to the rudder.<br />
<br />
[http://en.wikibooks.org/wiki/RCAP RCAP Documentation at Wikibooks ],<br />
and [http://rcpilot.sourceforge.net/modules/rcap/index.php RCAP PCB layout at Sourceforge ].<br />
<br />
== [http://www.remember.ro/scripts/wiegand.php Wiegand reader simple controller] ==<br />
<br />
The PICmicro 16F628 decodes [http://en.wikipedia.org/wiki/Wiegand_protocol Wiegand protocol] coming from card reader.<br />
If the card matches one of the 40 cards in EEPROM, it turns on the light (opens the door).<br />
Schematic and source code published under GNU terms.<br />
<br />
== [http://www.rcrowley.com/ComClone/default.htm ComClone2 Intercom] ==<br />
<br />
ComClone2 is a DIY clone of the industry-standard "party line" production intercom system as first introduced by Clearcom and now sourced by many other vendors. This intercom system is widely used in both live show(theatrical, music, etc.) and video production. Website provides complete construction information including PC board, etc.<br />
<br />
== [[Ethernet Module]] ==<br />
<br />
*This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].<br />
*The entire Ethernet Module consists of:<br />
#Hardware: a LAN card based on Davicom DM9000A chip<br />
#Software: a TCP/IP stack based on uIP 1.0 or lwIP<br />
<br />
== Minimig ==<br />
<br />
[[Minimig|Amiga 500 implemented]] with Xilinx FPGA + Freescale mc68000<br />
<br />
== [http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer : A Homebrew USB Soundcard ] ==<br />
<br />
This project is a homebrew 12bit 24KHz homebrew USB soundcard based on a pic 18f2550 and a few Microchip analog parts.<br />
The project is based on the Microchip USB framework, but the core audio processing is written from scratch.<br />
The card is a duel Audio 1.0 + generic interface composite device with the generic interface being handled by WinUSB. <br />
The schematic, card firmware, and host C++ software is provided.<br />
<br />
== [http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC : A Homebrew USB FHSS RF Modem ] ==<br />
<br />
This project is a homebrew USB frequency hopping spread spectrum RF modem. The modem is based on the Microchip 18F2550 and the Semtec XE1205 RF module. The module does not include a MAC or protocol layer. That is what this project implements. The project demonstrates how to write a FHSS MAC layer and use USB to interface it with a PC through CDC and WinUSB. A utility for pairing and configuring modems is included. The schematic, firmware, and host C++ software is provided.<br />
<br />
== [http://www.raccoonrezcats.com/rfethernet.html XE1205-RNDIS : FCC Legal Frequency Hopping Spread Spectrum USB Wireless Ethernet ] ==<br />
<br />
This is the PINGPONG-CDC project that emulated ethernet through the RNDIS driver in Windows rather then a serial cable replacement. Full source code is provided.<br />
<br />
== An acceptable third generation PostScript printer ==<br />
<br />
"Ask the Guru: A Third-Generation Printer"<br />
article by Don Lancaster 1990<br />
http://www.tinaja.com/glib/guru60.pdf<br />
lists specifications for<br />
"An acceptable third generation PostScript printer."<br />
Would this be a good "open hardware" project ?<br />
<br />
<br />
== the [[Kestrel]] ==<br />
<br />
[http://archives.seul.org/geda/user/Aug-2004/msg00170.html "About the Kestrel"] by Samuel A. Falvo II 2004<br />
<br />
''(quote)''<br />
<br />
The Kestrel's intended purpose is to be a rational, grass-roots computer <br />
design employing half-way modern technology, where (quite unlike the PC) *EVERYTHING* is documented openly.<br />
BUT, not adopting every possible <br />
technology under the sun just because it exists. ... you'd get the circuit schematics, register-level <br />
programming information, timing diagrams, and descriptions of the <br />
ROM-resident OS interfaces ...<br />
<br />
The over-arching goals of the project remain the same:<br />
<br />
* An open, completely documented architecture, able to be described in a SINGLE BOOK. ...<br />
<br />
* Fan-less design, which means, low power, even at the expense of computation speed. ... I'm not aiming for the lowEST power -- but fanless design is critical.<br />
<br />
...<br />
<br />
* Instant on, (nearly) instant off. ... On the Amiga, you just waited 5 seconds, without touching anything, (that's it) for the disk caches to sync with the volumes, and then you flicked the power switch. End of discussion. Not so with Windows or Linux. Anyway, boot-up is way, way more expensive. It has to check RAM every freaking time ..., it probes the buses and takes its damn sweet time doing it, etc. AmigaOS did all this in a fraction of a second. Heck, even just spending 5 seconds is sufficient for me. But remember that this is added on to the start-up time of the OS you're loading too! The goal: instant on, instant off. Trust me -- it really DOES make a difference!<br />
<br />
...<br />
<br />
* Lightning fast I/O auto-detection. If the Amiga can do it with 8MHz processor technology, so can we with 66MHz. I simply cannot emphasize this enough.<br />
<br />
* Relatively easy to build. Since this is now an advanced kit idea, this isn't nearly as weighted as it used to be. Nonetheless, it is a goal to strive for.<br />
<br />
* Minimum cost. ...<br />
<br />
...<br />
<br />
The whole purpose is to have FUN with this computer -- to have fun <br />
building it, to have fun using it, to have fun expanding it. Part of <br />
this fun factor is being able to hack the hardware as much as you can <br />
hack the software.<br />
Commodore's IEC bus, HP's HP-IL, and Amiga's Zorro <br />
bus are all inspirations here.<br />
...<br />
it wasn't hard to build a Zorro <br />
card that fully interoperated with the system, you didn't need to be <br />
registered with anyone but Commodore (and they gave away mfr IDs for <br />
FREE), and full hardware interface details were available in the Amiga <br />
HRM for a cost of $29.99 US. It was bliss.<br />
<br />
* Everything is LGPLed. So if you DID want to include PCI slots or whatever, please feel free!! Just because it's not my personal priority with the system doesn't mean it's not someone else's. This is the beauty of open source and, indeed, [[open hardware]].<br />
<br />
...<br />
<br />
* Support for new business opportunities. ... This ties into the prime goal of this whole thing, which is,<br />
<br />
* The creation of a vibrant and healthy user and developer community, capable of supporting itself on both software AND hardware fronts.<br />
<br />
...<br />
<br />
''(end quote)''<br />
<br />
A more up-to-date description of<br />
[http://falvotech.com/content/kestrel/ The Kestrel Project].<br />
(several other pages on the Kestrel project nearby).<br />
<br />
== [[astronomy]] ==<br />
A variety of "open" tools for optical and radio astronomy.<br />
<br />
== flash downloaders ==<br />
Many people have published open-hardware schematics for downloading programs into the flash of various microcontrollers. [http://m8cutils.sourceforge.net/ m8cprogs for Cypress PSoC], [http://techref.massmind.org/techref/devprogs.htm various flash downloaders for Microchip PIC], etc.<br />
<br />
== [[WikiNode]] ==<br />
The WikiNode project tries to link every wiki in the world together.<br />
Our "[[WikiNode]]" links to closely-related wiki (and their WikiNode links back).<br />
<br />
If you want to talk about something that is not quite on-topic here at Open Circuits<br />
(say, "desktop PC case modding", or "embedded Linux programming"), our WikiNode helps you find another wiki where people love to talk about that exact topic.<br />
The corresponding WikiNode on each of those wiki helps people who want to talk about "open hardware" to discover this wiki.<br />
<br />
== arm7-oled-clock ==<br />
<br />
arm7-oled-clock is a clock hardware/software project for a clock with a graphic organic led display running on an atmel arm7 microcontroller.<br />
<br />
Here is the [http://code.google.com/p/arm7-oled-clock/ arm7-oled-clock's project page on google code].<br />
<br />
== Sun SPOTs ==<br />
<br />
[http://www.sun.com/ Sun Microsystems] has open sourced both hardware and software for the [http://research.sun.com/ Sun Microsystem Laboratories] Sun SPOT (Small Programmable Object Technology) Wireless Sensor Network. <br />
<br />
This Java-based system is an ARM920T 180MHz processor, 4Mbyte Flash, 512Kbyte pSRAM and 802.15.4 radio transceiver (TI CC2420). See the [http://www.sunspotworld.com/ Sun SPOT World] website for more information. We also have an active [https://www.sunspotworld.com/forums/ forum].<br />
<br />
The hardware designs can be downloaded from [https://spots-hardware.dev.java.net/ https://spots-hardware.dev.java.net]. The content available for download (subversion) are the schematics (pdf, Altium), bill of materials (Excel), assembly drawings (pdf), fabrication drawings (pdf), PC design files (Altium) and gerber files (RS274X) for these boards.<br />
<br />
The boards we have posted are:<br />
* eDemo: Demonstration add-on board for the Sun SPOT. <br />
* eFlash: MiniSD card reader/writer add on board for Sun SPOT <br />
* eProto: Prototype board with simple interface to Sun SPOT <br />
* eProtomega: eSPOT Prototyping board with Atmega88 processor <br />
* eSerial: RS232 Serial interface board for the Sun SPOT <br />
* eUSB-Host: USB host interface to Sun SPOT <br />
* eDaq: Industrial strength ADC board<br />
* eBones: Basic interface board application note<br />
* eSPOT: Main Sun SPOT board<br />
<br />
Our wiki for the hardware is [http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware].<br />
<br />
SPOTs run Squawk, an open source Java virtual machine (VM). The download (and more information) for Squawk is [https://squawk.dev.java.net/ https://squawk.dev.java.net/]. The SPOT specific libraries can be downloaded from [https://spots-libraries.dev.java.net/ https://spots-libraries.dev.java.net/] along with community applications [https://spots-applications.dev.java.net/ https://spots-applications.dev.java.net/]<br />
<br />
<br />
== Other Lists of Semi-Open Projects ==<br />
<br />
* UHF FM BUG with ButtonCell battery ( http://www.elektronika.ba/el.sheme/?akc=daj_shemu&idshema=490 ) "This bug is 100% made from an old Nokia GSM phone! It operates at 434 MHz and reception can be achieved on a modified TV tuner or 70cm band HAM radio."<br />
* [http://massmind.org/techref/microchip/alternatives.htm microcontroller alternatives] lists a bunch of "small PCBs" (is there a better name?) designed for hacking and prototyping, that already have the processor and a few other super-common things built in ... so you don't have to start *completely* from scratch.<br />
* [http://thinkcycle.org/ ThinkCycle] "ThinkCycle is a ... non-profit initiative ... supporting distributed collaboration towards design challenges facing underserved communities and the environment. ThinkCycle seeks to create a culture of open source design innovation"<br />
* Are [http://positron.org/projects/ the Positron projects] "open" enough to be mentioned? I especially liked the [http://positron.org/projects/acrylic_cases/ "Lasercut Acrylic Casebuilding Tutorial" ].<br />
* Is [http://wiki.vislab.usyd.edu.au/moinwiki/PuckControl/BuildingThePuck the Vislab puck] suitable for this list?<br />
* [http://massmind.org/techref/piclist/pcbcontest.htm PICList & JAL_List free PCB contest] "this will encourage people to publish designs and get more good ideas out into the real world for everyone to see." (So, are these "open" circuits?)<br />
* http://ePanorama.net/ has a bunch of schematics and a web discussion forum. Are they "open" enough to mention here?<br />
* "Yet Another One-hand Keyboard" ( http://chordite.com/ ) "The firmware included in the download lets an Atmel AVR '2313 microcontroller interpret chords and talk to a PS/2 port." -- it's not completely open, but the license allows you to immediately download, for free, lots of technical information and a license to build up to 5 of your own. Building more than 5 requires some sort of payment to license the patent on the hardware configuration. (The software appears to be open source). There seems to be an associated Yahoo mailing list. What is an appropriate way to invite John W. McKown and others on the mailing list to use a wiki such as Open Circuits to maintain a FAQ?<br />
* [http://www.solorb.com/elect/ FC's Electronic Circuits] ?<br />
* [http://panvent.blogspot.com/ "Pandemic Ventilator Project"] asks: "Does Open Source Hardware Development Work?"<br />
* GSM SMS Controllers ( http://www.elektronika.ba/projekti/?akc=daj_projekt&idprojekt=6 ) "TwoWay Thing (GSM Controller v3) is a device that allows you to control appliances using SMS messages. There are also 4 inputs for connecting sensors so the device will send an alarm SMS or even call you to report an alarm condition. The device draws very little current and is being powered by phone’s battery which is a great thing. Nokia should be constantly charged or supplied with some sort of external power for long term operation."<br />
* Phone-call alarm alert ( http://www.elektronika.ba/projekti/?akc=daj_projekt&idprojekt=7 ) "After programming just supply power to the device. After pressing the button "Pokreni dojavu alarma" it will start to dial (tone or pulse, depending on the jumper setup). When the phone call is succesfully established, the called party should press pound key "#" to stop the device from calling another number or again."<br />
* SMS Box ( http://www.elektronika.ba/projekti/?akc=daj_projekt&idprojekt=9 ) "This device acts as interface between your microcontroller project and a GSM phone. It handles all modem data communication between the GSM phone and your micro-project. The best thing is that it decodes PDU into TEXT on the fly!"<br />
* GSM alarm alert - call ( http://www.elektronika.ba/projekti/?akc=daj_projekt&idprojekt=5 ) "Alerting alarm over via GSM network"<br />
* [http://linuxdevices.com/news/NS3871478989.html Bug Labs]: A startup is readying a modular, open source hardware/software system resembling a set of electronic Legos. Nov. 05, 2007 [http://www.buglabs.net/]<br />
* [http://picflow.sourceforge.net/ PIC flow meter and instrumentation modules]: Sensors, Gauges, Flow meter, data logging, connected by Grundfos Pumps inc. GENIbus over RS485.<br />
* Raphaël Assénat has [http://raphnet.net/electronique/electronique_en.php posted several electronics projects], including schematics. Several of them involve interfacing various "classic" video game controllers to USB. His [http://raphnet.net/electronique/cid/cid_en.php "Caller Id decoder"] is a nice example of adding just one more feature to something using a minimum of additional electronics.<br />
<br />
== [[Other Projects | other project sites or links to projects]] ==<br />
<br />
May or may not be open, not much review material here, noted for the record, may be promoted in the future if they are outstanding in any way.<br />
<br />
<br />
[[Category:Projects]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Microcontrollers&diff=15250Microcontrollers2008-04-07T17:24:21Z<p>Mzoran: Add PIC selection info</p>
<hr />
<div>=Microcontrollers=<br />
<br />
<br />
First, a few definitions:<br />
<br />
* a '''CPU''' is something that can execute software programs. The earliest CPUs were built out of many parts, but now most CPUs are microprocessors.<br />
* a '''microprocessor''' is a kind of CPU that all fits on one [[integrated circuit]]. The earliest microprocessors, and some famous kinds of microprocessors still being made, fill the entire chip, and so require external RAM and ROM/FLASH memory. But now most CPUs sold are microcontrollers[http://www.circuitcellar.com/library/designforum/silicon_update/3/index.asp].<br />
* A '''microcontroller''' is a kind of microprocessor that, in addition to the CPU, also includes RAM and ROM/FLASH memory on a single die/package.<br />
<br />
<br />
A microcontroller is a little computer on a single Die/Package. The computer includes a CPU core, RAM, ROM/FLASH, and peripherals including UARTS, A/D converters, SPI, and I2C. Microcontrollers differ from microprocessors in that the microporcessors generally have bigger more powerful central processing units, but need support chips for ram, rom and other peripherals. Most modern microcontrollers use FLASH ram instead of a ROM so they can be programmed over and over. Many modern microcontrollers allow self-flashing to enable bootloading or a firmware update without pulling the chip from the circuit or using a programmer/debugger. Microcontrollers tend to be more optimizated for writting in assembly than PCs, but C and Basic are becoming more standard programming languages.<br />
<br />
==General==<br />
<br />
<br />
Many hobbyists use microcontrollers, sometimes even multiple microcontrollers, in their [[projects]].<br />
Prices have fallen below $5 for the cheapest 32-bit microcontroller and below $1 for the cheapest 8-bit microcontroller.<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
<br />
About 55% of all CPUs sold in the world are 8-bit microcontrollers. Over 2 billion 8-bit microcontrollers were sold in 1997.[http://www.circuitcellar.com/library/designforum/silicon_update/3/index.asp]<br />
''(Anyone have more up-to-date statistics?)''<br />
<br />
Somebody always thinks their microcontroller is the best microcontroller, so we have listed all of them as best.<br />
<br />
<br />
[http://www.ladyada.net/library/picvsavr.html "PIC vs. AVR"]: "OK, I know what you people want. You want ultimate fighting, embedded E.E. style. You want to know WHICH IS BETTER, PIC OR AVR?"<br />
<br />
<br />
<br />
[[MC RS232 Comm|Some notes on Microcontroller RS232 Communications]]<br />
<br />
== Microchip PIC ==<br />
The best microcontroller.<br />
<br />
* [[PIC Links]] A bunch of links to PIC based information and projects<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* [[Microchip]] dsPIC/PIC24 16 bit FLASH microcontrollers <br />
* [[DsPIC30F 5011 Development Board]] <br />
* [[Microchip]] PIC32 32 bit FLASH microcontrollers<br />
<br />
Note about choosing a PIC:<br />
<br />
The number of PIC models is huge so it is worth saying a few words on how to choose a PIC. <br />
<br />
Things to consider as a hobbiest or making a small production run:<br />
<br />
* Microchip tends to produce the same chip with minor variations. The exact same chip with the exact same pinout may be available in 8k, 16k, or 32k flash. Spend a few extra pennyies and take the best.<br />
* SMT parts are hard to work with so focus on DIP package parts with <= 40 pins.<br />
* Contrary to common sense, older parts are often more expensive then newer parts. <br />
* Consider if a free/student version of a C compiler is availible. Microchip provides free/student student versions for the 18f,dsPIC/PIC24, and PIC32.<br />
<br />
List of some of the best PICs for hobby purposes:<br />
<br />
{| border="1"<br />
|PIC<br />
|Pin Count<br />
|Important Features<br />
|Typical Use<br />
|-<br />
|PIC12F683<br />
|8<br />
|ADC, I/O PWM, Comparator<br />
|Very Simple Projects/Glue Logic<br />
|-<br />
|PIC16F88<br />
|18<br />
|UART, I2C/SPI, ADC, I/O PWM, Comparator<br />
|General Purpose<br />
|-<br />
|18F2620<br />
|28<br />
|UART, I2C/SPI, ADC, I/O PWM, Comparator<br />
|General Purpose<br />
|-<br />
|18F4620<br />
|40<br />
|UART, I2C/SPI, ADC, I/O PWM, Comparator, 8 Bit Parallel Port<br />
|General Purpose<br />
|-<br />
|18F2550/18F2553<br />
|28<br />
|USB, UART, I2C/SPI, ADC, I/O PWM, Comparator<br />
|USB Connectivity<br />
|-<br />
|18F4550/18F4553<br />
|40<br />
|USB, UART, I2C/SPI, ADC, I/O PWM, Comparator, 8 Bit Parallel Port<br />
|USB Connectivity<br />
|-<br />
|P24FJ64GA002<br />
|28<br />
|2 UART, 2 I2C, 2 SPI, ADC, I/O PWM, Comparator - Software Selectable Pin Assignment<br />
|General Purpose<br />
|}<br />
<br />
Note: J means the PIC is a native 3.3V part. Other PICs will run at 3.3V but only at slower clock speeds.<br />
<br />
External Links:<br />
<br />
== Atmel AVR ==<br />
The best microcontroller.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
<br />
== Development Boards ==<br />
Development Boards are printed circuit boards that contain a microcontroller and enough circuitry to get it going, typically at least some of the following: clock, voltage regulator, reset button, communications chip, buffer amplifiers, led's, prototyping area, and/or off chip connections. Sometimes the manufacturer of the chip sells development boards ( often called evaluation boards ). Development boards can be really basic, just enough to make the processor run, with connections to the IO pins. Or the boards can include communications, displays, input buttons etc. Often you can jump start a project by using a development board that does the boring standard stuff and let you focus on your project. The development board can let you use high density parts and surface mount parts that you might not want to mess with. The BitWacker kit from [[SparkFun]] is priced close the to the total price of the parts. This is probably true of some other development boards as well. Note that some development boards require you to build them they have not been made available as kits, some come both ways.<br />
<br />
*[[Chalk Roach]]<br />
*[[Arduino Links]]<br />
*[[BitWacker Java Communications]]<br />
*[[RS232 Dev Board]]<br />
*[[dsPIC30F 5011 Development Board]]<br />
<br />
== Cypress PSoC ==<br />
The best microcontroller.<br />
* Cypress PSoC 8 bit FLASH microcontrollers.<br />
<br />
External Links:<br />
* [http://en.wikibooks.org/wiki/Embedded_Systems/Cypress_PSoC_Microcontroller Wikibooks: Cypress PSoC]<br />
<br />
== ARM ==<br />
The best microcontroller.<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
<br />
<br />
== Other Needs to be Organized ==<br />
<br />
<br />
<br />
*[http://www.veys.com/index.php?title=Main_Page Main Page] May have been a one man effort, now dropped. Has a bit of content that looks good.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Microcontrollers&diff=15249Microcontrollers2008-04-07T16:37:55Z<p>Mzoran: Remove redundent section</p>
<hr />
<div>=Microcontrollers=<br />
<br />
<br />
First, a few definitions:<br />
<br />
* a '''CPU''' is something that can execute software programs. The earliest CPUs were built out of many parts, but now most CPUs are microprocessors.<br />
* a '''microprocessor''' is a kind of CPU that all fits on one [[integrated circuit]]. The earliest microprocessors, and some famous kinds of microprocessors still being made, fill the entire chip, and so require external RAM and ROM/FLASH memory. But now most CPUs sold are microcontrollers[http://www.circuitcellar.com/library/designforum/silicon_update/3/index.asp].<br />
* A '''microcontroller''' is a kind of microprocessor that, in addition to the CPU, also includes RAM and ROM/FLASH memory on a single die/package.<br />
<br />
<br />
A microcontroller is a little computer on a single Die/Package. The computer includes a CPU core, RAM, ROM/FLASH, and peripherals including UARTS, A/D converters, SPI, and I2C. Microcontrollers differ from microprocessors in that the microporcessors generally have bigger more powerful central processing units, but need support chips for ram, rom and other peripherals. Most modern microcontrollers use FLASH ram instead of a ROM so they can be programmed over and over. Many modern microcontrollers allow self-flashing to enable bootloading or a firmware update without pulling the chip from the circuit or using a programmer/debugger. Microcontrollers tend to be more optimizated for writting in assembly than PCs, but C and Basic are becoming more standard programming languages.<br />
<br />
==General==<br />
<br />
<br />
Many hobbyists use microcontrollers, sometimes even multiple microcontrollers, in their [[projects]].<br />
Prices have fallen below $5 for the cheapest 32-bit microcontroller and below $1 for the cheapest 8-bit microcontroller.<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
<br />
About 55% of all CPUs sold in the world are 8-bit microcontrollers. Over 2 billion 8-bit microcontrollers were sold in 1997.[http://www.circuitcellar.com/library/designforum/silicon_update/3/index.asp]<br />
''(Anyone have more up-to-date statistics?)''<br />
<br />
Somebody always thinks their microcontroller is the best microcontroller, so we have listed all of them as best.<br />
<br />
<br />
[http://www.ladyada.net/library/picvsavr.html "PIC vs. AVR"]: "OK, I know what you people want. You want ultimate fighting, embedded E.E. style. You want to know WHICH IS BETTER, PIC OR AVR?"<br />
<br />
<br />
<br />
[[MC RS232 Comm|Some notes on Microcontroller RS232 Communications]]<br />
<br />
== Microchip PIC ==<br />
The best microcontroller.<br />
<br />
* [[PIC Links]] A bunch of links to PIC based information and projects<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* [[Microchip]] dsPIC/PIC24 16 bit FLASH microcontrollers <br />
* [[DsPIC30F 5011 Development Board]] <br />
* [[Microchip]] PIC32 32 bit FLASH microcontrollers<br />
<br />
<br />
External Links:<br />
<br />
== Atmel AVR ==<br />
The best microcontroller.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
<br />
== Development Boards ==<br />
Development Boards are printed circuit boards that contain a microcontroller and enough circuitry to get it going, typically at least some of the following: clock, voltage regulator, reset button, communications chip, buffer amplifiers, led's, prototyping area, and/or off chip connections. Sometimes the manufacturer of the chip sells development boards ( often called evaluation boards ). Development boards can be really basic, just enough to make the processor run, with connections to the IO pins. Or the boards can include communications, displays, input buttons etc. Often you can jump start a project by using a development board that does the boring standard stuff and let you focus on your project. The development board can let you use high density parts and surface mount parts that you might not want to mess with. The BitWacker kit from [[SparkFun]] is priced close the to the total price of the parts. This is probably true of some other development boards as well. Note that some development boards require you to build them they have not been made available as kits, some come both ways.<br />
<br />
*[[Chalk Roach]]<br />
*[[Arduino Links]]<br />
*[[BitWacker Java Communications]]<br />
*[[RS232 Dev Board]]<br />
*[[dsPIC30F 5011 Development Board]]<br />
<br />
== Cypress PSoC ==<br />
The best microcontroller.<br />
* Cypress PSoC 8 bit FLASH microcontrollers.<br />
<br />
External Links:<br />
* [http://en.wikibooks.org/wiki/Embedded_Systems/Cypress_PSoC_Microcontroller Wikibooks: Cypress PSoC]<br />
<br />
== ARM ==<br />
The best microcontroller.<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
<br />
<br />
== Other Needs to be Organized ==<br />
<br />
<br />
<br />
*[http://www.veys.com/index.php?title=Main_Page Main Page] May have been a one man effort, now dropped. Has a bit of content that looks good.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Analog_Whacker&diff=15242Analog Whacker2008-04-05T01:33:15Z<p>Mzoran: add low pass comment</p>
<hr />
<div>== Analog Whacker -- An Analog Input Signal Conditioner for the UBW USB BitWhacker ==<br />
<br />
<br />
*Name: Analog Wacker ( Whacker )<br />
*Status: Concept, developing.<br />
*Technology: Operational Amplifiers<br />
*Author: [[russ_hensel]] ( where you can find an email address to reach me )<br />
<br />
<br />
The purpose of this project is to provide a board which will condition analog signals so that the UBW can convert the analog signals to digital ones. We will also be providing specialized software to make working with the hardware more useful. If you would like to participate in this project contact [[russ_hensel]].<br />
<br />
== Issuses for Input to Analog Pins ==<br />
<br />
Input to analog pins involves several issues. A few of the most basic and our approach to dealing with them will be discussed here. <br />
<br />
* The voltage you have may not be the voltage you want. The UBW typically wants a voltage from 0 to 5 volts. We will use a gain controlled operational amplifier to either amplify or attenuate the input voltage. Thus a analog therometer with an output of 0 to 1 volt will be amplified to 0 to 5 volts.<br />
<br />
*These inputs are not entirely passive. Often they present a high impedance, but during the sampling period they have a substantial capacitance. This if they are driven from a high impedance you will not get an accurate sample of the input. A common solution to this is to drive them from an operational amplifier. This is what this circuit does. <br />
<br />
*A second problem is that the inputs measure only positive voltages. An op amp again offers a solution to this, either by inverting the input or by offsetting the voltage from zero. We are using non inverting amplifier, but providing for offset.<br />
<br />
*Input pins should not be driven above the voltage of the PIC power supply or below zero. We will use diodes to limit these voltages.<br />
<br />
*A low pass filter is needed at the input. Idealy, the filter should cut off all frequencies above half the sample rate. Maybe omitted for very slowly changing signals such as from a temperature sensor. <br />
<br />
== Guidelines for the Project ==<br />
<br />
*Circuit board should be single sided and be fairly easily etched using toner transfer. <br />
*Board should support different configurations depending on how it is populated and how jumpers are placed.<br />
*Common parts should be used.<br />
*Board/schematic in Eagle (free version). I have a first circuit that will autoroute.<br />
*Much of calibration adjustment will be done in software rather than high precision parts in the hardware.<br />
<br />
== Ideas ==<br />
<br />
Single ended input, for ballanced input or current monitor, will need a seperate board.<br />
<br />
single ended supply – invert in software<br />
do not accurately 0, do in software but use 1 percent to center on 0 ( maybe even power from a port so can center or not )<br />
<br />
Add calibrate to the BitWhacker app <br />
<br />
Just diodes for over under voltage protect <br />
<br />
Current monitor on separate board<br />
<br />
Offset for say diode temp – limit number<br />
<br />
gain of 50 max, use jump to shift or what.<br />
<br />
<br />
connect to BitWhacker how <br />
<br />
5 volt reference from local 5v reg,</div>Mzoranhttp://www.opencircuits.com/index.php?title=PC-Microcontroller_Communications&diff=15231PC-Microcontroller Communications2008-04-03T21:17:10Z<p>Mzoran: Add bluetooth to list</p>
<hr />
<div>== Introduction ==<br />
<br />
Many times an embedded system or microcontroller needs to be connected to a PC. This topic discusses the various methods for doing this<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
Advantages<br />
* Relatively simple firmware and PC software<br />
* Ability to use terminal emulators to test hardware<br />
* Long cable lengths<br />
<br />
Disadvantages:<br />
* Slow<br />
* Requires bulky connectors and level translators<br />
* Many new computers especially laptops don't have serial ports<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers now have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontroller manufacters that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Plug and Play<br />
* No level translators and small connectors<br />
* Works with computers that don't have serial ports<br />
* Ability to implement standard devices such a keyboards, mice, memory card readers, and sound cards without writting a device driver.<br />
<br />
Disadvantages:<br />
* Complex Firmware and PC software<br />
* Requires OS specific device drivers and installers<br />
* PC application software is more OS specific<br />
* Short cable lengths<br />
* May require the use of an expensive hardware bus analyzer<br />
<br />
== Ethernet-TCP/IP Communications from a PC to Microcontrollers ==<br />
<br />
Ethernet and the Internet is everwhere so many embedded devices now have ethernet connections. Network connections can be very long and it's possible to use cheap commodity hardware such as WiFi bridges. Several microcontroller manufacters are now providing sample TCP/IP stacks some of them with embedded web servers so that the hardware can be controlled from a PC via a web browser such as IE or Firefox. PC programming has a mostly OS independent API called sockets that is available on both Windows and Unix.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Firmware/Stack<br />
|[http://http://ww1.microchip.com/downloads/en/DeviceDoc/TCPIPStack%204.18.zip Microchip TCP/IP Stack v4.18 for PIC18, PIC24, dsPIC and PIC32 MCUs]<br />
|Sample TCP/IP firmware for many Microchip microcontrollers<br />
<!--------------------------------><br />
<br />
|}<br />
<br />
<br />
Advantages:<br />
* Fast<br />
* Long cable lengths and commodity equiptment<br />
* PC API is mostly OS independent<br />
* No device drivers required<br />
* Many OSs include free packet sniffers for easy analysis of network traffic<br />
<br />
Disadvantages:<br />
* More complex firmware then either serial ports or USB<br />
* High part count and complex hardware<br />
* Device detection is not plug and play. It can be complex to find the IP address of an embedded device.<br />
<br />
== Bluetooth-SPP Communications from a PC to Microcontrollers ==<br />
<br />
Many laptops and even desktops now have bluetooth support or a bluetooth dangle can be purchased for a small amount of money. This makes bluetooth a good choice for controlling microcontrollers wirelessly. Several dropin modules are available that implement the Bluetooth SPP protocal which allows direct emulation of a serial cable. The models usually have an AT command set for configuring the module and establishing connections. Most Bluetooth stacks on the PC have support for SPP and will expose the device as a COM port. Detection of the COM port is difficult since Bluetooth doesn't have a standard stack for Windows. <br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Hardware<br />
|[http://www.sparkfun.com/commerce/product_info.php?products_id=8461 Bluetooth DIP Module - SparkFun]<br />
|Bluetooth dropin serial replacement module from SparkFun<br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Wireless<br />
* Quick conversion of existing serial port based devices to wireless<br />
* No device drivers to install<br />
<br />
Disadvantages:<br />
* Pairing devices can be complex<br />
* Difficult to make the system plug and play<br />
* AT command set can get in the way of data if binary data is sent.</div>Mzoranhttp://www.opencircuits.com/index.php?title=PC-Microcontroller_Communications&diff=15230PC-Microcontroller Communications2008-04-03T01:40:23Z<p>Mzoran: </p>
<hr />
<div>== Introduction ==<br />
<br />
Many times an embedded system or microcontroller needs to be connected to a PC. This topic discusses the various methods for doing this<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
Advantages<br />
* Relatively simple firmware and PC software<br />
* Ability to use terminal emulators to test hardware<br />
* Long cable lengths<br />
<br />
Disadvantages:<br />
* Slow<br />
* Requires bulky connectors and level translators<br />
* Many new computers especially laptops don't have serial ports<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers now have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontroller manufacters that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Plug and Play<br />
* No level translators and small connectors<br />
* Works with computers that don't have serial ports<br />
* Ability to implement standard devices such a keyboards, mice, memory card readers, and sound cards without writting a device driver.<br />
<br />
Disadvantages:<br />
* Complex Firmware and PC software<br />
* Requires OS specific device drivers and installers<br />
* PC application software is more OS specific<br />
* Short cable lengths<br />
* May require the use of an expensive hardware bus analyzer<br />
<br />
== Ethernet-TCP/IP Communications from a PC to Microcontrollers ==<br />
<br />
Ethernet and the Internet is everwhere so many embedded devices now have ethernet connections. Network connections can be very long and it's possible to use cheap commodity hardware such as WiFi bridges. Several microcontroller manufacters are now providing sample TCP/IP stacks some of them with embedded web servers so that the hardware can be controlled from a PC via a web browser such as IE or Firefox. PC programming has a mostly OS independent API called sockets that is available on both Windows and Unix.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Firmware/Stack<br />
|[http://http://ww1.microchip.com/downloads/en/DeviceDoc/TCPIPStack%204.18.zip Microchip TCP/IP Stack v4.18 for PIC18, PIC24, dsPIC and PIC32 MCUs]<br />
|Sample TCP/IP firmware for many Microchip microcontrollers<br />
<!--------------------------------><br />
<br />
|}<br />
<br />
<br />
Advantages:<br />
* Fast<br />
* Long cable lengths and commodity equiptment<br />
* PC API is mostly OS independent<br />
* No device drivers required<br />
* Many OSs include free packet sniffers for easy analysis of network traffic<br />
<br />
Disadvantages:<br />
* More complex firmware then either serial ports or USB<br />
* High part count and complex hardware<br />
* Device detection is not plug and play. It can be complex to find the IP address of an embedded device.</div>Mzoranhttp://www.opencircuits.com/index.php?title=PC-Microcontroller_Communications&diff=15229PC-Microcontroller Communications2008-04-03T01:18:47Z<p>Mzoran: </p>
<hr />
<div>== Introduction ==<br />
<br />
Many times an embedded system or microcontroller needs to be connected to a PC. This topic discusses the various methods for doing this<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
Advantages<br />
* Relatively simple firmware and PC software<br />
* Ability to use terminal emulators to test hardware<br />
* Long cable lengths<br />
<br />
Disadvantages:<br />
* Slow<br />
* Requires bulky connectors and level translators<br />
* Many new computers especially laptops don't have serial ports<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers now have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontroller manufacters that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Plug and Play<br />
* No level translators and small connectors<br />
* Works with computers that don't have serial ports<br />
* Ability to implement standard devices such a keyboards, mice, memory card readers, and sound cards without writting a device driver.<br />
<br />
Disadvantages:<br />
* Complex Firmware and PC software<br />
* Requires OS specific device drivers and installers<br />
* PC application software is more OS specific<br />
* Short cable lengths<br />
* May require the use of an expensive hardware bus analyzer<br />
<br />
== Ethernet-TCP/IP Communications from a PC to Microcontrollers ==<br />
<br />
Ethernet and the Internet is everwhere so many embedded devices now have ethernet connections. Network connections can be very long and it's possible to use cheap commodity hardware such as WiFi bridges. Several microcontroller manufacters are now providing sample TCP/IP stacks some of them with embedded web servers so that the hardware can be controlled from a PC via a web browser such as IE or Firefox. PC programming has a mostly OS independent API called sockets that is available on both Windows and Unix.<br />
<br />
Advantages:<br />
* Fast<br />
* Long cable lengths and commodity equiptment<br />
* PC API is mostly OS independent<br />
* No device drivers required<br />
* Many OSs include free packet sniffers for easy analysis of network traffic<br />
<br />
Disadvantages:<br />
* More complex firmware then either serial ports or USB<br />
* High part count and complex hardware<br />
* Device detection is not plug and play. It can be complex to find the IP address of an embedded device.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Techniques&diff=15228Techniques2008-04-03T01:11:53Z<p>Mzoran: Move PC to microcontroller communications to a separate topic</p>
<hr />
<div>racliacelg<br />
== Printed circuit board design/fabrication ==<br />
=== Overview ===<br />
* [How to make really really good homemade PCBs http://www.electricstuff.co.uk/pcbs.html]<br />
=== Software Design ===<br />
see Software design tools below, this should be a link, but I do not know how to do it yet, someone want to fix it for me?<br />
=== Manual Design ===<br />
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.<br />
<br />
=== Homebrew fabrication ===<br />
* [[Toner Transfer]] -- This method involves laser printing your PCB design onto paper, then transferring toner onto copper-clad board.<br />
* [[Photoetching]] -- Exposure of PCB designs onto photosensitized copper-clad board.<br />
* [[Chemical Etchants]]<br />
<br />
=== Commercial PCB fabrication ===<br />
* [[Submitting PCB's for fabrication]] -- Common processes for submitting PCB's for fabrication.<br />
* [[PCB Manufacturers]]<br />
<br />
== Circuit construction (Prototyping - Other than custom PCB) ==<br />
<br />
* [[Solderless protoboard]] ([http://en.wikipedia.org/wiki/Breadboard Wikipedia:Breadboard]) ([http://www.best-microcontroller-projects.com/prototyping.html a simple example with a small microcontroller])<br />
* [[Point-to-point]] ([http://en.wikipedia.org/wiki/Point-to-point_construction Wikipedia:Point-to-point construction])<br />
* [[Wirewrap]] ([http://en.wikipedia.org/wiki/Wire_wrap Wikipedia:Wire Wrap])<br />
* [[Dead bug style]] -- and a similar method, [http://ciphersbyritter.com/RADELECT/BREADBD/BREADBD.HTM "A Modern Breadboarding Technology: Insulating Pads Soldered to a Ground Plane"]<br />
* [[Manhattan style]]<br />
<br />
[[http://www.techlib.com/electronics/construction.html "Construction Ideas"]] has nice photographs of the above circuit construction techniques.<br />
<br />
* [[Stripboard]] (Veroboard): ([http://en.wikipedia.org/wiki/Stripboard Wikipedia:stripboard].)<br />
<br />
== Soldering techniques ==<br />
<br />
* [[Basic soldering]] -- How to use a soldering iron.<br />
* Surface Mount<br />
** [[Skillet reflow]]<br />
** [[Toaster oven reflow]]<br />
** [[Hot air soldering]]<br />
* [[Rework]] -- Techniques for fixing mistakes, or for adding new features to a board that ''almost'' does what you want.<br />
** [http://workmanship.nasa.gov/lib/insp/2%20books/links/sections/302_jumper%20wires.html official NASA recommendations for adding discrete wiring ("jumper wires") to PCBs]<br />
<br />
(Have you seen this [http://www.hackaday.com/2007/06/04/cnc-solder-paste-pick-n-place/ CNC solder paste/pick n place] ?)<br />
<br />
== [[Hardware Tools]] ==<br />
A directory to tools that you may find useful.<br />
<br />
== Software design tools ==<br />
<br />
Some people still build circuits without ever using any software tools.<br />
For complicated circuits, software design tools can save a lot of time.<br />
<br />
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.<br />
(Is there another place for listing stand-alone tools such as a [[switching regulator|switching power supply]] "wizard" and a RF analysis tool?)<br />
<br />
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.<br />
<br />
In no particular order:<br />
<!-- Please use a valid license ie, BSD, GPL, Crippleware, Nagware, Shareware, Payware etc.. And specify platform. There's usually a lot of free win32 crippleware without sources makeing you victim of the design file hostage scenario. Also some packages are sub-packages to others, thus maybe no needing an entry of their own. --><br />
{| class="wikitable"<br />
|- <br />
! Name !! Platform !! License !! AutoRouter !! Comments<br />
|-<br />
| [http://www.liquidpcb.org/ Liquid PCB] || || GPL || || [http://liquidpcb.wiki.sourceforge.net/ 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.<br />
|-<br />
|[http://geda.seul.org/ [[gEDA]]] || Linux, *BSD || Free, OSS || || [http://geda.seul.org/wiki/ gEDA wiki] includes schematic and [http://sourceforge.net/projects/pcb/ PCB] for makeing [[gerber|gerbers]] etc...<br />
|-<br />
|[http://mccad.com/ McCAD EDS Lite] || || Free demo max 200 pin || || Free demo version available for download, 200 pin limit<br />
|-<br />
|[http://applefritter.com/replica McCAD EDS SE] || || "free"? || || Free 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> <br />
|-<br />
|[http://www.freepcb.com/ FreePCB] || Win32 || Free, OSS? || || PCB Design Software<br />
|-<br />
|[http://tinycad.sourceforge.net/ TinyCAD] || Win32 || ? || || Schematic Drawing Software <br />
|-<br />
|[http://kicad.sourceforge.net/ KiCad] || BSD, Linux, MacOSX, Win32 || GPL || || http://www.lis.inpg.fr/realise_au_lis/kicad/ EDA suite<br />
|-<br />
|[http://expresspcb.com/ 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.<br />
|-<br />
|[http://altium.com/ Protel DXP] || || || || [http://techref.massmind.org/techref/app/protel.htm independent Protel users FAQ] <br />
|-<br />
|[http://cadsoftusa.com/ 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 ) <br>http://cadsoft.de/ <br>[http://www.sparkfun.com/tutorial/PCB/eagle-output-tutorial.htm Eagle tutorial from Sparkfun] <br>[http://www.makezine.com/blog/archive/2006/03/how_to_make_a_custom_library_p.html Eagle tutorial (makezine)] <br />
|-<br />
|[http://diptrace.com/ DipTrace] || || Crippleware || || 250-pin Freeware or Purchase more advanced versions<br />
|-<br />
|[http://winqcad.com/ WinQcad] || || Crippleware || || Demo with max 499 pins available for download <br />
|-<br />
|[http://www.hutson.co.nz/ Rimu Schematic and Rimu PCB] || Win32 || Payware || || Schematic & PCB design for MS-Windows<br />
|-<br />
|[http://mentala.com/ SuperCAD and SuperPCB] || Win32 || || || Mental Automation schematic & PCB for MS-Windows<br />
|-<br />
|[http://www.autotraxeda.com/ 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.<br />
|-<br />
|[http://www.holophase.com/dleval.htm holophase.com/dleval] || Win32 || Crippleware || || Circad's DOS version is free for non-commercial use.<br />
|-<br />
|[http://www.geda.seul.org/ geda.seul.org] || BSD, Linux, MacOSX, Win32 || GPL || Yes || xNIX Electronic Design Automation project has Schematic capture with PCB CAD.<br />
|-<br />
|[http://www.vutrax.co.uk/pricing.htm vutrax.co.uk/pricing] || Win32 || || || Vutrax for MS-Windows. Free for under 256 component pins.<br />
|-<br />
|[http://www.interactiv.com interactiv.com] || || || || Electronic Workbench, 400 USD for 500 pins. Includes schematic capture and simulation, virtual instruments and PCB layout. Said to be stable.<br />
|-<br />
|[http://pcb.sourceforge.net Harry Eaton's PCB] || || GPL? || Yes || 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.<br />
|-<br />
|[http://www.labcenter.co.uk/ 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!).<br />
|-<br />
|[http://www.ivex.com/ ivex.com] || || Payware || || Winboard PCB Layout, now [http://www.calcentron.com/Pages/NTEHomePage/ivex_cad_software.htm calcentron.com].<br />
|-<br />
|[http://www.illuminated.com.au/ illuminated.com.au] || Linux, Win32, DOS<!-- Claimed --> || || || Draftcad, Schematic Capture and PCB Design<br />
|-<br />
|[http://www.winqcad.com/ winqcad.com] || Win32, Linux+Wine || || || MicroCad<br />
|}<br />
<br />
(Some of this information in this table came from the [http://techref.massmind.org/techref/pcbcads.htm list of software design tools at the Massmind]).<br />
<br />
Is there any way to objectively compare these tools?<br />
How well did they do at the<br />
[http://www.pcbwest.com/topgun/ PCB Top Gun contest] ?<br />
<br />
=== Checklist for "The flow of PCB fabrication/PCB" using Software Design Tool===<br />
*Format and shape of PCB are conformed./<br />
*Via size and location are conformed./<br />
*Fixed location item are placed on suitable place./<br />
*A one-first PCB silk layout is made./1:1çPCB<br />
*All item get enough clearance between them./é°æ¯å¦éæ¼ç·è²¼<br />
*All vias get enough size to install them components./æ±<br />
*Make sure no worng footprint is created./<br />
*PCB is drew./PCB<br />
*Netlist is ran and got a no error result./å·è¡netlistæ令ç´ç¡é¯èª¤<br />
*DRC is ran and got a no error result./DRC<br />
*Location of item is reasonable./<br />
*All items are put on to a hard copy of PCB./PCB<br />
*Overall is checked./<br />
<br />
And then the Gerbers are sent to a [[PCB Manufacturers]].<br />
<br />
== [[PC-Microcontroller Communications]] ==<br />
<br />
Discussion of the various methods to connect a microcontroller or embedded system to a PC.<br />
<br />
== Embedded System Programming and Testing ==<br />
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.<br />
<br />
* Many systems use [[JTAG]] for programming and testing. (Such as [http://en.wikibooks.org/wiki/Atmel_AVR Atmel AVR embedded systems]]).<br />
* Other systems use some other kind of in-circuit programming.<br />
* Some people use [http://en.wikibooks.org/wiki/Embedded_Systems/Bootloaders_and_Bootsectors bootloaders] to make re-programming a little quicker.<br />
<br />
-- not sure that this next one is not misplaced ? --<br />
<br />
* Many people use an [[oscilloscope]] ([[o'scope]]). Keith has made a list of [http://www.techtravels.org/amiga/amigablog/?p=167 "PC USB logic analyzers that cost under $1000."], some of which can be used as an o'scope. Should we make a table dedicated to low-cost o'scopes here?<br />
<br />
Humans writing a program almost always do it in a language. Here is a section that discusses some of these languages: [[Programming Languages]]<br />
<br />
== Enclosure ==<br />
<br />
* The Earth Signal should short to whole metal Case<br />
* Digital/Analog GND should separate to this Earth Signal, and should connect a Y-cap. to filter the noise between them.<br />
* Attention: do not place near between Earth Signal and Digital/Analog GND, otherwise some spark come out, and affect your whole system.<br />
<br />
== Further Reading ==<br />
<br />
* [http://airborn.com.au/method/ "Electronics Design" from Airborn] gives an overview of the complete process: specification, (schematic) circuit design, layout, prototypes, firmware, pilot run, production.<br />
* 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/<br />
* [http://www.national.com/rap/Story/0,1562,18,00.html "What's All This Ground Noise Stuff, Anyhow?"] by Robert A. Pease<br />
* [http://www.elecdesign.com/Articles/ArticleID/6150/6150.html "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.<br />
* [http://groups.google.to/group/sci.electronics.design/browse_thread/thread/889153f0e77b1718/fcaac532bb6d4b12?fwc=1 sci.electronics.design: EDN: Measuring Nanoamperes] discusses some ways to measure extremely small currents.<br />
* [http://groups.yahoo.com/group/Homebrew_PCBs yahoo.com/group/Homebrew_PCBs]<br />
* [http://www.electricstuff.co.uk/pcbs.html electricstuff.co.uk/pcbs]<br />
* [http://www.fullnet.com/~tomg/gooteepc.htm fullnet.com/~tomg/gooteepc]<br />
* The notion that through-hole soldering is easier than soldering surface-mount devices is, and always has been, [http://archives.seul.org/geda/user/Aug-2004/msg00175.html a myth.]<br />
<br />
== Environmental Issues ==<br />
The metals, chemicals, and polymers used in producing electronic circuits, as well as the energy consumed in producing them and the extraction (mining) processes can have significant environmental impact. The purpose of this section is to collect information that can be used to assess and/or<br />
mitigate the environmental impact. It may also suggest some projects which can be environmentally beneficial. [Note: techniques was the closest<br />
major section to incorporate this into but it might make more sens to promote this section to a fifth major section]<br />
<br />
=== Energy Use, Global Warming Gasses ===<br />
<br />
==== Embodied Energy/CO2 ====<br />
With the climate change crisis and peak oil, energy consumption becomes an important issue. Embodied CO2 includes the effects of emboddied<br />
energy plus other CO2 sources. An good source for information on how much energy is consumed and CO2 produced in making a variety of materials is the ICE [http://www.bath.ac.uk/mech-eng/sert/embodied/] database. You have to request a free copy be sent via email. The production of<br />
metals and plastics releases many times their weight in greenhouse gases. <br />
<br />
==== Energy consumption by Electronic Devices ====<br />
Standby modes, switching supplies, etc.<br />
<br />
==== Transportation ====<br />
Raw materials, electronic components, bare PCBs, finished products, and end-of-life products being recycled get transported very long distances.<br />
<br />
==== Electronics as energy saving devices ====<br />
Some electronics are used to save energy. Fluorescent ballasts, Photovoltaics, power inverters, charge controllers, some motor controls, solar trackers, LED lighting, setback thermostats, motion sensor controls and timers, blind controllers, etc. In some cases, computers are used for<br />
telecommuting.<br />
<br />
=== RoHS/lead-free ===<br />
The transition to RoHS/lead-free processes has cost the industry a large amount of money and creates problems for hobbyists. When you consider the environmental impact of lead free solders (for example, silver mining is highly polluting), and the greater amount of non-renewable resources used, and the shorter lifespan of the electronic circuits, the whole lead free movement may be yet another political boondoggle.<br />
[http://www.sigcon.com/Pubs/news/10_01.htm] <br />
<br />
John Barnes, electronics text book author, and author of the [http://www.rohsusa.com/ Pushback] site:<br />
<br />
<blockquote><br />
It is widely accepted in the Engineering community that the recent ban of lead in solders for use in electronics in Europe is not only erroneous, but will actually lead to a worsening situation on the environment with the replacements being in general use from July â06 having a GREATER environmental impact. [http://www.rohsusa.com/]<br />
</blockquote><br />
<blockquote><br />
To date I have collected over 230 books and well over 11,100 other documents on these and closely-related subjects, going clear back to 1851. My collection now fills one-and-a-half bookcases and three 5-drawer file cabinets. [http://www.dbicorporation.com/rohsbib.htm#pages]<br />
</blockquote><br />
<blockquote><br />
Based on my research, and helping clients develop RoHS-compliant electronic products, I believe that: If you buy a lead-free RoHS-compliant electronic device-- and if it works when you first turn it on-- it should be safe and fully-functional for at least one year. If you are lucky, it may last a couple of years longer... versus the 20+ years use that we can easily get out of many lead-based electronic products. [http://www.dbicorporation.com/rohsbib.htm#pages] <br />
</blockquote><br />
[http://www.rohsusa.com/]<br />
<br />
A huge problem with the RoHS laws is the sheer nitpicky nature of the regulations and the beaurocracy that enforces them. It doesn't matter if you reduce the lead content a thousand fold relative to a lead solder board, which would put it well within the 0.1% lead limit. The product is reduced to homogeneous parts each one of which must individually meet the regulations. One stray microscopic lead solder ball might be ok if it is absorbed into a joint where it is becomes part of a larger homogeneous component but not if it contaminates an inspection sticker or gets trapped in the flux between traces. Maybe widespread competent recycling of electronics is a better approach. Not shipping it off to other countries or using prison labor to disassemble it under unsafe and environmentally harmful ways; there are some horror stories of how electronics is recycled now.<br />
<br />
==== Mixing lead containing and lead free components ====<br />
Many lead-free components are compatible with lead solder processes. leadframe based components, such as QFPs, SOICs, and SOPs with gull wing leads, are generally compatible since the finish on the part leads contributes a small amount of material to the finished joint. However, components such as BGAs which come with lead-free solder balls are not compatible with lead processes. [http://www.st.com/stonline/products/literature/an/10791.pdf] Also, leadless parts are exposed to higher stresses and are more susceptible to any affect from mixed metallurgy. Check with each manufacturer as lead finishes may vary.<br />
<br />
[edit]<br />
<br />
=== Materials, Chemicals, and Processes used ===<br />
==== Etchants ====<br />
Ferric Chloride poured down the drain will eat pipes and copper is toxic. Although your sewage plant may not be happy about ferric chloride in the sewage (and it may be illegal) , they can probably at least deal with it better than many other chemicals since Ferric Chloride is used at sewage treatment plants to remove copper. <br />
Ferric Chloride etchant can be neutralized into iron oxide (rust), copper, and salt by using iron (nails, etc) to use up all the etchant and then add washing soda and evaporating and can then be landfilled. Considering the value and toxicity of copper, it would be nice to see this improved on so that the copper can be reclaimed.<br />
<br />
Another source [http://www.mgchemicals.com/techsupport/ferric_faq.html] <br />
suggests adding washing soda before pouring down the drain. Another source [http://www.anotherurl.com/library/pcb_production.htm] suggests baking soda.<br />
<br />
[http://www.jtbaker.com/msds/englishhtml/f1080.htm MSDS] <br />
<br />
Etching can be improved, and the lifetime of the etchant before it needs disposal, using citric acid [http://www.ganoksin.com/borisat/nenam/safe-etching.htm]<br />
==== PCB Substrates ====<br />
==== Etch Resists ====<br />
==== Solder ====<br />
See RoHS/lead free section above. Solder paste should be refrigerated (embodied energy) and has a limited lifetime. One problem with expired solder is absorbed water which can lead to spatter and voids in solder joints. What to do with expired solder paste? It should still be ok for manually tinning leads and large copper areas. It may be possible to add it to a wave solder bath using the same alloy.<br />
<br />
==== Flux ====<br />
==== Epoxies ====<br />
==== Solder Mask ====<br />
==== Silk screen ====<br />
==== Tape & Reel, JEDEC matrix trays, other component packaging ====<br />
JEDEC matrix trays can be reused or recycled. Resistors tend to come in paper (cardboard) tape, which can be recycled, plus a cover tape. <br />
Capacitors, transistors, and IC's often come in formed plastic tape with a plastic cover tape..<br />
<br />
==== poly bags ====<br />
==== Cleaning products ====<br />
==== Plating ====<br />
===== Tin Plating =====<br />
===== Gold Plating =====<br />
===== Nickel Plating =====<br />
===== Silver Plating =====<br />
<br />
===== Hot Air Solder Levelling =====<br />
Not technically a plating process, but many of the alternatives are. Contains Lead (see RoHS/lead free section).<br />
<br />
===== Solder Mask over Bare Copper (SMOBC) =====<br />
<br />
==== Copper ====<br />
Sulfur dioxide produced in making copper is equivalent to 1/4 the sulfur dioxide emisions of all industrial nations combined. 1kg of copper requires<br />
excavating 127kg of ore and 136kg of other rock and the equivalent of 275 liters of petoleum was consumed. [http://www.iied.org/mmsd/mmsd_pdfs/041_rabago.pdf] Copper is somewhat toxic. And it is a scarce and valuable resource. Copper prices are high enough that people steel copper wiring and pipes out of unoccupied buildings (destroying the buildings in the process).<br />
Copper can be recovered from PCB etchant by electrolysis. [http://www.p2pays.org/ref/10/09283.htm] It also saves on etchant replacement and disposal. They spent 55,000 English Pounds to set it up but it paid for itself in two years. This may be possible to do on a smaller scale. Copper used on printed circuit boards is usually produced by electrodepositing copper onto a rotating drum (Printed Circuits Handbook); this particular process, though often done by the panel manufacturer and not the PCB fab, appears to be compatible with reclaimed copper (no need to remelt it). It appears that electrodes used in the reclamation process can be transfered to the plating bath for panel plating, pattern plating, or making electrodeposited foil sheets, provided the baths are kept well filtered. In a double sided circuit board, most of the copper on the board is electroplated onto the board (starting with a thin foil), thus plating the holes.<br />
<br />
==== Aluminum ====<br />
==== Tantalum ====<br />
"Other concerns we have center on a material necessary for wireless technology, called Tantalum. Tantalum is a rare earth metal that is only found in a few places. Because of growing demand caused by the popularization of cell phone, laptop and wifi use, tantalum mining has become a lucrative business in areas that sometimes have delicate ecosystems and unbalanced economies. This led to wars, exploitation and environmental havoc in the Congo³. That situation has been mostly addressed through policing and international embargoes4, but that is just one example of how consumer electronics can be linked directly to environmental and social problems.5" [http://wiki.freegeek.org/index.php/Wifi_Use_Statement]<br />
<br />
=== PVC ===<br />
PVC is used as insulation for wires. Flexible Vinyl contains plasticizers which can be toxic and are banned in some countries. Hard Vinyl is safer. There are other plastics, such as LDPE, which do not require plasticizers for flexibility and materials such as silicone rubber which make superior<br />
insulation.<br />
<br />
==== Teflon ====<br />
Used as a PCB substrate, dialectric, wire insulation, and as a non-stick coating on cookware. Teflon wire releases nerve gas when burned. Teflon cookware (which may be used in the hot plate or toaster oven methods of reflow soldering) is alleged to release nerve gas fumes that will kill pet birds even at normal cooking temperatures.<br />
<br />
=== Silicone Rubber and other Silicones ===<br />
Silicon is an abundant natural resource. Silicone Rubber has a 50 year life span, which makes it good for durable goods. It is considered by some to be more environmentally benign than many other polymer resins due to its durability, low toxicity, manufacturing process, being chemically inert, and abundant raw materials. Another Silicone, Silicone gel, was vindicated as a cause of health problems associated with breast implants. Silicone rubber is one of the few materials considered safe enough for medical implants. It is an excellent high voltage insulator and withstands high temperatures. When used in contact with electrical circuits, peroxide curing vs. acetic acid (vinegar) curing silicone should be used due to the corrosive nature of acetic acid. Silicone caulk may be thinned to make it suitable for painting or dip coating, when the proper forms of the resin are not available, using Xylene (a hazardous material) or pourable silicones or other silicones without thixotropic additives may be used, though these are expensive in small quantities. Silicone rubber may be used as an adhesive (it must be cut to remove it). It may be used as a potting material. <br />
Silicone oil is used as a lubricant; purists prefer pure silicone lubricants (such as CRC 100% silicone) over products such as WD-40 which mix it with petroleum based oils; do not use it on a surface you intent to paint. Paint does not adhere to silicone rubber, either. "Paintable" silicone rubber caulk appears to lack the thixotropic additive and is thin enough to spread with a paint brush, though probably not thin enough for dipping or pouring.<br />
Liquid silicone may be used as a non-toxic solvent. Availible in electrically conductive varieties. Silicone is used to make flexible molds and hobby moldmaking suppliers are a source of small quantities of different types of silicone rubbers. Silicone rubber will withstand reflow soldering temperatures; it could be used to adhere components to a board before soldering, however it will not let go when you attempt to desolder the parts.<br />
[http://en.wikipedia.org/wiki/Silicone]<br />
<br />
=== Wood ===<br />
Can be used for breadboarding leaded components, enclosures, etc. Low embodied energy/CO2.<br />
<br />
==== Stencils ====<br />
==== Panel Plating vs Pattern Plating ====<br />
[http://www.thinktink.com/stack/volumes/volvi/copplate.htm]<br />
==== Chemical Etching vs Mechanical Etching ====<br />
=== Fumes ===<br />
==== Soldering (flux) ====<br />
==== Laser Cutting (stencils, engraving, via hole drilling) ====<br />
==== Chemical Etching ====<br />
<br />
<br />
=== Enclosures ===<br />
=== Recycling ===<br />
=== Electronic Equipment ===<br />
=== ReHDPE ===<br />
Recycled polyethylene lumber (ReHDPE) (Not the kind with wood fillers), seems to machine well, is cheaper than delrin and other plastics.<br />
Wood fillers in the sort found at Lowes Hardware stores may absorb water. At least I think the sample (from teksupply) I saw was ReHDPE; they don't say but similar products seem to be ReHDPE. There may be voids. 2x4 material (many sizes available) is about $3 per foot. <br />
[http://www.teksupply.com/farm/supplies/prod;10053;ts1_building_materials;pg104577]<br />
[http://plasticlumberyard.com/plasticlumber.htm]<br />
[http://www.epsplasticlumber.com/lumberpricing.shtml]<br />
May be useful for electronics enclosures and other plastic parts. HDPE has a lower embodied energy than most plastics.<br />
<br />
=== Obsolescence ===<br />
The enviromental impacts of electronic devices are greatly exacerbated by obsolescence (or worse planned obsolescence), limited lifetimes, and<br />
poor repairability (including lack of technical documentation), and by often being cheaper to replace than repair.<br />
<br />
=== Single Function vs. Multifunction devices ===<br />
Devices which perform many functions, and thus replace many devices, may reduce environmental impact. Do you need a computer, TV, stereo, CD player, DVD player, game console, DVR, VHS/DVD recorder or can you use one device (the computer) for all those functions? Do you need separate PDA, GPS receiver, digital camera, camcorder, cell phone, DECT cordless phone, voice recorder, MP3 player, and ebook reader or can those be combined into a single portable device that functions better than the individual devices?<br />
<br />
=== Components ===<br />
==== Semiconductors ====<br />
The embodied energy in a Monocrystalline solar panel, 230Kg CO2/square meter might be a some indication, though that is for the module and not just the cell and it is based on a square meter rather than by weight as most things are, but it seems rather high (they do, however, repay that energy in about 18 months to 7 years). 60% of the embodied energy is in the silicon wafers. Pound for pound, semiconductors are probably an environmental nightmare, though very little material is actually used in the final product. Unfortunately, a 2g chip (32MB DRAM) requires 1.7kg of materials (72g of chemcials, 1600 grams of fossil fuels, and 700 grams of elemental gas) and uses 32000g (32 liters) of water. A lot of this energy is too heat the materials to 1000 degrees Celsius (how about a large concentrating solar collector to help out here?).<br />
<br />
==== Resistors ====<br />
The process of making resistors generally involves baking (embodied energy/CO2); probably twice, once to make the ceramic subtrate and once for the resistive coating; however, this is probably not a major concern as ceramics have a fairly low embodied CO2.<br />
<br />
==== Computers ====<br />
Computers have a very large environmental impact and may be indicative of the environmental impact of electronic devices in general.<br />
For a computer, the emboddied energy is about twice what it will consume over a three year life span. <br />
<br />
For a desktop computer (not counting monitor, etc): 6050g steel, 670g copper, 440g Aluminum, 650g plastics, 1040g Epoxy, 47g Tin, 27g Lead, 18g Nickel, 1.4g Silver, 0.35g gold, and 96 grams misc for a total of 9040g. A 17" CRT monitor: 6817g Glass, 2830g Steel, 700g Copper, 480g Ferrite, 240g Aluminum, 3530g Plastics, 140g Epoxy, 20g Tin, 593g Lead, 1.24g Silver, 0.31g Gold, and 98g of other materials. "Other" is probably largely the fiberglass in the PCBs and the silicon wafers.<br />
[http://web.mit.edu/ebm/www/Publications/Gutowski%20Mech%20Eng%20Handbook%20Ch%20Dec%206%2020041.pdf]<br />
<br />
==== Capacitors ====<br />
<br />
[[Category:Techniques]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=PC-Microcontroller_Communications&diff=15227PC-Microcontroller Communications2008-04-03T01:09:02Z<p>Mzoran: New topic-PC-Microcontroller Communications</p>
<hr />
<div>== Introduction ==<br />
<br />
Many times a embedded system or microcontroller needs to be connected to a PC. This topic discusses the various methods for doing this<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
Advantages<br />
* Relatively simple firmware and PC software<br />
* Ability to use terminal emulators to test hardware<br />
* Long cable lengths<br />
<br />
Disadvantages:<br />
* Slow<br />
* Requires bulky connectors and level translators<br />
* Many new computers especially laptops don't have serial ports<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontrollers that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Plug and Play<br />
* No level translators and small connectors<br />
* Works with computers that don't have serial ports<br />
* Ability to implement standard devices such a keyboards, mice, memory card readers, and sound cards without writting a device driver.<br />
<br />
Disadvantages:<br />
* Complex Firmware and PC software<br />
* Requires OS specific device drivers and installers<br />
* PC application software is more OS specific<br />
* Short cable lengths<br />
* May require the use of an expensive hardware bus analyzer<br />
<br />
== Ethernet/TCPIP Communications from a PC to Microcontrollers ==<br />
<br />
Ethernet and the Internet is everwhere so many embedded devices now have ethernet connections. Network connections can be very long and it's possible to use cheap commodity hardware such as WiFi bridges. Several microcontroller manufacters are now providing sample TCP/IP stacks some of them with embedded web servers so that the hardware can be controlled from a PC via a web browser such as IE or Firefox. PC programming has a mostly OS independent API called sockets that is available on both Windows and Unix.<br />
<br />
Advantages:<br />
* Fast<br />
* Long cable lengths and commodity equiptment<br />
* PC API is mostly OS independent<br />
* No device drivers required<br />
* Many OSs include free packet sniffers for easy analysis of network traffic<br />
<br />
Disadvantages:<br />
* More complex firmware then either serial ports or USB<br />
* High part count and complex hardware<br />
* Device detection is not plug and play. It can be complex to find the IP address of an embedded device.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Techniques&diff=15226Techniques2008-04-03T01:01:01Z<p>Mzoran: Ethernet/TCPIP communication to microcontroller</p>
<hr />
<div>racliacelg<br />
== Printed circuit board design/fabrication ==<br />
=== Overview ===<br />
* [How to make really really good homemade PCBs http://www.electricstuff.co.uk/pcbs.html]<br />
=== Software Design ===<br />
see Software design tools below, this should be a link, but I do not know how to do it yet, someone want to fix it for me?<br />
=== Manual Design ===<br />
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.<br />
<br />
=== Homebrew fabrication ===<br />
* [[Toner Transfer]] -- This method involves laser printing your PCB design onto paper, then transferring toner onto copper-clad board.<br />
* [[Photoetching]] -- Exposure of PCB designs onto photosensitized copper-clad board.<br />
* [[Chemical Etchants]]<br />
<br />
=== Commercial PCB fabrication ===<br />
* [[Submitting PCB's for fabrication]] -- Common processes for submitting PCB's for fabrication.<br />
* [[PCB Manufacturers]]<br />
<br />
== Circuit construction (Prototyping - Other than custom PCB) ==<br />
<br />
* [[Solderless protoboard]] ([http://en.wikipedia.org/wiki/Breadboard Wikipedia:Breadboard]) ([http://www.best-microcontroller-projects.com/prototyping.html a simple example with a small microcontroller])<br />
* [[Point-to-point]] ([http://en.wikipedia.org/wiki/Point-to-point_construction Wikipedia:Point-to-point construction])<br />
* [[Wirewrap]] ([http://en.wikipedia.org/wiki/Wire_wrap Wikipedia:Wire Wrap])<br />
* [[Dead bug style]] -- and a similar method, [http://ciphersbyritter.com/RADELECT/BREADBD/BREADBD.HTM "A Modern Breadboarding Technology: Insulating Pads Soldered to a Ground Plane"]<br />
* [[Manhattan style]]<br />
<br />
[[http://www.techlib.com/electronics/construction.html "Construction Ideas"]] has nice photographs of the above circuit construction techniques.<br />
<br />
* [[Stripboard]] (Veroboard): ([http://en.wikipedia.org/wiki/Stripboard Wikipedia:stripboard].)<br />
<br />
== Soldering techniques ==<br />
<br />
* [[Basic soldering]] -- How to use a soldering iron.<br />
* Surface Mount<br />
** [[Skillet reflow]]<br />
** [[Toaster oven reflow]]<br />
** [[Hot air soldering]]<br />
* [[Rework]] -- Techniques for fixing mistakes, or for adding new features to a board that ''almost'' does what you want.<br />
** [http://workmanship.nasa.gov/lib/insp/2%20books/links/sections/302_jumper%20wires.html official NASA recommendations for adding discrete wiring ("jumper wires") to PCBs]<br />
<br />
(Have you seen this [http://www.hackaday.com/2007/06/04/cnc-solder-paste-pick-n-place/ CNC solder paste/pick n place] ?)<br />
<br />
== [[Hardware Tools]] ==<br />
A directory to tools that you may find useful.<br />
<br />
== Software design tools ==<br />
<br />
Some people still build circuits without ever using any software tools.<br />
For complicated circuits, software design tools can save a lot of time.<br />
<br />
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.<br />
(Is there another place for listing stand-alone tools such as a [[switching regulator|switching power supply]] "wizard" and a RF analysis tool?)<br />
<br />
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.<br />
<br />
In no particular order:<br />
<!-- Please use a valid license ie, BSD, GPL, Crippleware, Nagware, Shareware, Payware etc.. And specify platform. There's usually a lot of free win32 crippleware without sources makeing you victim of the design file hostage scenario. Also some packages are sub-packages to others, thus maybe no needing an entry of their own. --><br />
{| class="wikitable"<br />
|- <br />
! Name !! Platform !! License !! AutoRouter !! Comments<br />
|-<br />
| [http://www.liquidpcb.org/ Liquid PCB] || || GPL || || [http://liquidpcb.wiki.sourceforge.net/ 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.<br />
|-<br />
|[http://geda.seul.org/ [[gEDA]]] || Linux, *BSD || Free, OSS || || [http://geda.seul.org/wiki/ gEDA wiki] includes schematic and [http://sourceforge.net/projects/pcb/ PCB] for makeing [[gerber|gerbers]] etc...<br />
|-<br />
|[http://mccad.com/ McCAD EDS Lite] || || Free demo max 200 pin || || Free demo version available for download, 200 pin limit<br />
|-<br />
|[http://applefritter.com/replica McCAD EDS SE] || || "free"? || || Free 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> <br />
|-<br />
|[http://www.freepcb.com/ FreePCB] || Win32 || Free, OSS? || || PCB Design Software<br />
|-<br />
|[http://tinycad.sourceforge.net/ TinyCAD] || Win32 || ? || || Schematic Drawing Software <br />
|-<br />
|[http://kicad.sourceforge.net/ KiCad] || BSD, Linux, MacOSX, Win32 || GPL || || http://www.lis.inpg.fr/realise_au_lis/kicad/ EDA suite<br />
|-<br />
|[http://expresspcb.com/ 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.<br />
|-<br />
|[http://altium.com/ Protel DXP] || || || || [http://techref.massmind.org/techref/app/protel.htm independent Protel users FAQ] <br />
|-<br />
|[http://cadsoftusa.com/ 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 ) <br>http://cadsoft.de/ <br>[http://www.sparkfun.com/tutorial/PCB/eagle-output-tutorial.htm Eagle tutorial from Sparkfun] <br>[http://www.makezine.com/blog/archive/2006/03/how_to_make_a_custom_library_p.html Eagle tutorial (makezine)] <br />
|-<br />
|[http://diptrace.com/ DipTrace] || || Crippleware || || 250-pin Freeware or Purchase more advanced versions<br />
|-<br />
|[http://winqcad.com/ WinQcad] || || Crippleware || || Demo with max 499 pins available for download <br />
|-<br />
|[http://www.hutson.co.nz/ Rimu Schematic and Rimu PCB] || Win32 || Payware || || Schematic & PCB design for MS-Windows<br />
|-<br />
|[http://mentala.com/ SuperCAD and SuperPCB] || Win32 || || || Mental Automation schematic & PCB for MS-Windows<br />
|-<br />
|[http://www.autotraxeda.com/ 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.<br />
|-<br />
|[http://www.holophase.com/dleval.htm holophase.com/dleval] || Win32 || Crippleware || || Circad's DOS version is free for non-commercial use.<br />
|-<br />
|[http://www.geda.seul.org/ geda.seul.org] || BSD, Linux, MacOSX, Win32 || GPL || Yes || xNIX Electronic Design Automation project has Schematic capture with PCB CAD.<br />
|-<br />
|[http://www.vutrax.co.uk/pricing.htm vutrax.co.uk/pricing] || Win32 || || || Vutrax for MS-Windows. Free for under 256 component pins.<br />
|-<br />
|[http://www.interactiv.com interactiv.com] || || || || Electronic Workbench, 400 USD for 500 pins. Includes schematic capture and simulation, virtual instruments and PCB layout. Said to be stable.<br />
|-<br />
|[http://pcb.sourceforge.net Harry Eaton's PCB] || || GPL? || Yes || 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.<br />
|-<br />
|[http://www.labcenter.co.uk/ 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!).<br />
|-<br />
|[http://www.ivex.com/ ivex.com] || || Payware || || Winboard PCB Layout, now [http://www.calcentron.com/Pages/NTEHomePage/ivex_cad_software.htm calcentron.com].<br />
|-<br />
|[http://www.illuminated.com.au/ illuminated.com.au] || Linux, Win32, DOS<!-- Claimed --> || || || Draftcad, Schematic Capture and PCB Design<br />
|-<br />
|[http://www.winqcad.com/ winqcad.com] || Win32, Linux+Wine || || || MicroCad<br />
|}<br />
<br />
(Some of this information in this table came from the [http://techref.massmind.org/techref/pcbcads.htm list of software design tools at the Massmind]).<br />
<br />
Is there any way to objectively compare these tools?<br />
How well did they do at the<br />
[http://www.pcbwest.com/topgun/ PCB Top Gun contest] ?<br />
<br />
=== Checklist for "The flow of PCB fabrication/PCB" using Software Design Tool===<br />
*Format and shape of PCB are conformed./<br />
*Via size and location are conformed./<br />
*Fixed location item are placed on suitable place./<br />
*A one-first PCB silk layout is made./1:1çPCB<br />
*All item get enough clearance between them./é°æ¯å¦éæ¼ç·è²¼<br />
*All vias get enough size to install them components./æ±<br />
*Make sure no worng footprint is created./<br />
*PCB is drew./PCB<br />
*Netlist is ran and got a no error result./å·è¡netlistæ令ç´ç¡é¯èª¤<br />
*DRC is ran and got a no error result./DRC<br />
*Location of item is reasonable./<br />
*All items are put on to a hard copy of PCB./PCB<br />
*Overall is checked./<br />
<br />
And then the Gerbers are sent to a [[PCB Manufacturers]].<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
Advantages<br />
* Relatively simple firmware and PC software<br />
* Ability to use terminal emulators to test hardware<br />
* Long cable lengths<br />
<br />
Disadvantages:<br />
* Slow<br />
* Requires bulky connectors and level translators<br />
* Many new computers especially laptops don't have serial ports<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontrollers that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Plug and Play<br />
* No level translators and small connectors<br />
* Works with computers that don't have serial ports<br />
* Ability to implement standard devices such a keyboards, mice, memory card readers, and sound cards without writting a device driver.<br />
<br />
Disadvantages:<br />
* Complex Firmware and PC software<br />
* Requires OS specific device drivers and installers<br />
* PC application software is more OS specific<br />
* Short cable lengths<br />
* May require the use of an expensive hardware bus analyzer<br />
<br />
== Ethernet/TCPIP Communications from a PC to Microcontrollers ==<br />
<br />
Ethernet and the Internet is everwhere so many embedded devices now have ethernet connections. Network connections can be very long and it's possible to use cheap commodity hardware such as WiFi bridges. Several microcontroller manufacters are now providing sample TCP/IP stacks some of them with embedded web servers so that the hardware can be controlled from a PC via a web browser such as IE or Firefox. PC programming has a mostly OS independent API called sockets that is available on both Windows and Unix.<br />
<br />
Advantages:<br />
* Fast<br />
* Long cable lengths and commodity equiptment<br />
* PC API is mostly OS independent<br />
* No device drivers required<br />
* Many OSs include free packet sniffers for easy analysis of network traffic<br />
<br />
Disadvantages:<br />
* More complex firmware then either serial ports or USB<br />
* High part count and complex hardware<br />
* Device detection is not plug and play. It can be complex to find the IP address of an embedded device.<br />
<br />
== Embedded System Programming and Testing ==<br />
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.<br />
<br />
* Many systems use [[JTAG]] for programming and testing. (Such as [http://en.wikibooks.org/wiki/Atmel_AVR Atmel AVR embedded systems]]).<br />
* Other systems use some other kind of in-circuit programming.<br />
* Some people use [http://en.wikibooks.org/wiki/Embedded_Systems/Bootloaders_and_Bootsectors bootloaders] to make re-programming a little quicker.<br />
<br />
-- not sure that this next one is not misplaced ? --<br />
<br />
* Many people use an [[oscilloscope]] ([[o'scope]]). Keith has made a list of [http://www.techtravels.org/amiga/amigablog/?p=167 "PC USB logic analyzers that cost under $1000."], some of which can be used as an o'scope. Should we make a table dedicated to low-cost o'scopes here?<br />
<br />
Humans writing a program almost always do it in a language. Here is a section that discusses some of these languages: [[Programming Languages]]<br />
<br />
== Enclosure ==<br />
<br />
* The Earth Signal should short to whole metal Case<br />
* Digital/Analog GND should separate to this Earth Signal, and should connect a Y-cap. to filter the noise between them.<br />
* Attention: do not place near between Earth Signal and Digital/Analog GND, otherwise some spark come out, and affect your whole system.<br />
<br />
== Further Reading ==<br />
<br />
* [http://airborn.com.au/method/ "Electronics Design" from Airborn] gives an overview of the complete process: specification, (schematic) circuit design, layout, prototypes, firmware, pilot run, production.<br />
* 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/<br />
* [http://www.national.com/rap/Story/0,1562,18,00.html "What's All This Ground Noise Stuff, Anyhow?"] by Robert A. Pease<br />
* [http://www.elecdesign.com/Articles/ArticleID/6150/6150.html "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.<br />
* [http://groups.google.to/group/sci.electronics.design/browse_thread/thread/889153f0e77b1718/fcaac532bb6d4b12?fwc=1 sci.electronics.design: EDN: Measuring Nanoamperes] discusses some ways to measure extremely small currents.<br />
* [http://groups.yahoo.com/group/Homebrew_PCBs yahoo.com/group/Homebrew_PCBs]<br />
* [http://www.electricstuff.co.uk/pcbs.html electricstuff.co.uk/pcbs]<br />
* [http://www.fullnet.com/~tomg/gooteepc.htm fullnet.com/~tomg/gooteepc]<br />
* The notion that through-hole soldering is easier than soldering surface-mount devices is, and always has been, [http://archives.seul.org/geda/user/Aug-2004/msg00175.html a myth.]<br />
<br />
== Environmental Issues ==<br />
The metals, chemicals, and polymers used in producing electronic circuits, as well as the energy consumed in producing them and the extraction (mining) processes can have significant environmental impact. The purpose of this section is to collect information that can be used to assess and/or<br />
mitigate the environmental impact. It may also suggest some projects which can be environmentally beneficial. [Note: techniques was the closest<br />
major section to incorporate this into but it might make more sens to promote this section to a fifth major section]<br />
<br />
=== Energy Use, Global Warming Gasses ===<br />
<br />
==== Embodied Energy/CO2 ====<br />
With the climate change crisis and peak oil, energy consumption becomes an important issue. Embodied CO2 includes the effects of emboddied<br />
energy plus other CO2 sources. An good source for information on how much energy is consumed and CO2 produced in making a variety of materials is the ICE [http://www.bath.ac.uk/mech-eng/sert/embodied/] database. You have to request a free copy be sent via email. The production of<br />
metals and plastics releases many times their weight in greenhouse gases. <br />
<br />
==== Energy consumption by Electronic Devices ====<br />
Standby modes, switching supplies, etc.<br />
<br />
==== Transportation ====<br />
Raw materials, electronic components, bare PCBs, finished products, and end-of-life products being recycled get transported very long distances.<br />
<br />
==== Electronics as energy saving devices ====<br />
Some electronics are used to save energy. Fluorescent ballasts, Photovoltaics, power inverters, charge controllers, some motor controls, solar trackers, LED lighting, setback thermostats, motion sensor controls and timers, blind controllers, etc. In some cases, computers are used for<br />
telecommuting.<br />
<br />
=== RoHS/lead-free ===<br />
The transition to RoHS/lead-free processes has cost the industry a large amount of money and creates problems for hobbyists. When you consider the environmental impact of lead free solders (for example, silver mining is highly polluting), and the greater amount of non-renewable resources used, and the shorter lifespan of the electronic circuits, the whole lead free movement may be yet another political boondoggle.<br />
[http://www.sigcon.com/Pubs/news/10_01.htm] <br />
<br />
John Barnes, electronics text book author, and author of the [http://www.rohsusa.com/ Pushback] site:<br />
<br />
<blockquote><br />
It is widely accepted in the Engineering community that the recent ban of lead in solders for use in electronics in Europe is not only erroneous, but will actually lead to a worsening situation on the environment with the replacements being in general use from July â06 having a GREATER environmental impact. [http://www.rohsusa.com/]<br />
</blockquote><br />
<blockquote><br />
To date I have collected over 230 books and well over 11,100 other documents on these and closely-related subjects, going clear back to 1851. My collection now fills one-and-a-half bookcases and three 5-drawer file cabinets. [http://www.dbicorporation.com/rohsbib.htm#pages]<br />
</blockquote><br />
<blockquote><br />
Based on my research, and helping clients develop RoHS-compliant electronic products, I believe that: If you buy a lead-free RoHS-compliant electronic device-- and if it works when you first turn it on-- it should be safe and fully-functional for at least one year. If you are lucky, it may last a couple of years longer... versus the 20+ years use that we can easily get out of many lead-based electronic products. [http://www.dbicorporation.com/rohsbib.htm#pages] <br />
</blockquote><br />
[http://www.rohsusa.com/]<br />
<br />
A huge problem with the RoHS laws is the sheer nitpicky nature of the regulations and the beaurocracy that enforces them. It doesn't matter if you reduce the lead content a thousand fold relative to a lead solder board, which would put it well within the 0.1% lead limit. The product is reduced to homogeneous parts each one of which must individually meet the regulations. One stray microscopic lead solder ball might be ok if it is absorbed into a joint where it is becomes part of a larger homogeneous component but not if it contaminates an inspection sticker or gets trapped in the flux between traces. Maybe widespread competent recycling of electronics is a better approach. Not shipping it off to other countries or using prison labor to disassemble it under unsafe and environmentally harmful ways; there are some horror stories of how electronics is recycled now.<br />
<br />
==== Mixing lead containing and lead free components ====<br />
Many lead-free components are compatible with lead solder processes. leadframe based components, such as QFPs, SOICs, and SOPs with gull wing leads, are generally compatible since the finish on the part leads contributes a small amount of material to the finished joint. However, components such as BGAs which come with lead-free solder balls are not compatible with lead processes. [http://www.st.com/stonline/products/literature/an/10791.pdf] Also, leadless parts are exposed to higher stresses and are more susceptible to any affect from mixed metallurgy. Check with each manufacturer as lead finishes may vary.<br />
<br />
[edit]<br />
<br />
=== Materials, Chemicals, and Processes used ===<br />
==== Etchants ====<br />
Ferric Chloride poured down the drain will eat pipes and copper is toxic. Although your sewage plant may not be happy about ferric chloride in the sewage (and it may be illegal) , they can probably at least deal with it better than many other chemicals since Ferric Chloride is used at sewage treatment plants to remove copper. <br />
Ferric Chloride etchant can be neutralized into iron oxide (rust), copper, and salt by using iron (nails, etc) to use up all the etchant and then add washing soda and evaporating and can then be landfilled. Considering the value and toxicity of copper, it would be nice to see this improved on so that the copper can be reclaimed.<br />
<br />
Another source [http://www.mgchemicals.com/techsupport/ferric_faq.html] <br />
suggests adding washing soda before pouring down the drain. Another source [http://www.anotherurl.com/library/pcb_production.htm] suggests baking soda.<br />
<br />
[http://www.jtbaker.com/msds/englishhtml/f1080.htm MSDS] <br />
<br />
Etching can be improved, and the lifetime of the etchant before it needs disposal, using citric acid [http://www.ganoksin.com/borisat/nenam/safe-etching.htm]<br />
==== PCB Substrates ====<br />
==== Etch Resists ====<br />
==== Solder ====<br />
See RoHS/lead free section above. Solder paste should be refrigerated (embodied energy) and has a limited lifetime. One problem with expired solder is absorbed water which can lead to spatter and voids in solder joints. What to do with expired solder paste? It should still be ok for manually tinning leads and large copper areas. It may be possible to add it to a wave solder bath using the same alloy.<br />
<br />
==== Flux ====<br />
==== Epoxies ====<br />
==== Solder Mask ====<br />
==== Silk screen ====<br />
==== Tape & Reel, JEDEC matrix trays, other component packaging ====<br />
JEDEC matrix trays can be reused or recycled. Resistors tend to come in paper (cardboard) tape, which can be recycled, plus a cover tape. <br />
Capacitors, transistors, and IC's often come in formed plastic tape with a plastic cover tape..<br />
<br />
==== poly bags ====<br />
==== Cleaning products ====<br />
==== Plating ====<br />
===== Tin Plating =====<br />
===== Gold Plating =====<br />
===== Nickel Plating =====<br />
===== Silver Plating =====<br />
<br />
===== Hot Air Solder Levelling =====<br />
Not technically a plating process, but many of the alternatives are. Contains Lead (see RoHS/lead free section).<br />
<br />
===== Solder Mask over Bare Copper (SMOBC) =====<br />
<br />
==== Copper ====<br />
Sulfur dioxide produced in making copper is equivalent to 1/4 the sulfur dioxide emisions of all industrial nations combined. 1kg of copper requires<br />
excavating 127kg of ore and 136kg of other rock and the equivalent of 275 liters of petoleum was consumed. [http://www.iied.org/mmsd/mmsd_pdfs/041_rabago.pdf] Copper is somewhat toxic. And it is a scarce and valuable resource. Copper prices are high enough that people steel copper wiring and pipes out of unoccupied buildings (destroying the buildings in the process).<br />
Copper can be recovered from PCB etchant by electrolysis. [http://www.p2pays.org/ref/10/09283.htm] It also saves on etchant replacement and disposal. They spent 55,000 English Pounds to set it up but it paid for itself in two years. This may be possible to do on a smaller scale. Copper used on printed circuit boards is usually produced by electrodepositing copper onto a rotating drum (Printed Circuits Handbook); this particular process, though often done by the panel manufacturer and not the PCB fab, appears to be compatible with reclaimed copper (no need to remelt it). It appears that electrodes used in the reclamation process can be transfered to the plating bath for panel plating, pattern plating, or making electrodeposited foil sheets, provided the baths are kept well filtered. In a double sided circuit board, most of the copper on the board is electroplated onto the board (starting with a thin foil), thus plating the holes.<br />
<br />
==== Aluminum ====<br />
==== Tantalum ====<br />
"Other concerns we have center on a material necessary for wireless technology, called Tantalum. Tantalum is a rare earth metal that is only found in a few places. Because of growing demand caused by the popularization of cell phone, laptop and wifi use, tantalum mining has become a lucrative business in areas that sometimes have delicate ecosystems and unbalanced economies. This led to wars, exploitation and environmental havoc in the Congo³. That situation has been mostly addressed through policing and international embargoes4, but that is just one example of how consumer electronics can be linked directly to environmental and social problems.5" [http://wiki.freegeek.org/index.php/Wifi_Use_Statement]<br />
<br />
=== PVC ===<br />
PVC is used as insulation for wires. Flexible Vinyl contains plasticizers which can be toxic and are banned in some countries. Hard Vinyl is safer. There are other plastics, such as LDPE, which do not require plasticizers for flexibility and materials such as silicone rubber which make superior<br />
insulation.<br />
<br />
==== Teflon ====<br />
Used as a PCB substrate, dialectric, wire insulation, and as a non-stick coating on cookware. Teflon wire releases nerve gas when burned. Teflon cookware (which may be used in the hot plate or toaster oven methods of reflow soldering) is alleged to release nerve gas fumes that will kill pet birds even at normal cooking temperatures.<br />
<br />
=== Silicone Rubber and other Silicones ===<br />
Silicon is an abundant natural resource. Silicone Rubber has a 50 year life span, which makes it good for durable goods. It is considered by some to be more environmentally benign than many other polymer resins due to its durability, low toxicity, manufacturing process, being chemically inert, and abundant raw materials. Another Silicone, Silicone gel, was vindicated as a cause of health problems associated with breast implants. Silicone rubber is one of the few materials considered safe enough for medical implants. It is an excellent high voltage insulator and withstands high temperatures. When used in contact with electrical circuits, peroxide curing vs. acetic acid (vinegar) curing silicone should be used due to the corrosive nature of acetic acid. Silicone caulk may be thinned to make it suitable for painting or dip coating, when the proper forms of the resin are not available, using Xylene (a hazardous material) or pourable silicones or other silicones without thixotropic additives may be used, though these are expensive in small quantities. Silicone rubber may be used as an adhesive (it must be cut to remove it). It may be used as a potting material. <br />
Silicone oil is used as a lubricant; purists prefer pure silicone lubricants (such as CRC 100% silicone) over products such as WD-40 which mix it with petroleum based oils; do not use it on a surface you intent to paint. Paint does not adhere to silicone rubber, either. "Paintable" silicone rubber caulk appears to lack the thixotropic additive and is thin enough to spread with a paint brush, though probably not thin enough for dipping or pouring.<br />
Liquid silicone may be used as a non-toxic solvent. Availible in electrically conductive varieties. Silicone is used to make flexible molds and hobby moldmaking suppliers are a source of small quantities of different types of silicone rubbers. Silicone rubber will withstand reflow soldering temperatures; it could be used to adhere components to a board before soldering, however it will not let go when you attempt to desolder the parts.<br />
[http://en.wikipedia.org/wiki/Silicone]<br />
<br />
=== Wood ===<br />
Can be used for breadboarding leaded components, enclosures, etc. Low embodied energy/CO2.<br />
<br />
==== Stencils ====<br />
==== Panel Plating vs Pattern Plating ====<br />
[http://www.thinktink.com/stack/volumes/volvi/copplate.htm]<br />
==== Chemical Etching vs Mechanical Etching ====<br />
=== Fumes ===<br />
==== Soldering (flux) ====<br />
==== Laser Cutting (stencils, engraving, via hole drilling) ====<br />
==== Chemical Etching ====<br />
<br />
<br />
=== Enclosures ===<br />
=== Recycling ===<br />
=== Electronic Equipment ===<br />
=== ReHDPE ===<br />
Recycled polyethylene lumber (ReHDPE) (Not the kind with wood fillers), seems to machine well, is cheaper than delrin and other plastics.<br />
Wood fillers in the sort found at Lowes Hardware stores may absorb water. At least I think the sample (from teksupply) I saw was ReHDPE; they don't say but similar products seem to be ReHDPE. There may be voids. 2x4 material (many sizes available) is about $3 per foot. <br />
[http://www.teksupply.com/farm/supplies/prod;10053;ts1_building_materials;pg104577]<br />
[http://plasticlumberyard.com/plasticlumber.htm]<br />
[http://www.epsplasticlumber.com/lumberpricing.shtml]<br />
May be useful for electronics enclosures and other plastic parts. HDPE has a lower embodied energy than most plastics.<br />
<br />
=== Obsolescence ===<br />
The enviromental impacts of electronic devices are greatly exacerbated by obsolescence (or worse planned obsolescence), limited lifetimes, and<br />
poor repairability (including lack of technical documentation), and by often being cheaper to replace than repair.<br />
<br />
=== Single Function vs. Multifunction devices ===<br />
Devices which perform many functions, and thus replace many devices, may reduce environmental impact. Do you need a computer, TV, stereo, CD player, DVD player, game console, DVR, VHS/DVD recorder or can you use one device (the computer) for all those functions? Do you need separate PDA, GPS receiver, digital camera, camcorder, cell phone, DECT cordless phone, voice recorder, MP3 player, and ebook reader or can those be combined into a single portable device that functions better than the individual devices?<br />
<br />
=== Components ===<br />
==== Semiconductors ====<br />
The embodied energy in a Monocrystalline solar panel, 230Kg CO2/square meter might be a some indication, though that is for the module and not just the cell and it is based on a square meter rather than by weight as most things are, but it seems rather high (they do, however, repay that energy in about 18 months to 7 years). 60% of the embodied energy is in the silicon wafers. Pound for pound, semiconductors are probably an environmental nightmare, though very little material is actually used in the final product. Unfortunately, a 2g chip (32MB DRAM) requires 1.7kg of materials (72g of chemcials, 1600 grams of fossil fuels, and 700 grams of elemental gas) and uses 32000g (32 liters) of water. A lot of this energy is too heat the materials to 1000 degrees Celsius (how about a large concentrating solar collector to help out here?).<br />
<br />
==== Resistors ====<br />
The process of making resistors generally involves baking (embodied energy/CO2); probably twice, once to make the ceramic subtrate and once for the resistive coating; however, this is probably not a major concern as ceramics have a fairly low embodied CO2.<br />
<br />
==== Computers ====<br />
Computers have a very large environmental impact and may be indicative of the environmental impact of electronic devices in general.<br />
For a computer, the emboddied energy is about twice what it will consume over a three year life span. <br />
<br />
For a desktop computer (not counting monitor, etc): 6050g steel, 670g copper, 440g Aluminum, 650g plastics, 1040g Epoxy, 47g Tin, 27g Lead, 18g Nickel, 1.4g Silver, 0.35g gold, and 96 grams misc for a total of 9040g. A 17" CRT monitor: 6817g Glass, 2830g Steel, 700g Copper, 480g Ferrite, 240g Aluminum, 3530g Plastics, 140g Epoxy, 20g Tin, 593g Lead, 1.24g Silver, 0.31g Gold, and 98g of other materials. "Other" is probably largely the fiberglass in the PCBs and the silicon wafers.<br />
[http://web.mit.edu/ebm/www/Publications/Gutowski%20Mech%20Eng%20Handbook%20Ch%20Dec%206%2020041.pdf]<br />
<br />
==== Capacitors ====<br />
<br />
[[Category:Techniques]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Techniques&diff=15225Techniques2008-04-03T00:51:10Z<p>Mzoran: /* USB Communications from a PC to Microcontrollers */</p>
<hr />
<div>racliacelg<br />
== Printed circuit board design/fabrication ==<br />
=== Overview ===<br />
* [How to make really really good homemade PCBs http://www.electricstuff.co.uk/pcbs.html]<br />
=== Software Design ===<br />
see Software design tools below, this should be a link, but I do not know how to do it yet, someone want to fix it for me?<br />
=== Manual Design ===<br />
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.<br />
<br />
=== Homebrew fabrication ===<br />
* [[Toner Transfer]] -- This method involves laser printing your PCB design onto paper, then transferring toner onto copper-clad board.<br />
* [[Photoetching]] -- Exposure of PCB designs onto photosensitized copper-clad board.<br />
* [[Chemical Etchants]]<br />
<br />
=== Commercial PCB fabrication ===<br />
* [[Submitting PCB's for fabrication]] -- Common processes for submitting PCB's for fabrication.<br />
* [[PCB Manufacturers]]<br />
<br />
== Circuit construction (Prototyping - Other than custom PCB) ==<br />
<br />
* [[Solderless protoboard]] ([http://en.wikipedia.org/wiki/Breadboard Wikipedia:Breadboard]) ([http://www.best-microcontroller-projects.com/prototyping.html a simple example with a small microcontroller])<br />
* [[Point-to-point]] ([http://en.wikipedia.org/wiki/Point-to-point_construction Wikipedia:Point-to-point construction])<br />
* [[Wirewrap]] ([http://en.wikipedia.org/wiki/Wire_wrap Wikipedia:Wire Wrap])<br />
* [[Dead bug style]] -- and a similar method, [http://ciphersbyritter.com/RADELECT/BREADBD/BREADBD.HTM "A Modern Breadboarding Technology: Insulating Pads Soldered to a Ground Plane"]<br />
* [[Manhattan style]]<br />
<br />
[[http://www.techlib.com/electronics/construction.html "Construction Ideas"]] has nice photographs of the above circuit construction techniques.<br />
<br />
* [[Stripboard]] (Veroboard): ([http://en.wikipedia.org/wiki/Stripboard Wikipedia:stripboard].)<br />
<br />
== Soldering techniques ==<br />
<br />
* [[Basic soldering]] -- How to use a soldering iron.<br />
* Surface Mount<br />
** [[Skillet reflow]]<br />
** [[Toaster oven reflow]]<br />
** [[Hot air soldering]]<br />
* [[Rework]] -- Techniques for fixing mistakes, or for adding new features to a board that ''almost'' does what you want.<br />
** [http://workmanship.nasa.gov/lib/insp/2%20books/links/sections/302_jumper%20wires.html official NASA recommendations for adding discrete wiring ("jumper wires") to PCBs]<br />
<br />
(Have you seen this [http://www.hackaday.com/2007/06/04/cnc-solder-paste-pick-n-place/ CNC solder paste/pick n place] ?)<br />
<br />
== [[Hardware Tools]] ==<br />
A directory to tools that you may find useful.<br />
<br />
== Software design tools ==<br />
<br />
Some people still build circuits without ever using any software tools.<br />
For complicated circuits, software design tools can save a lot of time.<br />
<br />
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.<br />
(Is there another place for listing stand-alone tools such as a [[switching regulator|switching power supply]] "wizard" and a RF analysis tool?)<br />
<br />
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.<br />
<br />
In no particular order:<br />
<!-- Please use a valid license ie, BSD, GPL, Crippleware, Nagware, Shareware, Payware etc.. And specify platform. There's usually a lot of free win32 crippleware without sources makeing you victim of the design file hostage scenario. Also some packages are sub-packages to others, thus maybe no needing an entry of their own. --><br />
{| class="wikitable"<br />
|- <br />
! Name !! Platform !! License !! AutoRouter !! Comments<br />
|-<br />
| [http://www.liquidpcb.org/ Liquid PCB] || || GPL || || [http://liquidpcb.wiki.sourceforge.net/ 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.<br />
|-<br />
|[http://geda.seul.org/ [[gEDA]]] || Linux, *BSD || Free, OSS || || [http://geda.seul.org/wiki/ gEDA wiki] includes schematic and [http://sourceforge.net/projects/pcb/ PCB] for makeing [[gerber|gerbers]] etc...<br />
|-<br />
|[http://mccad.com/ McCAD EDS Lite] || || Free demo max 200 pin || || Free demo version available for download, 200 pin limit<br />
|-<br />
|[http://applefritter.com/replica McCAD EDS SE] || || "free"? || || Free 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> <br />
|-<br />
|[http://www.freepcb.com/ FreePCB] || Win32 || Free, OSS? || || PCB Design Software<br />
|-<br />
|[http://tinycad.sourceforge.net/ TinyCAD] || Win32 || ? || || Schematic Drawing Software <br />
|-<br />
|[http://kicad.sourceforge.net/ KiCad] || BSD, Linux, MacOSX, Win32 || GPL || || http://www.lis.inpg.fr/realise_au_lis/kicad/ EDA suite<br />
|-<br />
|[http://expresspcb.com/ 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.<br />
|-<br />
|[http://altium.com/ Protel DXP] || || || || [http://techref.massmind.org/techref/app/protel.htm independent Protel users FAQ] <br />
|-<br />
|[http://cadsoftusa.com/ 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 ) <br>http://cadsoft.de/ <br>[http://www.sparkfun.com/tutorial/PCB/eagle-output-tutorial.htm Eagle tutorial from Sparkfun] <br>[http://www.makezine.com/blog/archive/2006/03/how_to_make_a_custom_library_p.html Eagle tutorial (makezine)] <br />
|-<br />
|[http://diptrace.com/ DipTrace] || || Crippleware || || 250-pin Freeware or Purchase more advanced versions<br />
|-<br />
|[http://winqcad.com/ WinQcad] || || Crippleware || || Demo with max 499 pins available for download <br />
|-<br />
|[http://www.hutson.co.nz/ Rimu Schematic and Rimu PCB] || Win32 || Payware || || Schematic & PCB design for MS-Windows<br />
|-<br />
|[http://mentala.com/ SuperCAD and SuperPCB] || Win32 || || || Mental Automation schematic & PCB for MS-Windows<br />
|-<br />
|[http://www.autotraxeda.com/ 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.<br />
|-<br />
|[http://www.holophase.com/dleval.htm holophase.com/dleval] || Win32 || Crippleware || || Circad's DOS version is free for non-commercial use.<br />
|-<br />
|[http://www.geda.seul.org/ geda.seul.org] || BSD, Linux, MacOSX, Win32 || GPL || Yes || xNIX Electronic Design Automation project has Schematic capture with PCB CAD.<br />
|-<br />
|[http://www.vutrax.co.uk/pricing.htm vutrax.co.uk/pricing] || Win32 || || || Vutrax for MS-Windows. Free for under 256 component pins.<br />
|-<br />
|[http://www.interactiv.com interactiv.com] || || || || Electronic Workbench, 400 USD for 500 pins. Includes schematic capture and simulation, virtual instruments and PCB layout. Said to be stable.<br />
|-<br />
|[http://pcb.sourceforge.net Harry Eaton's PCB] || || GPL? || Yes || 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.<br />
|-<br />
|[http://www.labcenter.co.uk/ 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!).<br />
|-<br />
|[http://www.ivex.com/ ivex.com] || || Payware || || Winboard PCB Layout, now [http://www.calcentron.com/Pages/NTEHomePage/ivex_cad_software.htm calcentron.com].<br />
|-<br />
|[http://www.illuminated.com.au/ illuminated.com.au] || Linux, Win32, DOS<!-- Claimed --> || || || Draftcad, Schematic Capture and PCB Design<br />
|-<br />
|[http://www.winqcad.com/ winqcad.com] || Win32, Linux+Wine || || || MicroCad<br />
|}<br />
<br />
(Some of this information in this table came from the [http://techref.massmind.org/techref/pcbcads.htm list of software design tools at the Massmind]).<br />
<br />
Is there any way to objectively compare these tools?<br />
How well did they do at the<br />
[http://www.pcbwest.com/topgun/ PCB Top Gun contest] ?<br />
<br />
=== Checklist for "The flow of PCB fabrication/PCB" using Software Design Tool===<br />
*Format and shape of PCB are conformed./<br />
*Via size and location are conformed./<br />
*Fixed location item are placed on suitable place./<br />
*A one-first PCB silk layout is made./1:1çPCB<br />
*All item get enough clearance between them./é°æ¯å¦éæ¼ç·è²¼<br />
*All vias get enough size to install them components./æ±<br />
*Make sure no worng footprint is created./<br />
*PCB is drew./PCB<br />
*Netlist is ran and got a no error result./å·è¡netlistæ令ç´ç¡é¯èª¤<br />
*DRC is ran and got a no error result./DRC<br />
*Location of item is reasonable./<br />
*All items are put on to a hard copy of PCB./PCB<br />
*Overall is checked./<br />
<br />
And then the Gerbers are sent to a [[PCB Manufacturers]].<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
Advantages<br />
* Relatively simple firmware and PC software<br />
* Ability to use terminal emulators to test hardware<br />
* Long cable lengths<br />
<br />
Disadvantages:<br />
* Slow<br />
* Requires bulky connectors and level translators<br />
* Many new computers especially laptops don't have serial ports<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontrollers that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Plug and Play<br />
* No level translators and small connectors<br />
* Works with computers that don't have serial ports<br />
* Ability to implement standard devices such a keyboards, mice, memory card readers, and sound cards without writting a device driver.<br />
<br />
Disadvantages:<br />
* Complex Firmware and PC software<br />
* Requires OS specific device drivers and installers<br />
* PC application software is more OS specific<br />
* Short cable lengths<br />
* May require the use of an expensive hardware bus analyzer<br />
<br />
== Embedded System Programming and Testing ==<br />
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.<br />
<br />
* Many systems use [[JTAG]] for programming and testing. (Such as [http://en.wikibooks.org/wiki/Atmel_AVR Atmel AVR embedded systems]]).<br />
* Other systems use some other kind of in-circuit programming.<br />
* Some people use [http://en.wikibooks.org/wiki/Embedded_Systems/Bootloaders_and_Bootsectors bootloaders] to make re-programming a little quicker.<br />
<br />
-- not sure that this next one is not misplaced ? --<br />
<br />
* Many people use an [[oscilloscope]] ([[o'scope]]). Keith has made a list of [http://www.techtravels.org/amiga/amigablog/?p=167 "PC USB logic analyzers that cost under $1000."], some of which can be used as an o'scope. Should we make a table dedicated to low-cost o'scopes here?<br />
<br />
Humans writing a program almost always do it in a language. Here is a section that discusses some of these languages: [[Programming Languages]]<br />
<br />
== Enclosure ==<br />
<br />
* The Earth Signal should short to whole metal Case<br />
* Digital/Analog GND should separate to this Earth Signal, and should connect a Y-cap. to filter the noise between them.<br />
* Attention: do not place near between Earth Signal and Digital/Analog GND, otherwise some spark come out, and affect your whole system.<br />
<br />
== Further Reading ==<br />
<br />
* [http://airborn.com.au/method/ "Electronics Design" from Airborn] gives an overview of the complete process: specification, (schematic) circuit design, layout, prototypes, firmware, pilot run, production.<br />
* 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/<br />
* [http://www.national.com/rap/Story/0,1562,18,00.html "What's All This Ground Noise Stuff, Anyhow?"] by Robert A. Pease<br />
* [http://www.elecdesign.com/Articles/ArticleID/6150/6150.html "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.<br />
* [http://groups.google.to/group/sci.electronics.design/browse_thread/thread/889153f0e77b1718/fcaac532bb6d4b12?fwc=1 sci.electronics.design: EDN: Measuring Nanoamperes] discusses some ways to measure extremely small currents.<br />
* [http://groups.yahoo.com/group/Homebrew_PCBs yahoo.com/group/Homebrew_PCBs]<br />
* [http://www.electricstuff.co.uk/pcbs.html electricstuff.co.uk/pcbs]<br />
* [http://www.fullnet.com/~tomg/gooteepc.htm fullnet.com/~tomg/gooteepc]<br />
* The notion that through-hole soldering is easier than soldering surface-mount devices is, and always has been, [http://archives.seul.org/geda/user/Aug-2004/msg00175.html a myth.]<br />
<br />
== Environmental Issues ==<br />
The metals, chemicals, and polymers used in producing electronic circuits, as well as the energy consumed in producing them and the extraction (mining) processes can have significant environmental impact. The purpose of this section is to collect information that can be used to assess and/or<br />
mitigate the environmental impact. It may also suggest some projects which can be environmentally beneficial. [Note: techniques was the closest<br />
major section to incorporate this into but it might make more sens to promote this section to a fifth major section]<br />
<br />
=== Energy Use, Global Warming Gasses ===<br />
<br />
==== Embodied Energy/CO2 ====<br />
With the climate change crisis and peak oil, energy consumption becomes an important issue. Embodied CO2 includes the effects of emboddied<br />
energy plus other CO2 sources. An good source for information on how much energy is consumed and CO2 produced in making a variety of materials is the ICE [http://www.bath.ac.uk/mech-eng/sert/embodied/] database. You have to request a free copy be sent via email. The production of<br />
metals and plastics releases many times their weight in greenhouse gases. <br />
<br />
==== Energy consumption by Electronic Devices ====<br />
Standby modes, switching supplies, etc.<br />
<br />
==== Transportation ====<br />
Raw materials, electronic components, bare PCBs, finished products, and end-of-life products being recycled get transported very long distances.<br />
<br />
==== Electronics as energy saving devices ====<br />
Some electronics are used to save energy. Fluorescent ballasts, Photovoltaics, power inverters, charge controllers, some motor controls, solar trackers, LED lighting, setback thermostats, motion sensor controls and timers, blind controllers, etc. In some cases, computers are used for<br />
telecommuting.<br />
<br />
=== RoHS/lead-free ===<br />
The transition to RoHS/lead-free processes has cost the industry a large amount of money and creates problems for hobbyists. When you consider the environmental impact of lead free solders (for example, silver mining is highly polluting), and the greater amount of non-renewable resources used, and the shorter lifespan of the electronic circuits, the whole lead free movement may be yet another political boondoggle.<br />
[http://www.sigcon.com/Pubs/news/10_01.htm] <br />
<br />
John Barnes, electronics text book author, and author of the [http://www.rohsusa.com/ Pushback] site:<br />
<br />
<blockquote><br />
It is widely accepted in the Engineering community that the recent ban of lead in solders for use in electronics in Europe is not only erroneous, but will actually lead to a worsening situation on the environment with the replacements being in general use from July â06 having a GREATER environmental impact. [http://www.rohsusa.com/]<br />
</blockquote><br />
<blockquote><br />
To date I have collected over 230 books and well over 11,100 other documents on these and closely-related subjects, going clear back to 1851. My collection now fills one-and-a-half bookcases and three 5-drawer file cabinets. [http://www.dbicorporation.com/rohsbib.htm#pages]<br />
</blockquote><br />
<blockquote><br />
Based on my research, and helping clients develop RoHS-compliant electronic products, I believe that: If you buy a lead-free RoHS-compliant electronic device-- and if it works when you first turn it on-- it should be safe and fully-functional for at least one year. If you are lucky, it may last a couple of years longer... versus the 20+ years use that we can easily get out of many lead-based electronic products. [http://www.dbicorporation.com/rohsbib.htm#pages] <br />
</blockquote><br />
[http://www.rohsusa.com/]<br />
<br />
A huge problem with the RoHS laws is the sheer nitpicky nature of the regulations and the beaurocracy that enforces them. It doesn't matter if you reduce the lead content a thousand fold relative to a lead solder board, which would put it well within the 0.1% lead limit. The product is reduced to homogeneous parts each one of which must individually meet the regulations. One stray microscopic lead solder ball might be ok if it is absorbed into a joint where it is becomes part of a larger homogeneous component but not if it contaminates an inspection sticker or gets trapped in the flux between traces. Maybe widespread competent recycling of electronics is a better approach. Not shipping it off to other countries or using prison labor to disassemble it under unsafe and environmentally harmful ways; there are some horror stories of how electronics is recycled now.<br />
<br />
==== Mixing lead containing and lead free components ====<br />
Many lead-free components are compatible with lead solder processes. leadframe based components, such as QFPs, SOICs, and SOPs with gull wing leads, are generally compatible since the finish on the part leads contributes a small amount of material to the finished joint. However, components such as BGAs which come with lead-free solder balls are not compatible with lead processes. [http://www.st.com/stonline/products/literature/an/10791.pdf] Also, leadless parts are exposed to higher stresses and are more susceptible to any affect from mixed metallurgy. Check with each manufacturer as lead finishes may vary.<br />
<br />
[edit]<br />
<br />
=== Materials, Chemicals, and Processes used ===<br />
==== Etchants ====<br />
Ferric Chloride poured down the drain will eat pipes and copper is toxic. Although your sewage plant may not be happy about ferric chloride in the sewage (and it may be illegal) , they can probably at least deal with it better than many other chemicals since Ferric Chloride is used at sewage treatment plants to remove copper. <br />
Ferric Chloride etchant can be neutralized into iron oxide (rust), copper, and salt by using iron (nails, etc) to use up all the etchant and then add washing soda and evaporating and can then be landfilled. Considering the value and toxicity of copper, it would be nice to see this improved on so that the copper can be reclaimed.<br />
<br />
Another source [http://www.mgchemicals.com/techsupport/ferric_faq.html] <br />
suggests adding washing soda before pouring down the drain. Another source [http://www.anotherurl.com/library/pcb_production.htm] suggests baking soda.<br />
<br />
[http://www.jtbaker.com/msds/englishhtml/f1080.htm MSDS] <br />
<br />
Etching can be improved, and the lifetime of the etchant before it needs disposal, using citric acid [http://www.ganoksin.com/borisat/nenam/safe-etching.htm]<br />
==== PCB Substrates ====<br />
==== Etch Resists ====<br />
==== Solder ====<br />
See RoHS/lead free section above. Solder paste should be refrigerated (embodied energy) and has a limited lifetime. One problem with expired solder is absorbed water which can lead to spatter and voids in solder joints. What to do with expired solder paste? It should still be ok for manually tinning leads and large copper areas. It may be possible to add it to a wave solder bath using the same alloy.<br />
<br />
==== Flux ====<br />
==== Epoxies ====<br />
==== Solder Mask ====<br />
==== Silk screen ====<br />
==== Tape & Reel, JEDEC matrix trays, other component packaging ====<br />
JEDEC matrix trays can be reused or recycled. Resistors tend to come in paper (cardboard) tape, which can be recycled, plus a cover tape. <br />
Capacitors, transistors, and IC's often come in formed plastic tape with a plastic cover tape..<br />
<br />
==== poly bags ====<br />
==== Cleaning products ====<br />
==== Plating ====<br />
===== Tin Plating =====<br />
===== Gold Plating =====<br />
===== Nickel Plating =====<br />
===== Silver Plating =====<br />
<br />
===== Hot Air Solder Levelling =====<br />
Not technically a plating process, but many of the alternatives are. Contains Lead (see RoHS/lead free section).<br />
<br />
===== Solder Mask over Bare Copper (SMOBC) =====<br />
<br />
==== Copper ====<br />
Sulfur dioxide produced in making copper is equivalent to 1/4 the sulfur dioxide emisions of all industrial nations combined. 1kg of copper requires<br />
excavating 127kg of ore and 136kg of other rock and the equivalent of 275 liters of petoleum was consumed. [http://www.iied.org/mmsd/mmsd_pdfs/041_rabago.pdf] Copper is somewhat toxic. And it is a scarce and valuable resource. Copper prices are high enough that people steel copper wiring and pipes out of unoccupied buildings (destroying the buildings in the process).<br />
Copper can be recovered from PCB etchant by electrolysis. [http://www.p2pays.org/ref/10/09283.htm] It also saves on etchant replacement and disposal. They spent 55,000 English Pounds to set it up but it paid for itself in two years. This may be possible to do on a smaller scale. Copper used on printed circuit boards is usually produced by electrodepositing copper onto a rotating drum (Printed Circuits Handbook); this particular process, though often done by the panel manufacturer and not the PCB fab, appears to be compatible with reclaimed copper (no need to remelt it). It appears that electrodes used in the reclamation process can be transfered to the plating bath for panel plating, pattern plating, or making electrodeposited foil sheets, provided the baths are kept well filtered. In a double sided circuit board, most of the copper on the board is electroplated onto the board (starting with a thin foil), thus plating the holes.<br />
<br />
==== Aluminum ====<br />
==== Tantalum ====<br />
"Other concerns we have center on a material necessary for wireless technology, called Tantalum. Tantalum is a rare earth metal that is only found in a few places. Because of growing demand caused by the popularization of cell phone, laptop and wifi use, tantalum mining has become a lucrative business in areas that sometimes have delicate ecosystems and unbalanced economies. This led to wars, exploitation and environmental havoc in the Congo³. That situation has been mostly addressed through policing and international embargoes4, but that is just one example of how consumer electronics can be linked directly to environmental and social problems.5" [http://wiki.freegeek.org/index.php/Wifi_Use_Statement]<br />
<br />
=== PVC ===<br />
PVC is used as insulation for wires. Flexible Vinyl contains plasticizers which can be toxic and are banned in some countries. Hard Vinyl is safer. There are other plastics, such as LDPE, which do not require plasticizers for flexibility and materials such as silicone rubber which make superior<br />
insulation.<br />
<br />
==== Teflon ====<br />
Used as a PCB substrate, dialectric, wire insulation, and as a non-stick coating on cookware. Teflon wire releases nerve gas when burned. Teflon cookware (which may be used in the hot plate or toaster oven methods of reflow soldering) is alleged to release nerve gas fumes that will kill pet birds even at normal cooking temperatures.<br />
<br />
=== Silicone Rubber and other Silicones ===<br />
Silicon is an abundant natural resource. Silicone Rubber has a 50 year life span, which makes it good for durable goods. It is considered by some to be more environmentally benign than many other polymer resins due to its durability, low toxicity, manufacturing process, being chemically inert, and abundant raw materials. Another Silicone, Silicone gel, was vindicated as a cause of health problems associated with breast implants. Silicone rubber is one of the few materials considered safe enough for medical implants. It is an excellent high voltage insulator and withstands high temperatures. When used in contact with electrical circuits, peroxide curing vs. acetic acid (vinegar) curing silicone should be used due to the corrosive nature of acetic acid. Silicone caulk may be thinned to make it suitable for painting or dip coating, when the proper forms of the resin are not available, using Xylene (a hazardous material) or pourable silicones or other silicones without thixotropic additives may be used, though these are expensive in small quantities. Silicone rubber may be used as an adhesive (it must be cut to remove it). It may be used as a potting material. <br />
Silicone oil is used as a lubricant; purists prefer pure silicone lubricants (such as CRC 100% silicone) over products such as WD-40 which mix it with petroleum based oils; do not use it on a surface you intent to paint. Paint does not adhere to silicone rubber, either. "Paintable" silicone rubber caulk appears to lack the thixotropic additive and is thin enough to spread with a paint brush, though probably not thin enough for dipping or pouring.<br />
Liquid silicone may be used as a non-toxic solvent. Availible in electrically conductive varieties. Silicone is used to make flexible molds and hobby moldmaking suppliers are a source of small quantities of different types of silicone rubbers. Silicone rubber will withstand reflow soldering temperatures; it could be used to adhere components to a board before soldering, however it will not let go when you attempt to desolder the parts.<br />
[http://en.wikipedia.org/wiki/Silicone]<br />
<br />
=== Wood ===<br />
Can be used for breadboarding leaded components, enclosures, etc. Low embodied energy/CO2.<br />
<br />
==== Stencils ====<br />
==== Panel Plating vs Pattern Plating ====<br />
[http://www.thinktink.com/stack/volumes/volvi/copplate.htm]<br />
==== Chemical Etching vs Mechanical Etching ====<br />
=== Fumes ===<br />
==== Soldering (flux) ====<br />
==== Laser Cutting (stencils, engraving, via hole drilling) ====<br />
==== Chemical Etching ====<br />
<br />
<br />
=== Enclosures ===<br />
=== Recycling ===<br />
=== Electronic Equipment ===<br />
=== ReHDPE ===<br />
Recycled polyethylene lumber (ReHDPE) (Not the kind with wood fillers), seems to machine well, is cheaper than delrin and other plastics.<br />
Wood fillers in the sort found at Lowes Hardware stores may absorb water. At least I think the sample (from teksupply) I saw was ReHDPE; they don't say but similar products seem to be ReHDPE. There may be voids. 2x4 material (many sizes available) is about $3 per foot. <br />
[http://www.teksupply.com/farm/supplies/prod;10053;ts1_building_materials;pg104577]<br />
[http://plasticlumberyard.com/plasticlumber.htm]<br />
[http://www.epsplasticlumber.com/lumberpricing.shtml]<br />
May be useful for electronics enclosures and other plastic parts. HDPE has a lower embodied energy than most plastics.<br />
<br />
=== Obsolescence ===<br />
The enviromental impacts of electronic devices are greatly exacerbated by obsolescence (or worse planned obsolescence), limited lifetimes, and<br />
poor repairability (including lack of technical documentation), and by often being cheaper to replace than repair.<br />
<br />
=== Single Function vs. Multifunction devices ===<br />
Devices which perform many functions, and thus replace many devices, may reduce environmental impact. Do you need a computer, TV, stereo, CD player, DVD player, game console, DVR, VHS/DVD recorder or can you use one device (the computer) for all those functions? Do you need separate PDA, GPS receiver, digital camera, camcorder, cell phone, DECT cordless phone, voice recorder, MP3 player, and ebook reader or can those be combined into a single portable device that functions better than the individual devices?<br />
<br />
=== Components ===<br />
==== Semiconductors ====<br />
The embodied energy in a Monocrystalline solar panel, 230Kg CO2/square meter might be a some indication, though that is for the module and not just the cell and it is based on a square meter rather than by weight as most things are, but it seems rather high (they do, however, repay that energy in about 18 months to 7 years). 60% of the embodied energy is in the silicon wafers. Pound for pound, semiconductors are probably an environmental nightmare, though very little material is actually used in the final product. Unfortunately, a 2g chip (32MB DRAM) requires 1.7kg of materials (72g of chemcials, 1600 grams of fossil fuels, and 700 grams of elemental gas) and uses 32000g (32 liters) of water. A lot of this energy is too heat the materials to 1000 degrees Celsius (how about a large concentrating solar collector to help out here?).<br />
<br />
==== Resistors ====<br />
The process of making resistors generally involves baking (embodied energy/CO2); probably twice, once to make the ceramic subtrate and once for the resistive coating; however, this is probably not a major concern as ceramics have a fairly low embodied CO2.<br />
<br />
==== Computers ====<br />
Computers have a very large environmental impact and may be indicative of the environmental impact of electronic devices in general.<br />
For a computer, the emboddied energy is about twice what it will consume over a three year life span. <br />
<br />
For a desktop computer (not counting monitor, etc): 6050g steel, 670g copper, 440g Aluminum, 650g plastics, 1040g Epoxy, 47g Tin, 27g Lead, 18g Nickel, 1.4g Silver, 0.35g gold, and 96 grams misc for a total of 9040g. A 17" CRT monitor: 6817g Glass, 2830g Steel, 700g Copper, 480g Ferrite, 240g Aluminum, 3530g Plastics, 140g Epoxy, 20g Tin, 593g Lead, 1.24g Silver, 0.31g Gold, and 98g of other materials. "Other" is probably largely the fiberglass in the PCBs and the silicon wafers.<br />
[http://web.mit.edu/ebm/www/Publications/Gutowski%20Mech%20Eng%20Handbook%20Ch%20Dec%206%2020041.pdf]<br />
<br />
==== Capacitors ====<br />
<br />
[[Category:Techniques]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Techniques&diff=15224Techniques2008-04-03T00:48:45Z<p>Mzoran: /* Serial Communications from a PC to Microcontrollers */</p>
<hr />
<div>racliacelg<br />
== Printed circuit board design/fabrication ==<br />
=== Overview ===<br />
* [How to make really really good homemade PCBs http://www.electricstuff.co.uk/pcbs.html]<br />
=== Software Design ===<br />
see Software design tools below, this should be a link, but I do not know how to do it yet, someone want to fix it for me?<br />
=== Manual Design ===<br />
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.<br />
<br />
=== Homebrew fabrication ===<br />
* [[Toner Transfer]] -- This method involves laser printing your PCB design onto paper, then transferring toner onto copper-clad board.<br />
* [[Photoetching]] -- Exposure of PCB designs onto photosensitized copper-clad board.<br />
* [[Chemical Etchants]]<br />
<br />
=== Commercial PCB fabrication ===<br />
* [[Submitting PCB's for fabrication]] -- Common processes for submitting PCB's for fabrication.<br />
* [[PCB Manufacturers]]<br />
<br />
== Circuit construction (Prototyping - Other than custom PCB) ==<br />
<br />
* [[Solderless protoboard]] ([http://en.wikipedia.org/wiki/Breadboard Wikipedia:Breadboard]) ([http://www.best-microcontroller-projects.com/prototyping.html a simple example with a small microcontroller])<br />
* [[Point-to-point]] ([http://en.wikipedia.org/wiki/Point-to-point_construction Wikipedia:Point-to-point construction])<br />
* [[Wirewrap]] ([http://en.wikipedia.org/wiki/Wire_wrap Wikipedia:Wire Wrap])<br />
* [[Dead bug style]] -- and a similar method, [http://ciphersbyritter.com/RADELECT/BREADBD/BREADBD.HTM "A Modern Breadboarding Technology: Insulating Pads Soldered to a Ground Plane"]<br />
* [[Manhattan style]]<br />
<br />
[[http://www.techlib.com/electronics/construction.html "Construction Ideas"]] has nice photographs of the above circuit construction techniques.<br />
<br />
* [[Stripboard]] (Veroboard): ([http://en.wikipedia.org/wiki/Stripboard Wikipedia:stripboard].)<br />
<br />
== Soldering techniques ==<br />
<br />
* [[Basic soldering]] -- How to use a soldering iron.<br />
* Surface Mount<br />
** [[Skillet reflow]]<br />
** [[Toaster oven reflow]]<br />
** [[Hot air soldering]]<br />
* [[Rework]] -- Techniques for fixing mistakes, or for adding new features to a board that ''almost'' does what you want.<br />
** [http://workmanship.nasa.gov/lib/insp/2%20books/links/sections/302_jumper%20wires.html official NASA recommendations for adding discrete wiring ("jumper wires") to PCBs]<br />
<br />
(Have you seen this [http://www.hackaday.com/2007/06/04/cnc-solder-paste-pick-n-place/ CNC solder paste/pick n place] ?)<br />
<br />
== [[Hardware Tools]] ==<br />
A directory to tools that you may find useful.<br />
<br />
== Software design tools ==<br />
<br />
Some people still build circuits without ever using any software tools.<br />
For complicated circuits, software design tools can save a lot of time.<br />
<br />
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.<br />
(Is there another place for listing stand-alone tools such as a [[switching regulator|switching power supply]] "wizard" and a RF analysis tool?)<br />
<br />
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.<br />
<br />
In no particular order:<br />
<!-- Please use a valid license ie, BSD, GPL, Crippleware, Nagware, Shareware, Payware etc.. And specify platform. There's usually a lot of free win32 crippleware without sources makeing you victim of the design file hostage scenario. Also some packages are sub-packages to others, thus maybe no needing an entry of their own. --><br />
{| class="wikitable"<br />
|- <br />
! Name !! Platform !! License !! AutoRouter !! Comments<br />
|-<br />
| [http://www.liquidpcb.org/ Liquid PCB] || || GPL || || [http://liquidpcb.wiki.sourceforge.net/ 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.<br />
|-<br />
|[http://geda.seul.org/ [[gEDA]]] || Linux, *BSD || Free, OSS || || [http://geda.seul.org/wiki/ gEDA wiki] includes schematic and [http://sourceforge.net/projects/pcb/ PCB] for makeing [[gerber|gerbers]] etc...<br />
|-<br />
|[http://mccad.com/ McCAD EDS Lite] || || Free demo max 200 pin || || Free demo version available for download, 200 pin limit<br />
|-<br />
|[http://applefritter.com/replica McCAD EDS SE] || || "free"? || || Free 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> <br />
|-<br />
|[http://www.freepcb.com/ FreePCB] || Win32 || Free, OSS? || || PCB Design Software<br />
|-<br />
|[http://tinycad.sourceforge.net/ TinyCAD] || Win32 || ? || || Schematic Drawing Software <br />
|-<br />
|[http://kicad.sourceforge.net/ KiCad] || BSD, Linux, MacOSX, Win32 || GPL || || http://www.lis.inpg.fr/realise_au_lis/kicad/ EDA suite<br />
|-<br />
|[http://expresspcb.com/ 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.<br />
|-<br />
|[http://altium.com/ Protel DXP] || || || || [http://techref.massmind.org/techref/app/protel.htm independent Protel users FAQ] <br />
|-<br />
|[http://cadsoftusa.com/ 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 ) <br>http://cadsoft.de/ <br>[http://www.sparkfun.com/tutorial/PCB/eagle-output-tutorial.htm Eagle tutorial from Sparkfun] <br>[http://www.makezine.com/blog/archive/2006/03/how_to_make_a_custom_library_p.html Eagle tutorial (makezine)] <br />
|-<br />
|[http://diptrace.com/ DipTrace] || || Crippleware || || 250-pin Freeware or Purchase more advanced versions<br />
|-<br />
|[http://winqcad.com/ WinQcad] || || Crippleware || || Demo with max 499 pins available for download <br />
|-<br />
|[http://www.hutson.co.nz/ Rimu Schematic and Rimu PCB] || Win32 || Payware || || Schematic & PCB design for MS-Windows<br />
|-<br />
|[http://mentala.com/ SuperCAD and SuperPCB] || Win32 || || || Mental Automation schematic & PCB for MS-Windows<br />
|-<br />
|[http://www.autotraxeda.com/ 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.<br />
|-<br />
|[http://www.holophase.com/dleval.htm holophase.com/dleval] || Win32 || Crippleware || || Circad's DOS version is free for non-commercial use.<br />
|-<br />
|[http://www.geda.seul.org/ geda.seul.org] || BSD, Linux, MacOSX, Win32 || GPL || Yes || xNIX Electronic Design Automation project has Schematic capture with PCB CAD.<br />
|-<br />
|[http://www.vutrax.co.uk/pricing.htm vutrax.co.uk/pricing] || Win32 || || || Vutrax for MS-Windows. Free for under 256 component pins.<br />
|-<br />
|[http://www.interactiv.com interactiv.com] || || || || Electronic Workbench, 400 USD for 500 pins. Includes schematic capture and simulation, virtual instruments and PCB layout. Said to be stable.<br />
|-<br />
|[http://pcb.sourceforge.net Harry Eaton's PCB] || || GPL? || Yes || 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.<br />
|-<br />
|[http://www.labcenter.co.uk/ 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!).<br />
|-<br />
|[http://www.ivex.com/ ivex.com] || || Payware || || Winboard PCB Layout, now [http://www.calcentron.com/Pages/NTEHomePage/ivex_cad_software.htm calcentron.com].<br />
|-<br />
|[http://www.illuminated.com.au/ illuminated.com.au] || Linux, Win32, DOS<!-- Claimed --> || || || Draftcad, Schematic Capture and PCB Design<br />
|-<br />
|[http://www.winqcad.com/ winqcad.com] || Win32, Linux+Wine || || || MicroCad<br />
|}<br />
<br />
(Some of this information in this table came from the [http://techref.massmind.org/techref/pcbcads.htm list of software design tools at the Massmind]).<br />
<br />
Is there any way to objectively compare these tools?<br />
How well did they do at the<br />
[http://www.pcbwest.com/topgun/ PCB Top Gun contest] ?<br />
<br />
=== Checklist for "The flow of PCB fabrication/PCB" using Software Design Tool===<br />
*Format and shape of PCB are conformed./<br />
*Via size and location are conformed./<br />
*Fixed location item are placed on suitable place./<br />
*A one-first PCB silk layout is made./1:1çPCB<br />
*All item get enough clearance between them./é°æ¯å¦éæ¼ç·è²¼<br />
*All vias get enough size to install them components./æ±<br />
*Make sure no worng footprint is created./<br />
*PCB is drew./PCB<br />
*Netlist is ran and got a no error result./å·è¡netlistæ令ç´ç¡é¯èª¤<br />
*DRC is ran and got a no error result./DRC<br />
*Location of item is reasonable./<br />
*All items are put on to a hard copy of PCB./PCB<br />
*Overall is checked./<br />
<br />
And then the Gerbers are sent to a [[PCB Manufacturers]].<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
Advantages<br />
* Relatively simple firmware and PC software<br />
* Ability to use terminal emulators to test hardware<br />
* Long cable lengths<br />
<br />
Disadvantages:<br />
* Slow<br />
* Requires bulky connectors and level translators<br />
* Many new computers especially laptops don't have serial ports<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontrollers that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Plug and Play<br />
* No level translators and small connectors<br />
* Works with computers that don't have serial ports<br />
<br />
Disadvantages:<br />
* Complex Firmware and PC software<br />
* Requires OS specific device drivers and installers<br />
* PC application software is more OS specific<br />
* Short cable lengths<br />
<br />
== Embedded System Programming and Testing ==<br />
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.<br />
<br />
* Many systems use [[JTAG]] for programming and testing. (Such as [http://en.wikibooks.org/wiki/Atmel_AVR Atmel AVR embedded systems]]).<br />
* Other systems use some other kind of in-circuit programming.<br />
* Some people use [http://en.wikibooks.org/wiki/Embedded_Systems/Bootloaders_and_Bootsectors bootloaders] to make re-programming a little quicker.<br />
<br />
-- not sure that this next one is not misplaced ? --<br />
<br />
* Many people use an [[oscilloscope]] ([[o'scope]]). Keith has made a list of [http://www.techtravels.org/amiga/amigablog/?p=167 "PC USB logic analyzers that cost under $1000."], some of which can be used as an o'scope. Should we make a table dedicated to low-cost o'scopes here?<br />
<br />
Humans writing a program almost always do it in a language. Here is a section that discusses some of these languages: [[Programming Languages]]<br />
<br />
== Enclosure ==<br />
<br />
* The Earth Signal should short to whole metal Case<br />
* Digital/Analog GND should separate to this Earth Signal, and should connect a Y-cap. to filter the noise between them.<br />
* Attention: do not place near between Earth Signal and Digital/Analog GND, otherwise some spark come out, and affect your whole system.<br />
<br />
== Further Reading ==<br />
<br />
* [http://airborn.com.au/method/ "Electronics Design" from Airborn] gives an overview of the complete process: specification, (schematic) circuit design, layout, prototypes, firmware, pilot run, production.<br />
* 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/<br />
* [http://www.national.com/rap/Story/0,1562,18,00.html "What's All This Ground Noise Stuff, Anyhow?"] by Robert A. Pease<br />
* [http://www.elecdesign.com/Articles/ArticleID/6150/6150.html "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.<br />
* [http://groups.google.to/group/sci.electronics.design/browse_thread/thread/889153f0e77b1718/fcaac532bb6d4b12?fwc=1 sci.electronics.design: EDN: Measuring Nanoamperes] discusses some ways to measure extremely small currents.<br />
* [http://groups.yahoo.com/group/Homebrew_PCBs yahoo.com/group/Homebrew_PCBs]<br />
* [http://www.electricstuff.co.uk/pcbs.html electricstuff.co.uk/pcbs]<br />
* [http://www.fullnet.com/~tomg/gooteepc.htm fullnet.com/~tomg/gooteepc]<br />
* The notion that through-hole soldering is easier than soldering surface-mount devices is, and always has been, [http://archives.seul.org/geda/user/Aug-2004/msg00175.html a myth.]<br />
<br />
== Environmental Issues ==<br />
The metals, chemicals, and polymers used in producing electronic circuits, as well as the energy consumed in producing them and the extraction (mining) processes can have significant environmental impact. The purpose of this section is to collect information that can be used to assess and/or<br />
mitigate the environmental impact. It may also suggest some projects which can be environmentally beneficial. [Note: techniques was the closest<br />
major section to incorporate this into but it might make more sens to promote this section to a fifth major section]<br />
<br />
=== Energy Use, Global Warming Gasses ===<br />
<br />
==== Embodied Energy/CO2 ====<br />
With the climate change crisis and peak oil, energy consumption becomes an important issue. Embodied CO2 includes the effects of emboddied<br />
energy plus other CO2 sources. An good source for information on how much energy is consumed and CO2 produced in making a variety of materials is the ICE [http://www.bath.ac.uk/mech-eng/sert/embodied/] database. You have to request a free copy be sent via email. The production of<br />
metals and plastics releases many times their weight in greenhouse gases. <br />
<br />
==== Energy consumption by Electronic Devices ====<br />
Standby modes, switching supplies, etc.<br />
<br />
==== Transportation ====<br />
Raw materials, electronic components, bare PCBs, finished products, and end-of-life products being recycled get transported very long distances.<br />
<br />
==== Electronics as energy saving devices ====<br />
Some electronics are used to save energy. Fluorescent ballasts, Photovoltaics, power inverters, charge controllers, some motor controls, solar trackers, LED lighting, setback thermostats, motion sensor controls and timers, blind controllers, etc. In some cases, computers are used for<br />
telecommuting.<br />
<br />
=== RoHS/lead-free ===<br />
The transition to RoHS/lead-free processes has cost the industry a large amount of money and creates problems for hobbyists. When you consider the environmental impact of lead free solders (for example, silver mining is highly polluting), and the greater amount of non-renewable resources used, and the shorter lifespan of the electronic circuits, the whole lead free movement may be yet another political boondoggle.<br />
[http://www.sigcon.com/Pubs/news/10_01.htm] <br />
<br />
John Barnes, electronics text book author, and author of the [http://www.rohsusa.com/ Pushback] site:<br />
<br />
<blockquote><br />
It is widely accepted in the Engineering community that the recent ban of lead in solders for use in electronics in Europe is not only erroneous, but will actually lead to a worsening situation on the environment with the replacements being in general use from July â06 having a GREATER environmental impact. [http://www.rohsusa.com/]<br />
</blockquote><br />
<blockquote><br />
To date I have collected over 230 books and well over 11,100 other documents on these and closely-related subjects, going clear back to 1851. My collection now fills one-and-a-half bookcases and three 5-drawer file cabinets. [http://www.dbicorporation.com/rohsbib.htm#pages]<br />
</blockquote><br />
<blockquote><br />
Based on my research, and helping clients develop RoHS-compliant electronic products, I believe that: If you buy a lead-free RoHS-compliant electronic device-- and if it works when you first turn it on-- it should be safe and fully-functional for at least one year. If you are lucky, it may last a couple of years longer... versus the 20+ years use that we can easily get out of many lead-based electronic products. [http://www.dbicorporation.com/rohsbib.htm#pages] <br />
</blockquote><br />
[http://www.rohsusa.com/]<br />
<br />
A huge problem with the RoHS laws is the sheer nitpicky nature of the regulations and the beaurocracy that enforces them. It doesn't matter if you reduce the lead content a thousand fold relative to a lead solder board, which would put it well within the 0.1% lead limit. The product is reduced to homogeneous parts each one of which must individually meet the regulations. One stray microscopic lead solder ball might be ok if it is absorbed into a joint where it is becomes part of a larger homogeneous component but not if it contaminates an inspection sticker or gets trapped in the flux between traces. Maybe widespread competent recycling of electronics is a better approach. Not shipping it off to other countries or using prison labor to disassemble it under unsafe and environmentally harmful ways; there are some horror stories of how electronics is recycled now.<br />
<br />
==== Mixing lead containing and lead free components ====<br />
Many lead-free components are compatible with lead solder processes. leadframe based components, such as QFPs, SOICs, and SOPs with gull wing leads, are generally compatible since the finish on the part leads contributes a small amount of material to the finished joint. However, components such as BGAs which come with lead-free solder balls are not compatible with lead processes. [http://www.st.com/stonline/products/literature/an/10791.pdf] Also, leadless parts are exposed to higher stresses and are more susceptible to any affect from mixed metallurgy. Check with each manufacturer as lead finishes may vary.<br />
<br />
[edit]<br />
<br />
=== Materials, Chemicals, and Processes used ===<br />
==== Etchants ====<br />
Ferric Chloride poured down the drain will eat pipes and copper is toxic. Although your sewage plant may not be happy about ferric chloride in the sewage (and it may be illegal) , they can probably at least deal with it better than many other chemicals since Ferric Chloride is used at sewage treatment plants to remove copper. <br />
Ferric Chloride etchant can be neutralized into iron oxide (rust), copper, and salt by using iron (nails, etc) to use up all the etchant and then add washing soda and evaporating and can then be landfilled. Considering the value and toxicity of copper, it would be nice to see this improved on so that the copper can be reclaimed.<br />
<br />
Another source [http://www.mgchemicals.com/techsupport/ferric_faq.html] <br />
suggests adding washing soda before pouring down the drain. Another source [http://www.anotherurl.com/library/pcb_production.htm] suggests baking soda.<br />
<br />
[http://www.jtbaker.com/msds/englishhtml/f1080.htm MSDS] <br />
<br />
Etching can be improved, and the lifetime of the etchant before it needs disposal, using citric acid [http://www.ganoksin.com/borisat/nenam/safe-etching.htm]<br />
==== PCB Substrates ====<br />
==== Etch Resists ====<br />
==== Solder ====<br />
See RoHS/lead free section above. Solder paste should be refrigerated (embodied energy) and has a limited lifetime. One problem with expired solder is absorbed water which can lead to spatter and voids in solder joints. What to do with expired solder paste? It should still be ok for manually tinning leads and large copper areas. It may be possible to add it to a wave solder bath using the same alloy.<br />
<br />
==== Flux ====<br />
==== Epoxies ====<br />
==== Solder Mask ====<br />
==== Silk screen ====<br />
==== Tape & Reel, JEDEC matrix trays, other component packaging ====<br />
JEDEC matrix trays can be reused or recycled. Resistors tend to come in paper (cardboard) tape, which can be recycled, plus a cover tape. <br />
Capacitors, transistors, and IC's often come in formed plastic tape with a plastic cover tape..<br />
<br />
==== poly bags ====<br />
==== Cleaning products ====<br />
==== Plating ====<br />
===== Tin Plating =====<br />
===== Gold Plating =====<br />
===== Nickel Plating =====<br />
===== Silver Plating =====<br />
<br />
===== Hot Air Solder Levelling =====<br />
Not technically a plating process, but many of the alternatives are. Contains Lead (see RoHS/lead free section).<br />
<br />
===== Solder Mask over Bare Copper (SMOBC) =====<br />
<br />
==== Copper ====<br />
Sulfur dioxide produced in making copper is equivalent to 1/4 the sulfur dioxide emisions of all industrial nations combined. 1kg of copper requires<br />
excavating 127kg of ore and 136kg of other rock and the equivalent of 275 liters of petoleum was consumed. [http://www.iied.org/mmsd/mmsd_pdfs/041_rabago.pdf] Copper is somewhat toxic. And it is a scarce and valuable resource. Copper prices are high enough that people steel copper wiring and pipes out of unoccupied buildings (destroying the buildings in the process).<br />
Copper can be recovered from PCB etchant by electrolysis. [http://www.p2pays.org/ref/10/09283.htm] It also saves on etchant replacement and disposal. They spent 55,000 English Pounds to set it up but it paid for itself in two years. This may be possible to do on a smaller scale. Copper used on printed circuit boards is usually produced by electrodepositing copper onto a rotating drum (Printed Circuits Handbook); this particular process, though often done by the panel manufacturer and not the PCB fab, appears to be compatible with reclaimed copper (no need to remelt it). It appears that electrodes used in the reclamation process can be transfered to the plating bath for panel plating, pattern plating, or making electrodeposited foil sheets, provided the baths are kept well filtered. In a double sided circuit board, most of the copper on the board is electroplated onto the board (starting with a thin foil), thus plating the holes.<br />
<br />
==== Aluminum ====<br />
==== Tantalum ====<br />
"Other concerns we have center on a material necessary for wireless technology, called Tantalum. Tantalum is a rare earth metal that is only found in a few places. Because of growing demand caused by the popularization of cell phone, laptop and wifi use, tantalum mining has become a lucrative business in areas that sometimes have delicate ecosystems and unbalanced economies. This led to wars, exploitation and environmental havoc in the Congo³. That situation has been mostly addressed through policing and international embargoes4, but that is just one example of how consumer electronics can be linked directly to environmental and social problems.5" [http://wiki.freegeek.org/index.php/Wifi_Use_Statement]<br />
<br />
=== PVC ===<br />
PVC is used as insulation for wires. Flexible Vinyl contains plasticizers which can be toxic and are banned in some countries. Hard Vinyl is safer. There are other plastics, such as LDPE, which do not require plasticizers for flexibility and materials such as silicone rubber which make superior<br />
insulation.<br />
<br />
==== Teflon ====<br />
Used as a PCB substrate, dialectric, wire insulation, and as a non-stick coating on cookware. Teflon wire releases nerve gas when burned. Teflon cookware (which may be used in the hot plate or toaster oven methods of reflow soldering) is alleged to release nerve gas fumes that will kill pet birds even at normal cooking temperatures.<br />
<br />
=== Silicone Rubber and other Silicones ===<br />
Silicon is an abundant natural resource. Silicone Rubber has a 50 year life span, which makes it good for durable goods. It is considered by some to be more environmentally benign than many other polymer resins due to its durability, low toxicity, manufacturing process, being chemically inert, and abundant raw materials. Another Silicone, Silicone gel, was vindicated as a cause of health problems associated with breast implants. Silicone rubber is one of the few materials considered safe enough for medical implants. It is an excellent high voltage insulator and withstands high temperatures. When used in contact with electrical circuits, peroxide curing vs. acetic acid (vinegar) curing silicone should be used due to the corrosive nature of acetic acid. Silicone caulk may be thinned to make it suitable for painting or dip coating, when the proper forms of the resin are not available, using Xylene (a hazardous material) or pourable silicones or other silicones without thixotropic additives may be used, though these are expensive in small quantities. Silicone rubber may be used as an adhesive (it must be cut to remove it). It may be used as a potting material. <br />
Silicone oil is used as a lubricant; purists prefer pure silicone lubricants (such as CRC 100% silicone) over products such as WD-40 which mix it with petroleum based oils; do not use it on a surface you intent to paint. Paint does not adhere to silicone rubber, either. "Paintable" silicone rubber caulk appears to lack the thixotropic additive and is thin enough to spread with a paint brush, though probably not thin enough for dipping or pouring.<br />
Liquid silicone may be used as a non-toxic solvent. Availible in electrically conductive varieties. Silicone is used to make flexible molds and hobby moldmaking suppliers are a source of small quantities of different types of silicone rubbers. Silicone rubber will withstand reflow soldering temperatures; it could be used to adhere components to a board before soldering, however it will not let go when you attempt to desolder the parts.<br />
[http://en.wikipedia.org/wiki/Silicone]<br />
<br />
=== Wood ===<br />
Can be used for breadboarding leaded components, enclosures, etc. Low embodied energy/CO2.<br />
<br />
==== Stencils ====<br />
==== Panel Plating vs Pattern Plating ====<br />
[http://www.thinktink.com/stack/volumes/volvi/copplate.htm]<br />
==== Chemical Etching vs Mechanical Etching ====<br />
=== Fumes ===<br />
==== Soldering (flux) ====<br />
==== Laser Cutting (stencils, engraving, via hole drilling) ====<br />
==== Chemical Etching ====<br />
<br />
<br />
=== Enclosures ===<br />
=== Recycling ===<br />
=== Electronic Equipment ===<br />
=== ReHDPE ===<br />
Recycled polyethylene lumber (ReHDPE) (Not the kind with wood fillers), seems to machine well, is cheaper than delrin and other plastics.<br />
Wood fillers in the sort found at Lowes Hardware stores may absorb water. At least I think the sample (from teksupply) I saw was ReHDPE; they don't say but similar products seem to be ReHDPE. There may be voids. 2x4 material (many sizes available) is about $3 per foot. <br />
[http://www.teksupply.com/farm/supplies/prod;10053;ts1_building_materials;pg104577]<br />
[http://plasticlumberyard.com/plasticlumber.htm]<br />
[http://www.epsplasticlumber.com/lumberpricing.shtml]<br />
May be useful for electronics enclosures and other plastic parts. HDPE has a lower embodied energy than most plastics.<br />
<br />
=== Obsolescence ===<br />
The enviromental impacts of electronic devices are greatly exacerbated by obsolescence (or worse planned obsolescence), limited lifetimes, and<br />
poor repairability (including lack of technical documentation), and by often being cheaper to replace than repair.<br />
<br />
=== Single Function vs. Multifunction devices ===<br />
Devices which perform many functions, and thus replace many devices, may reduce environmental impact. Do you need a computer, TV, stereo, CD player, DVD player, game console, DVR, VHS/DVD recorder or can you use one device (the computer) for all those functions? Do you need separate PDA, GPS receiver, digital camera, camcorder, cell phone, DECT cordless phone, voice recorder, MP3 player, and ebook reader or can those be combined into a single portable device that functions better than the individual devices?<br />
<br />
=== Components ===<br />
==== Semiconductors ====<br />
The embodied energy in a Monocrystalline solar panel, 230Kg CO2/square meter might be a some indication, though that is for the module and not just the cell and it is based on a square meter rather than by weight as most things are, but it seems rather high (they do, however, repay that energy in about 18 months to 7 years). 60% of the embodied energy is in the silicon wafers. Pound for pound, semiconductors are probably an environmental nightmare, though very little material is actually used in the final product. Unfortunately, a 2g chip (32MB DRAM) requires 1.7kg of materials (72g of chemcials, 1600 grams of fossil fuels, and 700 grams of elemental gas) and uses 32000g (32 liters) of water. A lot of this energy is too heat the materials to 1000 degrees Celsius (how about a large concentrating solar collector to help out here?).<br />
<br />
==== Resistors ====<br />
The process of making resistors generally involves baking (embodied energy/CO2); probably twice, once to make the ceramic subtrate and once for the resistive coating; however, this is probably not a major concern as ceramics have a fairly low embodied CO2.<br />
<br />
==== Computers ====<br />
Computers have a very large environmental impact and may be indicative of the environmental impact of electronic devices in general.<br />
For a computer, the emboddied energy is about twice what it will consume over a three year life span. <br />
<br />
For a desktop computer (not counting monitor, etc): 6050g steel, 670g copper, 440g Aluminum, 650g plastics, 1040g Epoxy, 47g Tin, 27g Lead, 18g Nickel, 1.4g Silver, 0.35g gold, and 96 grams misc for a total of 9040g. A 17" CRT monitor: 6817g Glass, 2830g Steel, 700g Copper, 480g Ferrite, 240g Aluminum, 3530g Plastics, 140g Epoxy, 20g Tin, 593g Lead, 1.24g Silver, 0.31g Gold, and 98g of other materials. "Other" is probably largely the fiberglass in the PCBs and the silicon wafers.<br />
[http://web.mit.edu/ebm/www/Publications/Gutowski%20Mech%20Eng%20Handbook%20Ch%20Dec%206%2020041.pdf]<br />
<br />
==== Capacitors ====<br />
<br />
[[Category:Techniques]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Techniques&diff=15223Techniques2008-04-03T00:45:08Z<p>Mzoran: /* USB Communications from a PC to Microcontrollers */</p>
<hr />
<div>racliacelg<br />
== Printed circuit board design/fabrication ==<br />
=== Overview ===<br />
* [How to make really really good homemade PCBs http://www.electricstuff.co.uk/pcbs.html]<br />
=== Software Design ===<br />
see Software design tools below, this should be a link, but I do not know how to do it yet, someone want to fix it for me?<br />
=== Manual Design ===<br />
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.<br />
<br />
=== Homebrew fabrication ===<br />
* [[Toner Transfer]] -- This method involves laser printing your PCB design onto paper, then transferring toner onto copper-clad board.<br />
* [[Photoetching]] -- Exposure of PCB designs onto photosensitized copper-clad board.<br />
* [[Chemical Etchants]]<br />
<br />
=== Commercial PCB fabrication ===<br />
* [[Submitting PCB's for fabrication]] -- Common processes for submitting PCB's for fabrication.<br />
* [[PCB Manufacturers]]<br />
<br />
== Circuit construction (Prototyping - Other than custom PCB) ==<br />
<br />
* [[Solderless protoboard]] ([http://en.wikipedia.org/wiki/Breadboard Wikipedia:Breadboard]) ([http://www.best-microcontroller-projects.com/prototyping.html a simple example with a small microcontroller])<br />
* [[Point-to-point]] ([http://en.wikipedia.org/wiki/Point-to-point_construction Wikipedia:Point-to-point construction])<br />
* [[Wirewrap]] ([http://en.wikipedia.org/wiki/Wire_wrap Wikipedia:Wire Wrap])<br />
* [[Dead bug style]] -- and a similar method, [http://ciphersbyritter.com/RADELECT/BREADBD/BREADBD.HTM "A Modern Breadboarding Technology: Insulating Pads Soldered to a Ground Plane"]<br />
* [[Manhattan style]]<br />
<br />
[[http://www.techlib.com/electronics/construction.html "Construction Ideas"]] has nice photographs of the above circuit construction techniques.<br />
<br />
* [[Stripboard]] (Veroboard): ([http://en.wikipedia.org/wiki/Stripboard Wikipedia:stripboard].)<br />
<br />
== Soldering techniques ==<br />
<br />
* [[Basic soldering]] -- How to use a soldering iron.<br />
* Surface Mount<br />
** [[Skillet reflow]]<br />
** [[Toaster oven reflow]]<br />
** [[Hot air soldering]]<br />
* [[Rework]] -- Techniques for fixing mistakes, or for adding new features to a board that ''almost'' does what you want.<br />
** [http://workmanship.nasa.gov/lib/insp/2%20books/links/sections/302_jumper%20wires.html official NASA recommendations for adding discrete wiring ("jumper wires") to PCBs]<br />
<br />
(Have you seen this [http://www.hackaday.com/2007/06/04/cnc-solder-paste-pick-n-place/ CNC solder paste/pick n place] ?)<br />
<br />
== [[Hardware Tools]] ==<br />
A directory to tools that you may find useful.<br />
<br />
== Software design tools ==<br />
<br />
Some people still build circuits without ever using any software tools.<br />
For complicated circuits, software design tools can save a lot of time.<br />
<br />
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.<br />
(Is there another place for listing stand-alone tools such as a [[switching regulator|switching power supply]] "wizard" and a RF analysis tool?)<br />
<br />
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.<br />
<br />
In no particular order:<br />
<!-- Please use a valid license ie, BSD, GPL, Crippleware, Nagware, Shareware, Payware etc.. And specify platform. There's usually a lot of free win32 crippleware without sources makeing you victim of the design file hostage scenario. Also some packages are sub-packages to others, thus maybe no needing an entry of their own. --><br />
{| class="wikitable"<br />
|- <br />
! Name !! Platform !! License !! AutoRouter !! Comments<br />
|-<br />
| [http://www.liquidpcb.org/ Liquid PCB] || || GPL || || [http://liquidpcb.wiki.sourceforge.net/ 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.<br />
|-<br />
|[http://geda.seul.org/ [[gEDA]]] || Linux, *BSD || Free, OSS || || [http://geda.seul.org/wiki/ gEDA wiki] includes schematic and [http://sourceforge.net/projects/pcb/ PCB] for makeing [[gerber|gerbers]] etc...<br />
|-<br />
|[http://mccad.com/ McCAD EDS Lite] || || Free demo max 200 pin || || Free demo version available for download, 200 pin limit<br />
|-<br />
|[http://applefritter.com/replica McCAD EDS SE] || || "free"? || || Free 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> <br />
|-<br />
|[http://www.freepcb.com/ FreePCB] || Win32 || Free, OSS? || || PCB Design Software<br />
|-<br />
|[http://tinycad.sourceforge.net/ TinyCAD] || Win32 || ? || || Schematic Drawing Software <br />
|-<br />
|[http://kicad.sourceforge.net/ KiCad] || BSD, Linux, MacOSX, Win32 || GPL || || http://www.lis.inpg.fr/realise_au_lis/kicad/ EDA suite<br />
|-<br />
|[http://expresspcb.com/ 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.<br />
|-<br />
|[http://altium.com/ Protel DXP] || || || || [http://techref.massmind.org/techref/app/protel.htm independent Protel users FAQ] <br />
|-<br />
|[http://cadsoftusa.com/ 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 ) <br>http://cadsoft.de/ <br>[http://www.sparkfun.com/tutorial/PCB/eagle-output-tutorial.htm Eagle tutorial from Sparkfun] <br>[http://www.makezine.com/blog/archive/2006/03/how_to_make_a_custom_library_p.html Eagle tutorial (makezine)] <br />
|-<br />
|[http://diptrace.com/ DipTrace] || || Crippleware || || 250-pin Freeware or Purchase more advanced versions<br />
|-<br />
|[http://winqcad.com/ WinQcad] || || Crippleware || || Demo with max 499 pins available for download <br />
|-<br />
|[http://www.hutson.co.nz/ Rimu Schematic and Rimu PCB] || Win32 || Payware || || Schematic & PCB design for MS-Windows<br />
|-<br />
|[http://mentala.com/ SuperCAD and SuperPCB] || Win32 || || || Mental Automation schematic & PCB for MS-Windows<br />
|-<br />
|[http://www.autotraxeda.com/ 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.<br />
|-<br />
|[http://www.holophase.com/dleval.htm holophase.com/dleval] || Win32 || Crippleware || || Circad's DOS version is free for non-commercial use.<br />
|-<br />
|[http://www.geda.seul.org/ geda.seul.org] || BSD, Linux, MacOSX, Win32 || GPL || Yes || xNIX Electronic Design Automation project has Schematic capture with PCB CAD.<br />
|-<br />
|[http://www.vutrax.co.uk/pricing.htm vutrax.co.uk/pricing] || Win32 || || || Vutrax for MS-Windows. Free for under 256 component pins.<br />
|-<br />
|[http://www.interactiv.com interactiv.com] || || || || Electronic Workbench, 400 USD for 500 pins. Includes schematic capture and simulation, virtual instruments and PCB layout. Said to be stable.<br />
|-<br />
|[http://pcb.sourceforge.net Harry Eaton's PCB] || || GPL? || Yes || 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.<br />
|-<br />
|[http://www.labcenter.co.uk/ 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!).<br />
|-<br />
|[http://www.ivex.com/ ivex.com] || || Payware || || Winboard PCB Layout, now [http://www.calcentron.com/Pages/NTEHomePage/ivex_cad_software.htm calcentron.com].<br />
|-<br />
|[http://www.illuminated.com.au/ illuminated.com.au] || Linux, Win32, DOS<!-- Claimed --> || || || Draftcad, Schematic Capture and PCB Design<br />
|-<br />
|[http://www.winqcad.com/ winqcad.com] || Win32, Linux+Wine || || || MicroCad<br />
|}<br />
<br />
(Some of this information in this table came from the [http://techref.massmind.org/techref/pcbcads.htm list of software design tools at the Massmind]).<br />
<br />
Is there any way to objectively compare these tools?<br />
How well did they do at the<br />
[http://www.pcbwest.com/topgun/ PCB Top Gun contest] ?<br />
<br />
=== Checklist for "The flow of PCB fabrication/PCB" using Software Design Tool===<br />
*Format and shape of PCB are conformed./<br />
*Via size and location are conformed./<br />
*Fixed location item are placed on suitable place./<br />
*A one-first PCB silk layout is made./1:1çPCB<br />
*All item get enough clearance between them./é°æ¯å¦éæ¼ç·è²¼<br />
*All vias get enough size to install them components./æ±<br />
*Make sure no worng footprint is created./<br />
*PCB is drew./PCB<br />
*Netlist is ran and got a no error result./å·è¡netlistæ令ç´ç¡é¯èª¤<br />
*DRC is ran and got a no error result./DRC<br />
*Location of item is reasonable./<br />
*All items are put on to a hard copy of PCB./PCB<br />
*Overall is checked./<br />
<br />
And then the Gerbers are sent to a [[PCB Manufacturers]].<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontrollers that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
Advantages:<br />
* Fast<br />
* Plug and Play<br />
* No level translators and small connectors<br />
* Works with computers that don't have serial ports<br />
<br />
Disadvantages:<br />
* Complex Firmware and PC software<br />
* Requires OS specific device drivers and installers<br />
* PC application software is more OS specific<br />
* Short cable lengths<br />
<br />
== Embedded System Programming and Testing ==<br />
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.<br />
<br />
* Many systems use [[JTAG]] for programming and testing. (Such as [http://en.wikibooks.org/wiki/Atmel_AVR Atmel AVR embedded systems]]).<br />
* Other systems use some other kind of in-circuit programming.<br />
* Some people use [http://en.wikibooks.org/wiki/Embedded_Systems/Bootloaders_and_Bootsectors bootloaders] to make re-programming a little quicker.<br />
<br />
-- not sure that this next one is not misplaced ? --<br />
<br />
* Many people use an [[oscilloscope]] ([[o'scope]]). Keith has made a list of [http://www.techtravels.org/amiga/amigablog/?p=167 "PC USB logic analyzers that cost under $1000."], some of which can be used as an o'scope. Should we make a table dedicated to low-cost o'scopes here?<br />
<br />
Humans writing a program almost always do it in a language. Here is a section that discusses some of these languages: [[Programming Languages]]<br />
<br />
== Enclosure ==<br />
<br />
* The Earth Signal should short to whole metal Case<br />
* Digital/Analog GND should separate to this Earth Signal, and should connect a Y-cap. to filter the noise between them.<br />
* Attention: do not place near between Earth Signal and Digital/Analog GND, otherwise some spark come out, and affect your whole system.<br />
<br />
== Further Reading ==<br />
<br />
* [http://airborn.com.au/method/ "Electronics Design" from Airborn] gives an overview of the complete process: specification, (schematic) circuit design, layout, prototypes, firmware, pilot run, production.<br />
* 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/<br />
* [http://www.national.com/rap/Story/0,1562,18,00.html "What's All This Ground Noise Stuff, Anyhow?"] by Robert A. Pease<br />
* [http://www.elecdesign.com/Articles/ArticleID/6150/6150.html "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.<br />
* [http://groups.google.to/group/sci.electronics.design/browse_thread/thread/889153f0e77b1718/fcaac532bb6d4b12?fwc=1 sci.electronics.design: EDN: Measuring Nanoamperes] discusses some ways to measure extremely small currents.<br />
* [http://groups.yahoo.com/group/Homebrew_PCBs yahoo.com/group/Homebrew_PCBs]<br />
* [http://www.electricstuff.co.uk/pcbs.html electricstuff.co.uk/pcbs]<br />
* [http://www.fullnet.com/~tomg/gooteepc.htm fullnet.com/~tomg/gooteepc]<br />
* The notion that through-hole soldering is easier than soldering surface-mount devices is, and always has been, [http://archives.seul.org/geda/user/Aug-2004/msg00175.html a myth.]<br />
<br />
== Environmental Issues ==<br />
The metals, chemicals, and polymers used in producing electronic circuits, as well as the energy consumed in producing them and the extraction (mining) processes can have significant environmental impact. The purpose of this section is to collect information that can be used to assess and/or<br />
mitigate the environmental impact. It may also suggest some projects which can be environmentally beneficial. [Note: techniques was the closest<br />
major section to incorporate this into but it might make more sens to promote this section to a fifth major section]<br />
<br />
=== Energy Use, Global Warming Gasses ===<br />
<br />
==== Embodied Energy/CO2 ====<br />
With the climate change crisis and peak oil, energy consumption becomes an important issue. Embodied CO2 includes the effects of emboddied<br />
energy plus other CO2 sources. An good source for information on how much energy is consumed and CO2 produced in making a variety of materials is the ICE [http://www.bath.ac.uk/mech-eng/sert/embodied/] database. You have to request a free copy be sent via email. The production of<br />
metals and plastics releases many times their weight in greenhouse gases. <br />
<br />
==== Energy consumption by Electronic Devices ====<br />
Standby modes, switching supplies, etc.<br />
<br />
==== Transportation ====<br />
Raw materials, electronic components, bare PCBs, finished products, and end-of-life products being recycled get transported very long distances.<br />
<br />
==== Electronics as energy saving devices ====<br />
Some electronics are used to save energy. Fluorescent ballasts, Photovoltaics, power inverters, charge controllers, some motor controls, solar trackers, LED lighting, setback thermostats, motion sensor controls and timers, blind controllers, etc. In some cases, computers are used for<br />
telecommuting.<br />
<br />
=== RoHS/lead-free ===<br />
The transition to RoHS/lead-free processes has cost the industry a large amount of money and creates problems for hobbyists. When you consider the environmental impact of lead free solders (for example, silver mining is highly polluting), and the greater amount of non-renewable resources used, and the shorter lifespan of the electronic circuits, the whole lead free movement may be yet another political boondoggle.<br />
[http://www.sigcon.com/Pubs/news/10_01.htm] <br />
<br />
John Barnes, electronics text book author, and author of the [http://www.rohsusa.com/ Pushback] site:<br />
<br />
<blockquote><br />
It is widely accepted in the Engineering community that the recent ban of lead in solders for use in electronics in Europe is not only erroneous, but will actually lead to a worsening situation on the environment with the replacements being in general use from July â06 having a GREATER environmental impact. [http://www.rohsusa.com/]<br />
</blockquote><br />
<blockquote><br />
To date I have collected over 230 books and well over 11,100 other documents on these and closely-related subjects, going clear back to 1851. My collection now fills one-and-a-half bookcases and three 5-drawer file cabinets. [http://www.dbicorporation.com/rohsbib.htm#pages]<br />
</blockquote><br />
<blockquote><br />
Based on my research, and helping clients develop RoHS-compliant electronic products, I believe that: If you buy a lead-free RoHS-compliant electronic device-- and if it works when you first turn it on-- it should be safe and fully-functional for at least one year. If you are lucky, it may last a couple of years longer... versus the 20+ years use that we can easily get out of many lead-based electronic products. [http://www.dbicorporation.com/rohsbib.htm#pages] <br />
</blockquote><br />
[http://www.rohsusa.com/]<br />
<br />
A huge problem with the RoHS laws is the sheer nitpicky nature of the regulations and the beaurocracy that enforces them. It doesn't matter if you reduce the lead content a thousand fold relative to a lead solder board, which would put it well within the 0.1% lead limit. The product is reduced to homogeneous parts each one of which must individually meet the regulations. One stray microscopic lead solder ball might be ok if it is absorbed into a joint where it is becomes part of a larger homogeneous component but not if it contaminates an inspection sticker or gets trapped in the flux between traces. Maybe widespread competent recycling of electronics is a better approach. Not shipping it off to other countries or using prison labor to disassemble it under unsafe and environmentally harmful ways; there are some horror stories of how electronics is recycled now.<br />
<br />
==== Mixing lead containing and lead free components ====<br />
Many lead-free components are compatible with lead solder processes. leadframe based components, such as QFPs, SOICs, and SOPs with gull wing leads, are generally compatible since the finish on the part leads contributes a small amount of material to the finished joint. However, components such as BGAs which come with lead-free solder balls are not compatible with lead processes. [http://www.st.com/stonline/products/literature/an/10791.pdf] Also, leadless parts are exposed to higher stresses and are more susceptible to any affect from mixed metallurgy. Check with each manufacturer as lead finishes may vary.<br />
<br />
[edit]<br />
<br />
=== Materials, Chemicals, and Processes used ===<br />
==== Etchants ====<br />
Ferric Chloride poured down the drain will eat pipes and copper is toxic. Although your sewage plant may not be happy about ferric chloride in the sewage (and it may be illegal) , they can probably at least deal with it better than many other chemicals since Ferric Chloride is used at sewage treatment plants to remove copper. <br />
Ferric Chloride etchant can be neutralized into iron oxide (rust), copper, and salt by using iron (nails, etc) to use up all the etchant and then add washing soda and evaporating and can then be landfilled. Considering the value and toxicity of copper, it would be nice to see this improved on so that the copper can be reclaimed.<br />
<br />
Another source [http://www.mgchemicals.com/techsupport/ferric_faq.html] <br />
suggests adding washing soda before pouring down the drain. Another source [http://www.anotherurl.com/library/pcb_production.htm] suggests baking soda.<br />
<br />
[http://www.jtbaker.com/msds/englishhtml/f1080.htm MSDS] <br />
<br />
Etching can be improved, and the lifetime of the etchant before it needs disposal, using citric acid [http://www.ganoksin.com/borisat/nenam/safe-etching.htm]<br />
==== PCB Substrates ====<br />
==== Etch Resists ====<br />
==== Solder ====<br />
See RoHS/lead free section above. Solder paste should be refrigerated (embodied energy) and has a limited lifetime. One problem with expired solder is absorbed water which can lead to spatter and voids in solder joints. What to do with expired solder paste? It should still be ok for manually tinning leads and large copper areas. It may be possible to add it to a wave solder bath using the same alloy.<br />
<br />
==== Flux ====<br />
==== Epoxies ====<br />
==== Solder Mask ====<br />
==== Silk screen ====<br />
==== Tape & Reel, JEDEC matrix trays, other component packaging ====<br />
JEDEC matrix trays can be reused or recycled. Resistors tend to come in paper (cardboard) tape, which can be recycled, plus a cover tape. <br />
Capacitors, transistors, and IC's often come in formed plastic tape with a plastic cover tape..<br />
<br />
==== poly bags ====<br />
==== Cleaning products ====<br />
==== Plating ====<br />
===== Tin Plating =====<br />
===== Gold Plating =====<br />
===== Nickel Plating =====<br />
===== Silver Plating =====<br />
<br />
===== Hot Air Solder Levelling =====<br />
Not technically a plating process, but many of the alternatives are. Contains Lead (see RoHS/lead free section).<br />
<br />
===== Solder Mask over Bare Copper (SMOBC) =====<br />
<br />
==== Copper ====<br />
Sulfur dioxide produced in making copper is equivalent to 1/4 the sulfur dioxide emisions of all industrial nations combined. 1kg of copper requires<br />
excavating 127kg of ore and 136kg of other rock and the equivalent of 275 liters of petoleum was consumed. [http://www.iied.org/mmsd/mmsd_pdfs/041_rabago.pdf] Copper is somewhat toxic. And it is a scarce and valuable resource. Copper prices are high enough that people steel copper wiring and pipes out of unoccupied buildings (destroying the buildings in the process).<br />
Copper can be recovered from PCB etchant by electrolysis. [http://www.p2pays.org/ref/10/09283.htm] It also saves on etchant replacement and disposal. They spent 55,000 English Pounds to set it up but it paid for itself in two years. This may be possible to do on a smaller scale. Copper used on printed circuit boards is usually produced by electrodepositing copper onto a rotating drum (Printed Circuits Handbook); this particular process, though often done by the panel manufacturer and not the PCB fab, appears to be compatible with reclaimed copper (no need to remelt it). It appears that electrodes used in the reclamation process can be transfered to the plating bath for panel plating, pattern plating, or making electrodeposited foil sheets, provided the baths are kept well filtered. In a double sided circuit board, most of the copper on the board is electroplated onto the board (starting with a thin foil), thus plating the holes.<br />
<br />
==== Aluminum ====<br />
==== Tantalum ====<br />
"Other concerns we have center on a material necessary for wireless technology, called Tantalum. Tantalum is a rare earth metal that is only found in a few places. Because of growing demand caused by the popularization of cell phone, laptop and wifi use, tantalum mining has become a lucrative business in areas that sometimes have delicate ecosystems and unbalanced economies. This led to wars, exploitation and environmental havoc in the Congo³. That situation has been mostly addressed through policing and international embargoes4, but that is just one example of how consumer electronics can be linked directly to environmental and social problems.5" [http://wiki.freegeek.org/index.php/Wifi_Use_Statement]<br />
<br />
=== PVC ===<br />
PVC is used as insulation for wires. Flexible Vinyl contains plasticizers which can be toxic and are banned in some countries. Hard Vinyl is safer. There are other plastics, such as LDPE, which do not require plasticizers for flexibility and materials such as silicone rubber which make superior<br />
insulation.<br />
<br />
==== Teflon ====<br />
Used as a PCB substrate, dialectric, wire insulation, and as a non-stick coating on cookware. Teflon wire releases nerve gas when burned. Teflon cookware (which may be used in the hot plate or toaster oven methods of reflow soldering) is alleged to release nerve gas fumes that will kill pet birds even at normal cooking temperatures.<br />
<br />
=== Silicone Rubber and other Silicones ===<br />
Silicon is an abundant natural resource. Silicone Rubber has a 50 year life span, which makes it good for durable goods. It is considered by some to be more environmentally benign than many other polymer resins due to its durability, low toxicity, manufacturing process, being chemically inert, and abundant raw materials. Another Silicone, Silicone gel, was vindicated as a cause of health problems associated with breast implants. Silicone rubber is one of the few materials considered safe enough for medical implants. It is an excellent high voltage insulator and withstands high temperatures. When used in contact with electrical circuits, peroxide curing vs. acetic acid (vinegar) curing silicone should be used due to the corrosive nature of acetic acid. Silicone caulk may be thinned to make it suitable for painting or dip coating, when the proper forms of the resin are not available, using Xylene (a hazardous material) or pourable silicones or other silicones without thixotropic additives may be used, though these are expensive in small quantities. Silicone rubber may be used as an adhesive (it must be cut to remove it). It may be used as a potting material. <br />
Silicone oil is used as a lubricant; purists prefer pure silicone lubricants (such as CRC 100% silicone) over products such as WD-40 which mix it with petroleum based oils; do not use it on a surface you intent to paint. Paint does not adhere to silicone rubber, either. "Paintable" silicone rubber caulk appears to lack the thixotropic additive and is thin enough to spread with a paint brush, though probably not thin enough for dipping or pouring.<br />
Liquid silicone may be used as a non-toxic solvent. Availible in electrically conductive varieties. Silicone is used to make flexible molds and hobby moldmaking suppliers are a source of small quantities of different types of silicone rubbers. Silicone rubber will withstand reflow soldering temperatures; it could be used to adhere components to a board before soldering, however it will not let go when you attempt to desolder the parts.<br />
[http://en.wikipedia.org/wiki/Silicone]<br />
<br />
=== Wood ===<br />
Can be used for breadboarding leaded components, enclosures, etc. Low embodied energy/CO2.<br />
<br />
==== Stencils ====<br />
==== Panel Plating vs Pattern Plating ====<br />
[http://www.thinktink.com/stack/volumes/volvi/copplate.htm]<br />
==== Chemical Etching vs Mechanical Etching ====<br />
=== Fumes ===<br />
==== Soldering (flux) ====<br />
==== Laser Cutting (stencils, engraving, via hole drilling) ====<br />
==== Chemical Etching ====<br />
<br />
<br />
=== Enclosures ===<br />
=== Recycling ===<br />
=== Electronic Equipment ===<br />
=== ReHDPE ===<br />
Recycled polyethylene lumber (ReHDPE) (Not the kind with wood fillers), seems to machine well, is cheaper than delrin and other plastics.<br />
Wood fillers in the sort found at Lowes Hardware stores may absorb water. At least I think the sample (from teksupply) I saw was ReHDPE; they don't say but similar products seem to be ReHDPE. There may be voids. 2x4 material (many sizes available) is about $3 per foot. <br />
[http://www.teksupply.com/farm/supplies/prod;10053;ts1_building_materials;pg104577]<br />
[http://plasticlumberyard.com/plasticlumber.htm]<br />
[http://www.epsplasticlumber.com/lumberpricing.shtml]<br />
May be useful for electronics enclosures and other plastic parts. HDPE has a lower embodied energy than most plastics.<br />
<br />
=== Obsolescence ===<br />
The enviromental impacts of electronic devices are greatly exacerbated by obsolescence (or worse planned obsolescence), limited lifetimes, and<br />
poor repairability (including lack of technical documentation), and by often being cheaper to replace than repair.<br />
<br />
=== Single Function vs. Multifunction devices ===<br />
Devices which perform many functions, and thus replace many devices, may reduce environmental impact. Do you need a computer, TV, stereo, CD player, DVD player, game console, DVR, VHS/DVD recorder or can you use one device (the computer) for all those functions? Do you need separate PDA, GPS receiver, digital camera, camcorder, cell phone, DECT cordless phone, voice recorder, MP3 player, and ebook reader or can those be combined into a single portable device that functions better than the individual devices?<br />
<br />
=== Components ===<br />
==== Semiconductors ====<br />
The embodied energy in a Monocrystalline solar panel, 230Kg CO2/square meter might be a some indication, though that is for the module and not just the cell and it is based on a square meter rather than by weight as most things are, but it seems rather high (they do, however, repay that energy in about 18 months to 7 years). 60% of the embodied energy is in the silicon wafers. Pound for pound, semiconductors are probably an environmental nightmare, though very little material is actually used in the final product. Unfortunately, a 2g chip (32MB DRAM) requires 1.7kg of materials (72g of chemcials, 1600 grams of fossil fuels, and 700 grams of elemental gas) and uses 32000g (32 liters) of water. A lot of this energy is too heat the materials to 1000 degrees Celsius (how about a large concentrating solar collector to help out here?).<br />
<br />
==== Resistors ====<br />
The process of making resistors generally involves baking (embodied energy/CO2); probably twice, once to make the ceramic subtrate and once for the resistive coating; however, this is probably not a major concern as ceramics have a fairly low embodied CO2.<br />
<br />
==== Computers ====<br />
Computers have a very large environmental impact and may be indicative of the environmental impact of electronic devices in general.<br />
For a computer, the emboddied energy is about twice what it will consume over a three year life span. <br />
<br />
For a desktop computer (not counting monitor, etc): 6050g steel, 670g copper, 440g Aluminum, 650g plastics, 1040g Epoxy, 47g Tin, 27g Lead, 18g Nickel, 1.4g Silver, 0.35g gold, and 96 grams misc for a total of 9040g. A 17" CRT monitor: 6817g Glass, 2830g Steel, 700g Copper, 480g Ferrite, 240g Aluminum, 3530g Plastics, 140g Epoxy, 20g Tin, 593g Lead, 1.24g Silver, 0.31g Gold, and 98g of other materials. "Other" is probably largely the fiberglass in the PCBs and the silicon wafers.<br />
[http://web.mit.edu/ebm/www/Publications/Gutowski%20Mech%20Eng%20Handbook%20Ch%20Dec%206%2020041.pdf]<br />
<br />
==== Capacitors ====<br />
<br />
[[Category:Techniques]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Techniques&diff=15222Techniques2008-04-03T00:39:05Z<p>Mzoran: USB Communications from a PC to Microcontrollers</p>
<hr />
<div>racliacelg<br />
== Printed circuit board design/fabrication ==<br />
=== Overview ===<br />
* [How to make really really good homemade PCBs http://www.electricstuff.co.uk/pcbs.html]<br />
=== Software Design ===<br />
see Software design tools below, this should be a link, but I do not know how to do it yet, someone want to fix it for me?<br />
=== Manual Design ===<br />
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.<br />
<br />
=== Homebrew fabrication ===<br />
* [[Toner Transfer]] -- This method involves laser printing your PCB design onto paper, then transferring toner onto copper-clad board.<br />
* [[Photoetching]] -- Exposure of PCB designs onto photosensitized copper-clad board.<br />
* [[Chemical Etchants]]<br />
<br />
=== Commercial PCB fabrication ===<br />
* [[Submitting PCB's for fabrication]] -- Common processes for submitting PCB's for fabrication.<br />
* [[PCB Manufacturers]]<br />
<br />
== Circuit construction (Prototyping - Other than custom PCB) ==<br />
<br />
* [[Solderless protoboard]] ([http://en.wikipedia.org/wiki/Breadboard Wikipedia:Breadboard]) ([http://www.best-microcontroller-projects.com/prototyping.html a simple example with a small microcontroller])<br />
* [[Point-to-point]] ([http://en.wikipedia.org/wiki/Point-to-point_construction Wikipedia:Point-to-point construction])<br />
* [[Wirewrap]] ([http://en.wikipedia.org/wiki/Wire_wrap Wikipedia:Wire Wrap])<br />
* [[Dead bug style]] -- and a similar method, [http://ciphersbyritter.com/RADELECT/BREADBD/BREADBD.HTM "A Modern Breadboarding Technology: Insulating Pads Soldered to a Ground Plane"]<br />
* [[Manhattan style]]<br />
<br />
[[http://www.techlib.com/electronics/construction.html "Construction Ideas"]] has nice photographs of the above circuit construction techniques.<br />
<br />
* [[Stripboard]] (Veroboard): ([http://en.wikipedia.org/wiki/Stripboard Wikipedia:stripboard].)<br />
<br />
== Soldering techniques ==<br />
<br />
* [[Basic soldering]] -- How to use a soldering iron.<br />
* Surface Mount<br />
** [[Skillet reflow]]<br />
** [[Toaster oven reflow]]<br />
** [[Hot air soldering]]<br />
* [[Rework]] -- Techniques for fixing mistakes, or for adding new features to a board that ''almost'' does what you want.<br />
** [http://workmanship.nasa.gov/lib/insp/2%20books/links/sections/302_jumper%20wires.html official NASA recommendations for adding discrete wiring ("jumper wires") to PCBs]<br />
<br />
(Have you seen this [http://www.hackaday.com/2007/06/04/cnc-solder-paste-pick-n-place/ CNC solder paste/pick n place] ?)<br />
<br />
== [[Hardware Tools]] ==<br />
A directory to tools that you may find useful.<br />
<br />
== Software design tools ==<br />
<br />
Some people still build circuits without ever using any software tools.<br />
For complicated circuits, software design tools can save a lot of time.<br />
<br />
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.<br />
(Is there another place for listing stand-alone tools such as a [[switching regulator|switching power supply]] "wizard" and a RF analysis tool?)<br />
<br />
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.<br />
<br />
In no particular order:<br />
<!-- Please use a valid license ie, BSD, GPL, Crippleware, Nagware, Shareware, Payware etc.. And specify platform. There's usually a lot of free win32 crippleware without sources makeing you victim of the design file hostage scenario. Also some packages are sub-packages to others, thus maybe no needing an entry of their own. --><br />
{| class="wikitable"<br />
|- <br />
! Name !! Platform !! License !! AutoRouter !! Comments<br />
|-<br />
| [http://www.liquidpcb.org/ Liquid PCB] || || GPL || || [http://liquidpcb.wiki.sourceforge.net/ 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.<br />
|-<br />
|[http://geda.seul.org/ [[gEDA]]] || Linux, *BSD || Free, OSS || || [http://geda.seul.org/wiki/ gEDA wiki] includes schematic and [http://sourceforge.net/projects/pcb/ PCB] for makeing [[gerber|gerbers]] etc...<br />
|-<br />
|[http://mccad.com/ McCAD EDS Lite] || || Free demo max 200 pin || || Free demo version available for download, 200 pin limit<br />
|-<br />
|[http://applefritter.com/replica McCAD EDS SE] || || "free"? || || Free 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> <br />
|-<br />
|[http://www.freepcb.com/ FreePCB] || Win32 || Free, OSS? || || PCB Design Software<br />
|-<br />
|[http://tinycad.sourceforge.net/ TinyCAD] || Win32 || ? || || Schematic Drawing Software <br />
|-<br />
|[http://kicad.sourceforge.net/ KiCad] || BSD, Linux, MacOSX, Win32 || GPL || || http://www.lis.inpg.fr/realise_au_lis/kicad/ EDA suite<br />
|-<br />
|[http://expresspcb.com/ 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.<br />
|-<br />
|[http://altium.com/ Protel DXP] || || || || [http://techref.massmind.org/techref/app/protel.htm independent Protel users FAQ] <br />
|-<br />
|[http://cadsoftusa.com/ 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 ) <br>http://cadsoft.de/ <br>[http://www.sparkfun.com/tutorial/PCB/eagle-output-tutorial.htm Eagle tutorial from Sparkfun] <br>[http://www.makezine.com/blog/archive/2006/03/how_to_make_a_custom_library_p.html Eagle tutorial (makezine)] <br />
|-<br />
|[http://diptrace.com/ DipTrace] || || Crippleware || || 250-pin Freeware or Purchase more advanced versions<br />
|-<br />
|[http://winqcad.com/ WinQcad] || || Crippleware || || Demo with max 499 pins available for download <br />
|-<br />
|[http://www.hutson.co.nz/ Rimu Schematic and Rimu PCB] || Win32 || Payware || || Schematic & PCB design for MS-Windows<br />
|-<br />
|[http://mentala.com/ SuperCAD and SuperPCB] || Win32 || || || Mental Automation schematic & PCB for MS-Windows<br />
|-<br />
|[http://www.autotraxeda.com/ 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.<br />
|-<br />
|[http://www.holophase.com/dleval.htm holophase.com/dleval] || Win32 || Crippleware || || Circad's DOS version is free for non-commercial use.<br />
|-<br />
|[http://www.geda.seul.org/ geda.seul.org] || BSD, Linux, MacOSX, Win32 || GPL || Yes || xNIX Electronic Design Automation project has Schematic capture with PCB CAD.<br />
|-<br />
|[http://www.vutrax.co.uk/pricing.htm vutrax.co.uk/pricing] || Win32 || || || Vutrax for MS-Windows. Free for under 256 component pins.<br />
|-<br />
|[http://www.interactiv.com interactiv.com] || || || || Electronic Workbench, 400 USD for 500 pins. Includes schematic capture and simulation, virtual instruments and PCB layout. Said to be stable.<br />
|-<br />
|[http://pcb.sourceforge.net Harry Eaton's PCB] || || GPL? || Yes || 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.<br />
|-<br />
|[http://www.labcenter.co.uk/ 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!).<br />
|-<br />
|[http://www.ivex.com/ ivex.com] || || Payware || || Winboard PCB Layout, now [http://www.calcentron.com/Pages/NTEHomePage/ivex_cad_software.htm calcentron.com].<br />
|-<br />
|[http://www.illuminated.com.au/ illuminated.com.au] || Linux, Win32, DOS<!-- Claimed --> || || || Draftcad, Schematic Capture and PCB Design<br />
|-<br />
|[http://www.winqcad.com/ winqcad.com] || Win32, Linux+Wine || || || MicroCad<br />
|}<br />
<br />
(Some of this information in this table came from the [http://techref.massmind.org/techref/pcbcads.htm list of software design tools at the Massmind]).<br />
<br />
Is there any way to objectively compare these tools?<br />
How well did they do at the<br />
[http://www.pcbwest.com/topgun/ PCB Top Gun contest] ?<br />
<br />
=== Checklist for "The flow of PCB fabrication/PCB" using Software Design Tool===<br />
*Format and shape of PCB are conformed./<br />
*Via size and location are conformed./<br />
*Fixed location item are placed on suitable place./<br />
*A one-first PCB silk layout is made./1:1çPCB<br />
*All item get enough clearance between them./é°æ¯å¦éæ¼ç·è²¼<br />
*All vias get enough size to install them components./æ±<br />
*Make sure no worng footprint is created./<br />
*PCB is drew./PCB<br />
*Netlist is ran and got a no error result./å·è¡netlistæ令ç´ç¡é¯èª¤<br />
*DRC is ran and got a no error result./DRC<br />
*Location of item is reasonable./<br />
*All items are put on to a hard copy of PCB./PCB<br />
*Overall is checked./<br />
<br />
And then the Gerbers are sent to a [[PCB Manufacturers]].<br />
<br />
== Serial Communications from a PC to Microcontrollers ==<br />
<br />
This is often done using Hyperterminal ( a program bundled with MS Windows ) to communicate with the microcontroller using RS232 or virtual RS232 over USB. This program is pretty painful to use, we should list some alternatives to it here. This is just a start:<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Program<br />
|Source/Comments<br />
<br />
<br />
<!--------------------------------><br />
|-valign="top"<br />
|[[RS232/USB Probe]]<br />
|[[RS232/USB Probe]] Now in testing, a specialized program for microcontroller communication on the PC side.<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.rs485.com/psoftware.html R. E. Smith I/O Commander]<br />
|From the site:<br />
''The I/O Commander is designed to communicate, test and control our line of digital and analog I/O products. However, due to its flexible nature, it can also be used as a general purpose terminal emulator (color coded TXD/RXD, split screen modes, and 32/1024 "hot-keys") and, as a drum sequencer. The terminal emulator now supports COM1 through COMX, and data rates from 300bps to 921.6Kbps. Now with flow control and parity. Same low cost: Free''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://web.media.mit.edu/~benres/simpleserial/ PIC Chip Communication with a PC]<br />
|Date on this is 2001, does it still run?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://hp.vector.co.jp/authors/VA002416/teraterm.html Tera Term Home Page ]<br />
|From the site: <br />
''last updated: Aug. 9, 1999 Tera Term (Pro) is a free software terminal emulator (communication program) for MS-Windows. It supports VT100 emulation, telnet connection, serial port connection, and so on.''<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.ontrak.net/adrcom.htm Using ADRCOM Terminal Emulation Software]<br />
|From the site: <br />
''ADRCOM is a FREE terminal emulation program available from Ontrak Control Systems that allows simple ASCII commands to be sent and received via a serial port. It can be used to verify hardware connection of an ADR device and familiarize programmers with the ASCII commands used with the interfaces. In this example an ADR112 is connected to com1.'' Looks nice, how about a review?<br />
<!--------------------------------><br />
|-valign="top"<br />
|[http://www.freedownloadmanager.org/downloads/terminal_emulator_software/]<br />
|A list of terminal emulators, may be a good one in the bunch or several.<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------<br />
|-valign="top"<br />
|<br />
|<br />
<!--------------------------------><br />
|}<br />
<br />
( for the search engines: dump HyperTerminal find a better communications program )<br />
<br />
For some notes on how to plan the microcontroller end of the communications see: [[RS232]] and for a particular implementatation take a look at [[BitWacker PIC USB Development Board]] and the specialized PC program for it and similar devices: [[BitWacker Java Communications]]<br />
<br />
For general information on terminal emulators see: [http://en.wikipedia.org/wiki/Terminal_emulator Terminal emulator From Wikipedia, the free encyclopedia]<br />
<br />
== USB Communications from a PC to Microcontrollers ==<br />
<br />
Many modern computers especially laptops do not have serial ports and the serial connector port is big and bulky. RS232 communication requires the use of level shifters which add parts. Serial communication can also be slow.<br />
<br />
An alternative is more and more microcontrollers have native support for USB which has smaller connectors, is faster, and works with the plug and play architecture of modern OSs. The disadvantage is that the firmware is much more complex and the PC side requires an device driver and corresponding INF file. Lucky, many generic drivers are available and many microcontrollers that support USB provide sample firmware.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|Catagory<br />
|Site<br />
|Comments<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Getting started book<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes.<br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Formal Specification<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Device Driver<br />
|[http://msdn2.microsoft.com/en-us/library/aa476426.aspx WinUSB]<br />
|Free generic device driver provided by microsoft for Windows XP and Vista <br />
<!--------------------------------><br />
<br />
|-valign="top"<br />
|Sample Framework/Device Driver<br />
|[http://ww1.microchip.com/downloads/en/DeviceDoc/MCHPFSUSB_Setup_v1.3.exe MCHPFSUSB v1.3 USB Framework]<br />
|Sample USB framework for PIC18F USB Microcontrollers. Framework handles device enumeration and control endpoint requests. A free generic device driver is provided. <br />
<!--------------------------------><br />
<br />
|}<br />
<br />
== Embedded System Programming and Testing ==<br />
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.<br />
<br />
* Many systems use [[JTAG]] for programming and testing. (Such as [http://en.wikibooks.org/wiki/Atmel_AVR Atmel AVR embedded systems]]).<br />
* Other systems use some other kind of in-circuit programming.<br />
* Some people use [http://en.wikibooks.org/wiki/Embedded_Systems/Bootloaders_and_Bootsectors bootloaders] to make re-programming a little quicker.<br />
<br />
-- not sure that this next one is not misplaced ? --<br />
<br />
* Many people use an [[oscilloscope]] ([[o'scope]]). Keith has made a list of [http://www.techtravels.org/amiga/amigablog/?p=167 "PC USB logic analyzers that cost under $1000."], some of which can be used as an o'scope. Should we make a table dedicated to low-cost o'scopes here?<br />
<br />
Humans writing a program almost always do it in a language. Here is a section that discusses some of these languages: [[Programming Languages]]<br />
<br />
== Enclosure ==<br />
<br />
* The Earth Signal should short to whole metal Case<br />
* Digital/Analog GND should separate to this Earth Signal, and should connect a Y-cap. to filter the noise between them.<br />
* Attention: do not place near between Earth Signal and Digital/Analog GND, otherwise some spark come out, and affect your whole system.<br />
<br />
== Further Reading ==<br />
<br />
* [http://airborn.com.au/method/ "Electronics Design" from Airborn] gives an overview of the complete process: specification, (schematic) circuit design, layout, prototypes, firmware, pilot run, production.<br />
* 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/<br />
* [http://www.national.com/rap/Story/0,1562,18,00.html "What's All This Ground Noise Stuff, Anyhow?"] by Robert A. Pease<br />
* [http://www.elecdesign.com/Articles/ArticleID/6150/6150.html "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.<br />
* [http://groups.google.to/group/sci.electronics.design/browse_thread/thread/889153f0e77b1718/fcaac532bb6d4b12?fwc=1 sci.electronics.design: EDN: Measuring Nanoamperes] discusses some ways to measure extremely small currents.<br />
* [http://groups.yahoo.com/group/Homebrew_PCBs yahoo.com/group/Homebrew_PCBs]<br />
* [http://www.electricstuff.co.uk/pcbs.html electricstuff.co.uk/pcbs]<br />
* [http://www.fullnet.com/~tomg/gooteepc.htm fullnet.com/~tomg/gooteepc]<br />
* The notion that through-hole soldering is easier than soldering surface-mount devices is, and always has been, [http://archives.seul.org/geda/user/Aug-2004/msg00175.html a myth.]<br />
<br />
== Environmental Issues ==<br />
The metals, chemicals, and polymers used in producing electronic circuits, as well as the energy consumed in producing them and the extraction (mining) processes can have significant environmental impact. The purpose of this section is to collect information that can be used to assess and/or<br />
mitigate the environmental impact. It may also suggest some projects which can be environmentally beneficial. [Note: techniques was the closest<br />
major section to incorporate this into but it might make more sens to promote this section to a fifth major section]<br />
<br />
=== Energy Use, Global Warming Gasses ===<br />
<br />
==== Embodied Energy/CO2 ====<br />
With the climate change crisis and peak oil, energy consumption becomes an important issue. Embodied CO2 includes the effects of emboddied<br />
energy plus other CO2 sources. An good source for information on how much energy is consumed and CO2 produced in making a variety of materials is the ICE [http://www.bath.ac.uk/mech-eng/sert/embodied/] database. You have to request a free copy be sent via email. The production of<br />
metals and plastics releases many times their weight in greenhouse gases. <br />
<br />
==== Energy consumption by Electronic Devices ====<br />
Standby modes, switching supplies, etc.<br />
<br />
==== Transportation ====<br />
Raw materials, electronic components, bare PCBs, finished products, and end-of-life products being recycled get transported very long distances.<br />
<br />
==== Electronics as energy saving devices ====<br />
Some electronics are used to save energy. Fluorescent ballasts, Photovoltaics, power inverters, charge controllers, some motor controls, solar trackers, LED lighting, setback thermostats, motion sensor controls and timers, blind controllers, etc. In some cases, computers are used for<br />
telecommuting.<br />
<br />
=== RoHS/lead-free ===<br />
The transition to RoHS/lead-free processes has cost the industry a large amount of money and creates problems for hobbyists. When you consider the environmental impact of lead free solders (for example, silver mining is highly polluting), and the greater amount of non-renewable resources used, and the shorter lifespan of the electronic circuits, the whole lead free movement may be yet another political boondoggle.<br />
[http://www.sigcon.com/Pubs/news/10_01.htm] <br />
<br />
John Barnes, electronics text book author, and author of the [http://www.rohsusa.com/ Pushback] site:<br />
<br />
<blockquote><br />
It is widely accepted in the Engineering community that the recent ban of lead in solders for use in electronics in Europe is not only erroneous, but will actually lead to a worsening situation on the environment with the replacements being in general use from July â06 having a GREATER environmental impact. [http://www.rohsusa.com/]<br />
</blockquote><br />
<blockquote><br />
To date I have collected over 230 books and well over 11,100 other documents on these and closely-related subjects, going clear back to 1851. My collection now fills one-and-a-half bookcases and three 5-drawer file cabinets. [http://www.dbicorporation.com/rohsbib.htm#pages]<br />
</blockquote><br />
<blockquote><br />
Based on my research, and helping clients develop RoHS-compliant electronic products, I believe that: If you buy a lead-free RoHS-compliant electronic device-- and if it works when you first turn it on-- it should be safe and fully-functional for at least one year. If you are lucky, it may last a couple of years longer... versus the 20+ years use that we can easily get out of many lead-based electronic products. [http://www.dbicorporation.com/rohsbib.htm#pages] <br />
</blockquote><br />
[http://www.rohsusa.com/]<br />
<br />
A huge problem with the RoHS laws is the sheer nitpicky nature of the regulations and the beaurocracy that enforces them. It doesn't matter if you reduce the lead content a thousand fold relative to a lead solder board, which would put it well within the 0.1% lead limit. The product is reduced to homogeneous parts each one of which must individually meet the regulations. One stray microscopic lead solder ball might be ok if it is absorbed into a joint where it is becomes part of a larger homogeneous component but not if it contaminates an inspection sticker or gets trapped in the flux between traces. Maybe widespread competent recycling of electronics is a better approach. Not shipping it off to other countries or using prison labor to disassemble it under unsafe and environmentally harmful ways; there are some horror stories of how electronics is recycled now.<br />
<br />
==== Mixing lead containing and lead free components ====<br />
Many lead-free components are compatible with lead solder processes. leadframe based components, such as QFPs, SOICs, and SOPs with gull wing leads, are generally compatible since the finish on the part leads contributes a small amount of material to the finished joint. However, components such as BGAs which come with lead-free solder balls are not compatible with lead processes. [http://www.st.com/stonline/products/literature/an/10791.pdf] Also, leadless parts are exposed to higher stresses and are more susceptible to any affect from mixed metallurgy. Check with each manufacturer as lead finishes may vary.<br />
<br />
[edit]<br />
<br />
=== Materials, Chemicals, and Processes used ===<br />
==== Etchants ====<br />
Ferric Chloride poured down the drain will eat pipes and copper is toxic. Although your sewage plant may not be happy about ferric chloride in the sewage (and it may be illegal) , they can probably at least deal with it better than many other chemicals since Ferric Chloride is used at sewage treatment plants to remove copper. <br />
Ferric Chloride etchant can be neutralized into iron oxide (rust), copper, and salt by using iron (nails, etc) to use up all the etchant and then add washing soda and evaporating and can then be landfilled. Considering the value and toxicity of copper, it would be nice to see this improved on so that the copper can be reclaimed.<br />
<br />
Another source [http://www.mgchemicals.com/techsupport/ferric_faq.html] <br />
suggests adding washing soda before pouring down the drain. Another source [http://www.anotherurl.com/library/pcb_production.htm] suggests baking soda.<br />
<br />
[http://www.jtbaker.com/msds/englishhtml/f1080.htm MSDS] <br />
<br />
Etching can be improved, and the lifetime of the etchant before it needs disposal, using citric acid [http://www.ganoksin.com/borisat/nenam/safe-etching.htm]<br />
==== PCB Substrates ====<br />
==== Etch Resists ====<br />
==== Solder ====<br />
See RoHS/lead free section above. Solder paste should be refrigerated (embodied energy) and has a limited lifetime. One problem with expired solder is absorbed water which can lead to spatter and voids in solder joints. What to do with expired solder paste? It should still be ok for manually tinning leads and large copper areas. It may be possible to add it to a wave solder bath using the same alloy.<br />
<br />
==== Flux ====<br />
==== Epoxies ====<br />
==== Solder Mask ====<br />
==== Silk screen ====<br />
==== Tape & Reel, JEDEC matrix trays, other component packaging ====<br />
JEDEC matrix trays can be reused or recycled. Resistors tend to come in paper (cardboard) tape, which can be recycled, plus a cover tape. <br />
Capacitors, transistors, and IC's often come in formed plastic tape with a plastic cover tape..<br />
<br />
==== poly bags ====<br />
==== Cleaning products ====<br />
==== Plating ====<br />
===== Tin Plating =====<br />
===== Gold Plating =====<br />
===== Nickel Plating =====<br />
===== Silver Plating =====<br />
<br />
===== Hot Air Solder Levelling =====<br />
Not technically a plating process, but many of the alternatives are. Contains Lead (see RoHS/lead free section).<br />
<br />
===== Solder Mask over Bare Copper (SMOBC) =====<br />
<br />
==== Copper ====<br />
Sulfur dioxide produced in making copper is equivalent to 1/4 the sulfur dioxide emisions of all industrial nations combined. 1kg of copper requires<br />
excavating 127kg of ore and 136kg of other rock and the equivalent of 275 liters of petoleum was consumed. [http://www.iied.org/mmsd/mmsd_pdfs/041_rabago.pdf] Copper is somewhat toxic. And it is a scarce and valuable resource. Copper prices are high enough that people steel copper wiring and pipes out of unoccupied buildings (destroying the buildings in the process).<br />
Copper can be recovered from PCB etchant by electrolysis. [http://www.p2pays.org/ref/10/09283.htm] It also saves on etchant replacement and disposal. They spent 55,000 English Pounds to set it up but it paid for itself in two years. This may be possible to do on a smaller scale. Copper used on printed circuit boards is usually produced by electrodepositing copper onto a rotating drum (Printed Circuits Handbook); this particular process, though often done by the panel manufacturer and not the PCB fab, appears to be compatible with reclaimed copper (no need to remelt it). It appears that electrodes used in the reclamation process can be transfered to the plating bath for panel plating, pattern plating, or making electrodeposited foil sheets, provided the baths are kept well filtered. In a double sided circuit board, most of the copper on the board is electroplated onto the board (starting with a thin foil), thus plating the holes.<br />
<br />
==== Aluminum ====<br />
==== Tantalum ====<br />
"Other concerns we have center on a material necessary for wireless technology, called Tantalum. Tantalum is a rare earth metal that is only found in a few places. Because of growing demand caused by the popularization of cell phone, laptop and wifi use, tantalum mining has become a lucrative business in areas that sometimes have delicate ecosystems and unbalanced economies. This led to wars, exploitation and environmental havoc in the Congo³. That situation has been mostly addressed through policing and international embargoes4, but that is just one example of how consumer electronics can be linked directly to environmental and social problems.5" [http://wiki.freegeek.org/index.php/Wifi_Use_Statement]<br />
<br />
=== PVC ===<br />
PVC is used as insulation for wires. Flexible Vinyl contains plasticizers which can be toxic and are banned in some countries. Hard Vinyl is safer. There are other plastics, such as LDPE, which do not require plasticizers for flexibility and materials such as silicone rubber which make superior<br />
insulation.<br />
<br />
==== Teflon ====<br />
Used as a PCB substrate, dialectric, wire insulation, and as a non-stick coating on cookware. Teflon wire releases nerve gas when burned. Teflon cookware (which may be used in the hot plate or toaster oven methods of reflow soldering) is alleged to release nerve gas fumes that will kill pet birds even at normal cooking temperatures.<br />
<br />
=== Silicone Rubber and other Silicones ===<br />
Silicon is an abundant natural resource. Silicone Rubber has a 50 year life span, which makes it good for durable goods. It is considered by some to be more environmentally benign than many other polymer resins due to its durability, low toxicity, manufacturing process, being chemically inert, and abundant raw materials. Another Silicone, Silicone gel, was vindicated as a cause of health problems associated with breast implants. Silicone rubber is one of the few materials considered safe enough for medical implants. It is an excellent high voltage insulator and withstands high temperatures. When used in contact with electrical circuits, peroxide curing vs. acetic acid (vinegar) curing silicone should be used due to the corrosive nature of acetic acid. Silicone caulk may be thinned to make it suitable for painting or dip coating, when the proper forms of the resin are not available, using Xylene (a hazardous material) or pourable silicones or other silicones without thixotropic additives may be used, though these are expensive in small quantities. Silicone rubber may be used as an adhesive (it must be cut to remove it). It may be used as a potting material. <br />
Silicone oil is used as a lubricant; purists prefer pure silicone lubricants (such as CRC 100% silicone) over products such as WD-40 which mix it with petroleum based oils; do not use it on a surface you intent to paint. Paint does not adhere to silicone rubber, either. "Paintable" silicone rubber caulk appears to lack the thixotropic additive and is thin enough to spread with a paint brush, though probably not thin enough for dipping or pouring.<br />
Liquid silicone may be used as a non-toxic solvent. Availible in electrically conductive varieties. Silicone is used to make flexible molds and hobby moldmaking suppliers are a source of small quantities of different types of silicone rubbers. Silicone rubber will withstand reflow soldering temperatures; it could be used to adhere components to a board before soldering, however it will not let go when you attempt to desolder the parts.<br />
[http://en.wikipedia.org/wiki/Silicone]<br />
<br />
=== Wood ===<br />
Can be used for breadboarding leaded components, enclosures, etc. Low embodied energy/CO2.<br />
<br />
==== Stencils ====<br />
==== Panel Plating vs Pattern Plating ====<br />
[http://www.thinktink.com/stack/volumes/volvi/copplate.htm]<br />
==== Chemical Etching vs Mechanical Etching ====<br />
=== Fumes ===<br />
==== Soldering (flux) ====<br />
==== Laser Cutting (stencils, engraving, via hole drilling) ====<br />
==== Chemical Etching ====<br />
<br />
<br />
=== Enclosures ===<br />
=== Recycling ===<br />
=== Electronic Equipment ===<br />
=== ReHDPE ===<br />
Recycled polyethylene lumber (ReHDPE) (Not the kind with wood fillers), seems to machine well, is cheaper than delrin and other plastics.<br />
Wood fillers in the sort found at Lowes Hardware stores may absorb water. At least I think the sample (from teksupply) I saw was ReHDPE; they don't say but similar products seem to be ReHDPE. There may be voids. 2x4 material (many sizes available) is about $3 per foot. <br />
[http://www.teksupply.com/farm/supplies/prod;10053;ts1_building_materials;pg104577]<br />
[http://plasticlumberyard.com/plasticlumber.htm]<br />
[http://www.epsplasticlumber.com/lumberpricing.shtml]<br />
May be useful for electronics enclosures and other plastic parts. HDPE has a lower embodied energy than most plastics.<br />
<br />
=== Obsolescence ===<br />
The enviromental impacts of electronic devices are greatly exacerbated by obsolescence (or worse planned obsolescence), limited lifetimes, and<br />
poor repairability (including lack of technical documentation), and by often being cheaper to replace than repair.<br />
<br />
=== Single Function vs. Multifunction devices ===<br />
Devices which perform many functions, and thus replace many devices, may reduce environmental impact. Do you need a computer, TV, stereo, CD player, DVD player, game console, DVR, VHS/DVD recorder or can you use one device (the computer) for all those functions? Do you need separate PDA, GPS receiver, digital camera, camcorder, cell phone, DECT cordless phone, voice recorder, MP3 player, and ebook reader or can those be combined into a single portable device that functions better than the individual devices?<br />
<br />
=== Components ===<br />
==== Semiconductors ====<br />
The embodied energy in a Monocrystalline solar panel, 230Kg CO2/square meter might be a some indication, though that is for the module and not just the cell and it is based on a square meter rather than by weight as most things are, but it seems rather high (they do, however, repay that energy in about 18 months to 7 years). 60% of the embodied energy is in the silicon wafers. Pound for pound, semiconductors are probably an environmental nightmare, though very little material is actually used in the final product. Unfortunately, a 2g chip (32MB DRAM) requires 1.7kg of materials (72g of chemcials, 1600 grams of fossil fuels, and 700 grams of elemental gas) and uses 32000g (32 liters) of water. A lot of this energy is too heat the materials to 1000 degrees Celsius (how about a large concentrating solar collector to help out here?).<br />
<br />
==== Resistors ====<br />
The process of making resistors generally involves baking (embodied energy/CO2); probably twice, once to make the ceramic subtrate and once for the resistive coating; however, this is probably not a major concern as ceramics have a fairly low embodied CO2.<br />
<br />
==== Computers ====<br />
Computers have a very large environmental impact and may be indicative of the environmental impact of electronic devices in general.<br />
For a computer, the emboddied energy is about twice what it will consume over a three year life span. <br />
<br />
For a desktop computer (not counting monitor, etc): 6050g steel, 670g copper, 440g Aluminum, 650g plastics, 1040g Epoxy, 47g Tin, 27g Lead, 18g Nickel, 1.4g Silver, 0.35g gold, and 96 grams misc for a total of 9040g. A 17" CRT monitor: 6817g Glass, 2830g Steel, 700g Copper, 480g Ferrite, 240g Aluminum, 3530g Plastics, 140g Epoxy, 20g Tin, 593g Lead, 1.24g Silver, 0.31g Gold, and 98g of other materials. "Other" is probably largely the fiberglass in the PCBs and the silicon wafers.<br />
[http://web.mit.edu/ebm/www/Publications/Gutowski%20Mech%20Eng%20Handbook%20Ch%20Dec%206%2020041.pdf]<br />
<br />
==== Capacitors ====<br />
<br />
[[Category:Techniques]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Basic_Circuit_Building_Blocks&diff=15205Basic Circuit Building Blocks2008-03-31T17:11:48Z<p>Mzoran: RC Filter</p>
<hr />
<div>These are circuits and parts of circuits that we see over and over again in larger projects. Understanding a complex circuit is much easier if you understand these building blocks. <br />
<br />
Operational amplifier are the basis for many circuit building blocks especially in the range of DC to 1 meg Hz. See [[OpAmp Links]].<br />
<br />
== Page Status.... ==<br />
( [[russ_hensel]] is currently building this page, he is close to done for the near term. Schematics have been drawn in Eagle and the screen captured. Feel free to add your own circuits, as long as they are basic building blocks, there are lots of other places for project circuits. <br />
Some entries are not complete, if the explanation of the circuit does not match the diagram that is a good tip off. For some reason even some of the uploaded graphics are not showing up, I am working on this as well.<br />
<br><br />
To Do <br />
* Why not put alpha order?<br />
* work on external links<br />
<br />
more circuits<br />
*Constant Current Circuit<br />
*Wheatstone Bridge.<br />
[http://itp.nyu.edu/physcomp/sensors/Schematics/WheatstoneBridge Wheatstone Bridge]<br />
*diode snubber<br />
*AC Coupling Capacitor / High Pass Filter<br />
*Battery Lamp and Switch<br />
*Diode Rectifier<br />
*LM35 Temperature Sensor<br />
*555 Timer astable oscillator<br />
*diode for forward drop bias voltage<br />
*row and collumn connection<br />
*charge pump<br />
*transformer<br />
*voltage multiplier<br />
*diode logical or<br />
*RC timer<br />
*diode full wave bridge<br />
*H Bridge<br />
An H bridge is an electronic circuit that causes current to flow in one direction or the other ( from a singel ended power supply ). Often used for motor control. It is an electronic double pole double throw switch.<br />
[http://code.rancidbacon.com/ElectronicsElectronics] See Section on ''H-Bridge''<br />
<br />
<br />
<br />
<!---------------------------------------------------------------------><br />
<br />
== Current Sense Resistor ( Shunt Resistance ) ==<br />
<br />
A current Sense Resistor is a low value of resistor that is placed in series with some other circuit. We can then measure the voltage across the resistor to compute the current. If the resistor has a low value compared to other components we can ignore the effect on the circuit. We use the word shunt when the voltage is measured by a device that has a fairly low resistance itself. We then have to do a more careful calculation of how the current is shared by the two devices.<br />
<br />
Circuit:<br />
[[Image:shunt.png | Shunt Resistance ]]<br />
<br />
Where<br />
*R shunt resistor used to sense the current ( and divert it from the meter ). Usually much less in value than the internal resistance of the meter.<br />
*METER meter or other device used to measure the voltage across the shunt reistor. Often the resistance of the meter is ignored ( if high ).<br />
*BATTERY a battery or other voltage source.<br />
<br />
Discussion:<br />
<br />
In the old days a sensitive meter, say 50 mv full scale, would be used with a set of shunt, some looking like metal bars, to measure a wide range of currents, up to and exceeding 50 amps.<br />
<br />
More information: <br />
#[http://www.scienceshareware.com/bg-current-monitoring.htm Scienceshareware.com's How A Precision Resistor Is Used to Measure / Calculate Current and Power in an Electrical Circuit.]<br />
#[http://www.maxim-ic.com/appnotes.cfm/appnote_number/746/ High-Side Current-Sense Measurement: Circuits and Principles]<br />
#[http://en.wikipedia.org/wiki/Shunt_(electrical) Shunt (electrical) From Wikipedia, the free encyclopedia]<br />
* Other ways to measure current: [[Motor_driver#current_sense]]<br />
<br />
== Filter Capacitor / Decoupling Capacitor / Low Pass Filter ==<br />
Circuit:<br />
[[Image:filtercap.png | Filter Capacitor ]]<br />
<br />
Where<br />
*D2 is a diode, it lets current pass only in the direction of the arrow.<br />
*R resistor <br />
*Input a source of alternating current ( ocasionally DC in which case the whole circuit serves only to protect against a reverse connection.<br />
C1 the first, main, filter capacitor.<br />
C2 the second filter capicator.<br />
<br />
Discussion:<br />
In this circuit C1 is a classic filter capacitor it charges while the diode conducts, it discharges and supplies current when the diode does not. R and C2 are a second stage filter. With R set to 0, it simply adds to the value of C1. With R in the circit it forms a low pass filter which helps remove the ripple from the power ( at the cost of some voltage drop ). In the old days R would often be a low value inductor which had a similar effect without the voltage drop. A capacitor alone is often put across a circuit component that uses power to supply bursts of current and stop noise from being propigated through the power supply.<br />
<br />
More Information:<br />
<!---------------------------------------------------------------------><br />
<br />
== Op amp Non Inverting Amplifier ==<br />
Circuit:<br />
[[Image:opamp_nia.png | Op amp Non Inverting Amplifier ]]<br />
<br />
Where<br />
*R1 resistor 1 or any other 2 terminal component, capacitor, inductor, diode....<br />
*R2 resistor 2 or any other 2 terminal component.....<br />
OPAMPA Any general purpose op amp, often connected to + and - power supplies<br />
<br />
Discussion:<br />
Gain is = ( R1/R2 ) + 1 <br />
<br />
More Information:<br />
*[OpAmp Links]<br />
<!---------------------------------------------------------------------><br />
<br />
== Op amp Unity Gain Buffer ==<br />
<br />
Use this circuit when you have a signal of high impedance ( can supply only a little current ) that you want to connect to another circuit that draws a significant current ( up to about 10 ma for the typical op amp. ). For example if you wish to measure the out put of a voltage divider with a 0 to 1 ma meter a unity gain buffer might be just what you need. This circuit is also know as a voltage follower.<br />
<br />
The unity gain buffer has an output voltage just the same as the input voltage. The advantage is that the input circuit does not “feel” the output. That is the input acts pretty much like a very large resistor ( many mega ohms or more ) connected to ground, and the output supply's whatever current ( up to about 10 ma ) is necessary to maintain the output voltage. Here is the circuit:<br />
<br />
Circuit:<br />
<br />
[[Image:opamp_ugb.png | Op Amp Unity Gain Buffer ]]<br />
<br />
Where<br />
*INPUT the input signal you wish to buffer<br />
*RIN the input resistor, often 0 ohms.<br />
*OPAMPA Any general purpose op amp, often connected to + and - power supplies<br />
*RFB the feed back resistor <br />
*OUTPUT the output<br />
<br />
Discussion:<br />
The values of RIN and RFB are not very critical and are normally 0 ohms, just a straight connection. The op amp here is a quad or 4 op amp part, we are using just one section of it. Power needs to be supplied to pin 8 and 4 in the usual way for op amps.<br />
<br />
More information: <br />
*[[OpAmp Links]]<br />
*[http://en.wikipedia.org/wiki/Buffer_amplifier Buffer amplifier From Wikipedia, the free encyclopedia]<br />
*[http://www.bcae1.com/opamp.htm Operational Amplifiers]<br />
*[http://www.eecs.tufts.edu/~dsculley/tutorial/opamps/opamps5.html Op-Amp Buffer]<br />
<br />
<!---------------------------------------------------------------------><br />
<br />
== Parallel Circuit ==<br />
In a parallel circuit the current divides and some flows through each component . The key to these circuits is that the voltage is the same in every element of the circuit and the total of the current through each of the components adds up to the total current from the battery. When you use a current meter it is always placed in series with the part of the circuit where you wish to measure the current.<br />
<br />
Circuit:<br />
[[Image:parallel.png | Parallel Circuit ]]<br />
<br />
Where<br />
*R1 resistor 1 or any other 2 terminal component, capacitor, inductor, diode....<br />
*R2 resistor 2 or any other 2 terminal component.....<br />
*BATTERY a battery or other voltage source<br />
<br />
Discussion:<br />
<br />
I you have a lot of components that use the same voltage put them in parallel. This is how most lights in a house are wired. Each individual light can be turned on and off without changing the current or voltage in the other lights. With a bit of math you can show that the two resistors act like one resistor of value R = R1 + R2 /( R1 * R2 ). When you need a resistor of a different value than you have you can sometimes “make it up” using a parallel connection of resistors you do have. To identical resistors in parallel are equivalent to one of half the resistance. A parallel circuit can have more than 2 resistors, there can be 3, 4, ... You can find out more about parallel circuits in the references. This circuit should be contrasted with the Series Circuit. Parallel circuits can also be used with other components, the equations vary, for capicators the capacitances add in a parallel circuit.<br />
<br />
More information: <br />
* [http://en.wikipedia.org/wiki/Parallel_circuit Series and parallel circuits From Wikipedia, the free encyclopedia]<br />
<!---------------------------------------------------------------------><br />
<br />
== Pull Up and Switch ==<br />
<br />
Use this circuit when you want to feed a user input to a digital circuit, for example a PIC input pin.<br />
<br />
A pull up is a fairly high value resistor (say 1 to 100 K ohms) that is connected to the positive side of the power supply. This makes the other end of the resistor the same voltage as the power supply (as long as it is connected to a high impedance). The other end of the resistor is connected to a switch that is then connected to ground. When the switch is connected current flow through the resistor drops the entire power supply voltage and the input voltage for the circuit is now 0 (sometimes called active low, since when the switch is active the output is low). Pull up is sometimes used without the switch to keep a signal high all the time.<br />
<br />
Circuit:<br />
<br />
[[Image:pus.png | Pull Up and Switch ]]<br />
<br />
Where<br />
*PUSH_BUTTON_SWITCH is a push button switch<br />
*R_PULLUP is the pull up resistor <br />
*VPLUS_VDD is the power supply voltage<br />
<br />
More information: <br />
[http://www.seattlerobotics.org/encoder/mar97/basics.html Very Basic Circuits]<br />
<!---------------------------------------------------------------------><br />
<br />
== Pull Down and Switch ==<br />
Circuit:<br />
[[Image:pds.png | Pull Down and Switch ]]<br />
<br />
Where<br />
*R_PULLDOWN resistor which normally keeps the output low ( ground ).<br />
*PUSH_BUTTON_SWITCH switch to make the output high<br />
*VPLUS_VDD a battery or other voltage source<br />
<br />
Discussion:<br />
Just a variation on the Pull Up and Switch.<br />
<!---------------------------------------------------------------------><br />
<br />
== Series Circuit ==<br />
<br />
In a series circuit the current first flows through one component then another and so on. The key to these circuits is that the current is the same in every element of the circuit and the total of the voltage across each of the components adds up to the voltage of the battery. A current meter is always in series with the part of the circuit whose current is being measured.<br />
<br />
Circuit:<br />
[[Image:series.png | Series Circuit ]]<br />
<br />
Where<br />
*R1 resistor 1 or any other 2 terminal component, capacitor, inductor, diode....<br />
*R2 resistor 2 or any other 2 terminal component.....<br />
*BAT a battery or other voltage source<br />
<br />
I you have a lot of components that use the same current put them in series. This is often how LEDs are connected to higher voltages; this also eliminates the need for a current limiting resistor on each LED. With a bit of math you can show that the two resistors act like one resistor of value R = R1 + R2 . When you need a resistor of a different value than you have you can sometimes “make it up” using a series connection of resistors you do have. To identical resistors in series are equivalent to one of double the resistance. A series circuit can have more than 2 resistors, there can be 3, 4, ... You can find out more about series circuits in the references. This circuit should be contrasted with the Parallel Circuit. A voltage divider is an example of a series circuit.<br />
<br />
More information: <br />
* [http://en.wikipedia.org/wiki/Parallel_circuit Series and parallel circuits From Wikipedia, the free encyclopedia]<br />
<br />
<!---------------------------------------------------------------------><br />
<br />
== Three Terminal Regulator ==<br />
<br />
Use when you need a regulated voltage and or short circuit protection.<br />
<br />
Most circuits run better if the primary power source is a constant fixed voltage. A battery is only a poor approximation to this. Taking a battery or other voltage source ( like a wall wart plug in transformer ) and running it through a voltage regulator transforms it into a good fixed source of voltage. It also generally adds current limiting as short circuit protection. The 7805 is a very common 5 volt regulator. <br />
<br />
Circuit:<br />
[[Image:ttr.png | Three Terminal Regulator ]]<br />
<br />
Discussion:<br />
<br />
The circuit above is very basic. Practical circuits normally include filter capacitors on both the input and the output. Most regulators protect against both over temperature and over current. Regulators come in various voltages both positive and negative. They also vary in maximum current output. There are also adjustable regulators, ways of using regular regulators as adjustable ones, and ways of boosting the current output. The spec sheets often describe how to do these things. Voltage regulators “use up” a couple of volts of the input voltage, low drop out regulators have use less, cost more. It is a good idea to check the specification for any regulator you are going to use. The LM78xx ( positive ) and LM79xx ( negative ) are quite common.<br />
<br />
More information: <br />
*[http://en.wikipedia.org/wiki/7805 7805 From Wikipedia, the free encyclopedia]<br />
*[http://www.tkk.fi/Misc/Electronics/circuits/psu_5v.html Simple 5V power supply for digital circuits]<br />
<br />
== Transistor Low Side Switch ==<br />
<br />
Use this circuit when you wish to turn a load on and off with both a low voltage and a low current. Note that neither side of the load is grounded.<br />
<br />
A low side switch is one which switches a circuit on and off at the ground or low side of the circuit. The advantage of a low side switch is that when using a transistor as the switch the voltage to drive the transistor is itself a low voltage. It is often the easy way to drive LEDS, motors, and other high current devices from such low power devices as PIC output ports. Low side switches are popular and there are many integrated circuits for them as well as this circuit.<br />
<br />
Circuit:<br />
<br />
[[Image:tran_lss.png | Transistor Low Side Switch ]]<br />
<br />
Where<br />
*LED is a low power LED<br />
*R_LED is a current limiting resistor for the LED<br />
*Q is a bipolar transistor <br />
*R_1 is a current limiting resistor transistor base current<br />
*VPLUS_VDD is the power supply for the LED<br />
<br />
<br />
Discussion:<br />
The voltage at the collector of the circuit should fall to a fraction of a volt when the input is high. To acomplish this:<br />
<br />
*Compute the value of R_LED using ohms law and the specifications for the LED.<br />
*Compute the current through the LED.<br />
*The transistor must supply the current, it should be equal approxtely to the input voltage divided by R1 times the beta of the transistor.<br />
<br />
An example calculation would be nice, and will appear later.<br />
<br />
This circuit is sometimes called "grounded-emitter configuration".<br />
<br />
More Information:<br />
*[http://en.wikipedia.org/wiki/Transistor#Switches Transistor From Wikipedia, the free encyclopedia]<br />
<br />
== Transistor High Side Switch ==<br />
<br />
Use this circuit when you wish to turn a load on and off with a voltage at a low current. Note that low side of the load is grounded. The voltage to turn on the switch is equal to the supply voltage ( or perhaps just a bit larger )<br />
<br />
A high side switch is one which switches a circuit on and off at the supply voltage or high side of the circuit. The advantage of a high side switch is that the load is grounded on one side. Compared to the low side switch it needs a higher voltage to drive it, but it also eliminates one resistor of that circuit. It the voltage to drive it is available it may be the circuit of choice. It is often the easy way to drive leds motors and other high current devices from such low power devices as PIC output ports. <br />
<br />
Circuit:<br />
<br />
[[Image:tran_hss.png | Transistor High Side Switch ]]<br />
<br />
Where<br />
*LED is a low power LED<br />
*R_LED is a current limiting resistor for the LED<br />
*Q is a bipolar transistor <br />
*VPLUS_VDD is the power supply for the LED<br />
<br />
The voltage at the collector of the circuit should fall to a fraction of a volt when the input is high. To compute the values in the circuit:<br />
<br />
*Compute the value of R_LED using ohms law and the specifications for the LED.<br />
*The current to drive the circuit is approximately the current to drive the load divided by the beta of the transistor.<br />
<br />
<br />
No resistor is needed into the base of the transistor because as the load draws current the voltage at the base will rise and limit the base current. The input voltage should be about equal to VPLUS_VDD, high compared to that needed for the low side switch.<br />
<br />
== Transistor Emitter Follower ==<br />
<br />
Use this circuit when you have a signal of high impedance ( can supply only a little current ) that you want to connect to another circuit that draws a significant current. The circuit has no voltage gain, but because of the current gain it has a lot of power gain. It is frequently used in the final stage of an amplifier. <br />
<br />
This circuit is a variation of the transistor high side switch. The difference is that we typically drive this circuit in a linear way ( all of the voltages between 0 and the supply voltage ) to make it a linear amplifier.<br />
<br />
The emitter follower is also called a common collector circuit.<br />
<br />
Circuit:<br />
<br />
[[Image:tef.png | Transistor Emitter Follower ]]<br />
<br />
Where<br />
*R_LOAD represents the resistance of the load<br />
*Q is a npn bipolar transistor <br />
*VPLUS_VDD is the power supply for the LED<br />
<br />
The current to drive the circuit is approximately the current to drive the load divided by the beta of the transistor. Use a Darlington connected transistor for a very high beta.<br />
<br />
No resistor is needed into the base of the transistor because as the load draws current the voltage at the base will rise and limit the base current. <br />
<br />
This circuit will only amplify positive voltages, using a pnp transistor you can amplify only negative voltages. Combine the two ( see push pull amplifier ) you can amplify both positive and negative voltages.<br />
<br />
<br />
<br />
Variation of the circuit include: <br />
<br />
*Use of coupling capacitors to amplify ac signals.<br />
*Various other components to bias the transistor.<br />
*Use an op amp buffer with voltage gain at the input, then the emitter follower for high current. In this way a few Milli volts with current on the order of pico amps can drive an output of several volts at an ampere or more. <br />
<br />
More information: <br />
<br />
*[http://www.mines.edu/Academic/courses/physics/phgn217/lab4/lect7/sld013.htm Emitter Follower]<br />
<br />
*[http://en.wikipedia.org/wiki/Common_collector Common collector From Wikipedia, the free encyclopedia]<br />
<br />
== Voltage Divider ==<br />
Voltage Divider<br />
<br />
We use a voltage divider when we have a voltage that is too big and we just want a fraction ( like 1/3 or .33 ) of it. It is like an amplifier with a gain of less than 1. We use two resistors, the output is always a constant fraction of the input voltage.<br />
<br />
Sometimes we use a potentiometer as a voltage divider. This makes the ratio of output to input adjustable. This is how we make a gain control or volume control.<br />
<br />
Circuit:<br />
[[Image:vdivide.png | Voltage Divider ]]<br />
<br />
Where<br />
*R1 resistor 1<br />
*R2 resistor 2<br />
*POT a potentiometer<br />
<br />
The ratio of input to output is: output/input = R2/( R1 + R2 ).<br />
<br />
Discussion<br />
<br />
The equation assumes that the input source is low impedance and the output is high impedance, if this is not true consider using a buffer on the input or the output ( Op Amp Unity Gain Buffer or Transistor Emitter Follower ) For audio applications a so called “log taper” pot may be used as it better matches the way in which we hear. If you want a calibrated control you may use a precision “10 turn precision” pot.<br />
<br />
More information: <br />
*[http://www.seattlerobotics.org/encoder/mar97/basics.html Very Basic Circuits]<br />
*[http://itp.nyu.edu/physcomp/sensors/Schematics/VoltageDivider Voltage Divider]<br />
<br />
== RC Filter ==<br />
<br />
The most basic filters are the RC-High Pass and RC-Low Pass filters. The high pass filter removes DC and low frequencies and the low pass removes high frequencies. <br />
<br />
<br />
'''High Pass''' [[Image:rchighpass.png | RC High Pass Filter]]<br />
'''Low Pass''' [[Image:rclowpass.png | RC Low Pass Filter]]<br />
<br />
Both circuits have the same 3dB frequency or the frequency at which the power of the signal is aproximately halved.<br />
<br />
<math><br />
f_\mathrm{c} = {1 \over 2 \pi \tau } = {1 \over 2 \pi R C}<br />
</math><br />
<br />
The way to remember the two circuits is to think about how the capacitor acts at various signal frequencies. At high frequencies capacitors act like wires. At low frequencies capacitors act like disconnections.<br />
<br />
An important use of low pass filters is for the anti-aliasing circuity on the input of an A/D converter or the output of a D/A converter. An important use of a high pass filter is to remove the DC offset of a signal. For example, it's possible to use a power supply that is +5 to GND to generate a sin from a D/A converter and use a high pass filter to change the sin to a +2.5 to -2.5 signal at the output.<br />
<br />
More information:<br />
*[http://en.wikipedia.org/wiki/Low-pass_filter Low Pass Filter]<br />
*[http://en.wikipedia.org/wiki/High-pass_filter High Pass Filter]<br />
<br />
== Light Emitting Diode ( with current limiting resistor ) ==<br />
<br />
Use this circuit to light low power LEDs<br />
<br />
A light emitting diode can be very sensitive to small voltage changes, just a bit too much voltage and the LED will draw too much current and “burn out”. Thus it is often used with a resistor in series. If we have a 5 volt source of voltage and an LED that is specified for 2.5 volts at 10 ma, then the resistor must have ( 5 – 2.5 ) volts = 2.5 volts and 10 ma. Using ohms law 2.5/10 x 10 ee-3 = 250 ohms.<br />
<br />
A transistor low or high side switch can be used with the resistor if your input cannot supply enough current for the LED.<br />
<br />
Circuit:<br />
[[Image:ledres.png | Parallel Circuit ]]<br />
<br />
Where<br />
*LED the LED<br />
*R_LED the current limiting resistor<br />
*INPUT voltage source for lighting the LED<br />
<br />
More information: <br />
*[http://www.seattlerobotics.org/encoder/mar97/basics.html Very Basic Circuits ] <br />
*[http://www.iguanalabs.com/1stled.htm Learning About Transistors and LEDs ]<br />
<br />
== Transistor -- Push Pull Circuit ==<br />
<br />
Use when you need current gain and need both positive and negative output.<br />
<br />
A modification of the “transistor emitter follower” that can give both positive and negative outputs. Based on two transistors one npn the other pnp: one pushes the other pulls.<br />
<br />
Circuit:<br />
[[Image:pptrans.png | Push Pull Transistor Circuit]]<br />
<br />
Where<br />
*Q1 transistor 1 need not be a TIP41C but does need to be NPN<br />
*Q2 transistor 2 need not be a TIP42C but does need to be PNP<br />
*R_LOAD represents the load, here it is in the emitter, it could also be placed in the collector circuit<br />
*VPLUS_VDD Power supply voltage, positive.<br />
*VMINUS Power supply voltage, negative.<br />
<br />
Discussion:<br />
Often there are other components for transistor bias or other purposes. The circuit here is really basic. The common transistors used are so called complementary pairs, similar characteristics but one npn and the other pnp. Note that we need both positive and negative power supplies. You can also put the push pull circuit inside the feedback loop of an op amp to get a high current op amplifier. Push pull amplifies can also be made with other types of transistors, tubes, or other components.<br />
<br />
More information: <br />
*[http://www.ecircuitcenter.com/Circuits/pushpull/pushpull.htm Push-Pull Output Stage]<br />
*[http://www.allaboutcircuits.com/vol_6/chpt_6/10.html Class B audio amplifier]<br />
*[http://en.wikipedia.org/wiki/Electronic_amplifier Electronic amplifier From Wikipedia, the free encyclopedia (search on Class B and AB )]<br />
<br />
== Transistors -- Darlington connected ==<br />
<br />
Use a Darlington transistor connection when you want really high current gain. Gain of 1000 is easily in reach. That is 1 ma to 1 amp <br />
This is a useful connection of 2 transistors that together form a transistor of much larger gain. You can also buy Darlington transistors all packaged in a single case with just 3 connections exposed to the outside.<br />
<br />
Circuit:<br />
[[Image:dtrans.png | Darlington Transistor Connection ]]<br />
<br />
Where<br />
*Q1 transistor 1 need not be a 2N3565 but does need to be NPN<br />
*Q2 transistor 2 need not be a 2N3565 but does need to be NPN<br />
*R_LOAD represents the load, here it is in the emitter, it could also be placed in the collector circuit<br />
*VPLUS_VDD Power supply voltage, positive.<br />
<br />
Discussion:<br />
<br />
Often Q1 is a high gain small signal transistor and Q2 a lower gain power transistor. You can use PNP transistors by using a negative power supply. Use a ULN2803 ( or similar chips ) to get 8 darlingtons in one package, useful as low side switches and in conjunction with microcontrollers.<br />
<br />
More information: <br />
* http://en.wikipedia.org/wiki/Darlington_transistor Darlington transistor From Wikipedia, the free encyclopedia]<br />
*[http://www.kpsec.freeuk.com/trancirc.htm Transistor Circuits ( search on Darlington )]<br />
*[http://www.ibiblio.org/kuphaldt/electricCircuits/Semi/SEMI_4.html Lessons In Electric Circuits -- Volume III Chapter 4 BIPOLAR JUNCTION TRANSISTORS Darlington pair ( search on Darlington )]<br />
<br />
== Schmitt Trigger ==<br />
Circuit:<br />
[[Image:opamp_st.png | Schmitt Trigger ]]<br />
<br />
Where<br />
*RIN input resistor -- when this inputs more current than the positive feedback resistor the output switches to the voltage at the input, else it stays at the output voltage it has already reached. Typically lower in value than RFB.<br />
*RFB positive feedback resistor the output voltage is feed back to the input and keeps the output at its current voltage.<br />
<br />
<br />
Discussion:<br />
<br />
The circuit is used to switch between two states even in the presence of noise. This is an somewhat unusual op amp circuit as it uses positive not negative feedback. See the references for a better explanation and variations on the circuit.<br />
Schmidt Triggers are also available as integrated circuits which require no external components.<br />
<br />
More Information:<br />
*[[OpAmp Links]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=File:Rclowpass.png&diff=15204File:Rclowpass.png2008-03-31T16:55:35Z<p>Mzoran: </p>
<hr />
<div></div>Mzoranhttp://www.opencircuits.com/index.php?title=File:Rchighpass.png&diff=15203File:Rchighpass.png2008-03-31T16:55:06Z<p>Mzoran: </p>
<hr />
<div></div>Mzoranhttp://www.opencircuits.com/index.php?title=Tutorials&diff=15196Tutorials2008-03-31T01:16:44Z<p>Mzoran: More references</p>
<hr />
<div>How to understand and plan what you are doing. <br />
<br />
== [[Good equiptment to buy when getting started]] ==<br />
<br />
Discussion of some of the equiptment to buy when getting started with embedded systems.<br />
<br />
== [[Programming Languages]] ==<br />
<br />
Discussion of the most popular programming languages used in embedded systems.<br />
<br />
== External References ==<br />
<br />
These links are for general theory, more specific information is linked to its specific topic on this site ( op amp tutorials may be found in the section components.... op amps.<br />
These links may be useful but we have hope to better organize and categorize them in the future. This is Just A Start, help us build up this section.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|What<br />
|Site<br />
|Comment<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://doctord.dyndns.org:8000/courses/Topics/Electronics/Alex_Pounds/Index.htm Electronics Tutorial]<br />
|Review it here.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.mitedu.freeserve.co.uk/adt.htm Circuit Analysis, Design & Theory]<br />
|Various articles, some onsite some off. Review it here.<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www1.jaycar.com.au/primers.asp Primers - Exclusive to Jaycar Electronics]<br />
|From the site: Here you will find extensive primers and valuable application notes on many subjects.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.play-hookey.com/ Welcome to the Play-Hookey Website]<br />
|Digital and analog circuits<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-002Spring-2007/VideoLectures/index.htm MIT OpenCourseWare EECS]<br />
|Massachusetts Institute of Technology's OCW Electrical Engineering Course Video Lectures (note: You need RealPlayer or RealAlternative to play them)<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Microcontroller<br />
*RS232<br />
|[[MC RS232 Comm]]<br />
|Some notes on how to implement RS232 communications on a Microcontroller<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://en.wikibooks.org/wiki/Circuit_Idea Circuit Idea]<br />
|Circuit Idea From Wikibooks, the open-content textbooks collection Revealing the Ideas behind Circuits -- A somewhat different perspective on circuits.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://en.wikibooks.org/wiki/Practical_Electronics Practical Electronics From Wikibooks, the open-content textbooks collection]<br />
|Could use some review.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://www.ibiblio.org/kuphaldt/electricCircuits/ Lessons In Electric Circuits]<br />
|A free series of textbooks on the subjects of electricity and electronics. Not complete yet, but there is a lot of content here, and the stuff you are interested in may be done, or you may want to help finish it.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics(Book)<br />
*<br />
|[http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206719497&sr=1-1 The Art of Electronics]<br />
|Considered one of the best books on electronics ever written.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics/Programming(Book)<br />
*<br />
|[http://www.amazon.com/USB-Complete-Everything-Develop-Peripherals/dp/1931448027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206925487&sr=8-1 USB Complete]<br />
|Introduction to USB. Covers both the hardware as well as some of the software issues like drivers and classes. <br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics/Programming<br />
*<br />
|[http://www.usb.org/developers/docs/ USB 2.0 Specification]<br />
|Free reference documents that cover the hardware and core software of USB <br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Programming<br />
*<br />
|[http://www.usb.org/developers/devclass_docs USB Classes]<br />
|Free reference documentation for standard USB device classes. <br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Programming(Book)<br />
*<br />
|[http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206718864&sr=8-1 The C Programming Language]<br />
|Considered the bible of C from the orignal designers. The book is short and concise, but considered to be very accessible.<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------><br />
<br />
<br />
|}</div>Mzoranhttp://www.opencircuits.com/index.php?title=Programming_Languages&diff=15195Programming Languages2008-03-31T00:59:01Z<p>Mzoran: /* C */</p>
<hr />
<div>== Introduction ==<br />
<br />
Very high level languages are less suitable for microcontrollers, so the choices are less then one would find on a PC. The main programming languages used in microcontrollers are Basic, C/C++, and assembly. Microcontrolers are generally harder to program then PCs because it isn't as easy to view debugging output, it takes more time to flash a new firmware, and the tools are generally less developed then PC tools. One suggestion is to learn basic programming on a PC first and then migrate to embedded systems after gaining some understanding. One hint on selecting a language is to always consider using the same language as the people you work ( play ) with do. This makes getting help much easier. Or pick a language with a strong support system on the internet. Of course the language cost and features matter too.<br />
<br />
== Basic ==<br />
<br />
Some people consider this to be the easiest programming language to learn. The language is line oriented so compilers tend to produce more debugable error messages. Basic can either be interperated as in the Basic Stamp from Parallax or compiled as in PicBasic. Generally speaking the interperted basics run much slower than the compiled basics. In some cases the basic the basic firmware is part of the chip, this can boost the cost of the chip significantly. Still this type of solution can get a beginner up and running quickly. Traditionally basic has not required declaration of all variables and may not be strict about typing of variables, these can be a plus for beginners, by may be disliked by more experienced programmers. Not all Basics have these characteristics and some have optional settings. <br />
<br />
* [http://www.crownhill.co.uk/section.php?section=1 Proton PICBASIC Development Section]<br />
* [http://www.sourceboost.com/Products/BoostBasic/Overview.html What is BoostBasic] Compiler<br />
* [http://gcbasic.sourceforge.net/ Great Cow Basic], open source compiler for Pics<br />
<br />
== C ==<br />
<br />
C is a middle level language that is considered to be high enough for productivity but close enough to the hardware to have some of the power of assembly. C has free form formating rules so the look of C varies according to style and C compilers tend to produce harder to debug error messages. C is gaining in popularity over assembly with microcontrollers as embedded systems are becomming more and more complex. C is almost always compiled instead of interperated. Advanced C requires understanding of pointers which requires lower level understanding of the hardware then some people are interested in going. C compilers can be very expensive, however several free or demo versions of compilers are available. <br />
<br />
* [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 Microchip C18] For 18fxxxx parts from Microchip. Integrates with MPLAB. Free student/Demo version is available that has some optimizations disabled.<br />
* [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010065&part=SW006012 Microchip C30] For Microchip's DsPIC and PIC24 microcontrollers. GCC based with extensions. Free student/Demo version available. <br />
* [http://www.sourceboost.com/Products/BoostC/Overview.html BoostC Compiler Overview] Free for up to 2k of code, BoostC Full License US $69.95 The full license has unlimited RAM and ROM usage. Suitable for projects of all shapes and sizes. The definite choice of the serious programmer. Non-commercial use.<br />
<br />
== C++ ==<br />
<br />
C++ is an extension of C. Many people consider C++ an object oriented language. <br />
<br />
Some of the extension include:<br />
<br />
* Associations between data( classes ) and functions ( member functions ) that operate on that data<br />
* Modifications to existing classes through an extension method called inheritance without requiring modifications to the original code<br />
* Operator and function overloading<br />
<br />
C++ is not as common as C for microcontrollers mostly because many microcontrollers are not powerfull enough to run software large enough where the extra features become imporant. C++ is not supported by as many compilers as C for microcontrollers.<br />
<br />
TODO: Give an example of a C++ compiler for microcontrollers.<br />
<br />
== Assembly ==<br />
<br />
Assembly is a near exact mapping to the actual instructions executed by processors. It is very processor specific. Some architecture such as the older PIC processors are optimized for assembly programming where some RISC based architectors are optimized for higher level languages. Some C compilers do not produce the best possible code so writing in assembly can theoritically produce faster code, but poorly written hand assembly can be worse. Some people mix C and assembly in the same project and most compilers make it easy to integrate assembly in C programs.<br />
<br />
== Other ==<br />
<br />
We should expand this section, but for now will just mention some names, you can google them:<br />
<br />
* JAL Just another Language<br />
* Forth, a fourth generation language</div>Mzoranhttp://www.opencircuits.com/index.php?title=Programming_Languages&diff=15194Programming Languages2008-03-31T00:58:22Z<p>Mzoran: Add C++. More links</p>
<hr />
<div>== Introduction ==<br />
<br />
Very high level languages are less suitable for microcontrollers, so the choices are less then one would find on a PC. The main programming languages used in microcontrollers are Basic, C/C++, and assembly. Microcontrolers are generally harder to program then PCs because it isn't as easy to view debugging output, it takes more time to flash a new firmware, and the tools are generally less developed then PC tools. One suggestion is to learn basic programming on a PC first and then migrate to embedded systems after gaining some understanding. One hint on selecting a language is to always consider using the same language as the people you work ( play ) with do. This makes getting help much easier. Or pick a language with a strong support system on the internet. Of course the language cost and features matter too.<br />
<br />
== Basic ==<br />
<br />
Some people consider this to be the easiest programming language to learn. The language is line oriented so compilers tend to produce more debugable error messages. Basic can either be interperated as in the Basic Stamp from Parallax or compiled as in PicBasic. Generally speaking the interperted basics run much slower than the compiled basics. In some cases the basic the basic firmware is part of the chip, this can boost the cost of the chip significantly. Still this type of solution can get a beginner up and running quickly. Traditionally basic has not required declaration of all variables and may not be strict about typing of variables, these can be a plus for beginners, by may be disliked by more experienced programmers. Not all Basics have these characteristics and some have optional settings. <br />
<br />
* [http://www.crownhill.co.uk/section.php?section=1 Proton PICBASIC Development Section]<br />
* [http://www.sourceboost.com/Products/BoostBasic/Overview.html What is BoostBasic] Compiler<br />
* [http://gcbasic.sourceforge.net/ Great Cow Basic], open source compiler for Pics<br />
<br />
== C ==<br />
<br />
C is a middle level language that is considered to be high enough for productivity but close enough to the hardware to have some of the power of assembly. C has free form formating rules so the look of C varies according to style and C compilers tend to produce harder to debug error messages. C is gaining in popularity over assembly with microcontrollers as embedded systems are becomming more and more complex. C is almost always compiled instead of interperated. Advanced C requires understanding of pointers which requires lower level understanding of the hardware then some people are interested in going. C compilers can be very expensive, however several free or demo versions of compilers are available. <br />
<br />
* [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011 Microchip C18] For 18fxxxx parts from Microchip. Integrates with MPLAB. Free student/Demo version is available that has some optimizations.<br />
* [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010065&part=SW006012 Microchip C30] For Microchip's DsPIC and PIC24 microcontrollers. GCC based with extensions. Free student/Demo version available. <br />
* [http://www.sourceboost.com/Products/BoostC/Overview.html BoostC Compiler Overview] Free for up to 2k of code, BoostC Full License US $69.95 The full license has unlimited RAM and ROM usage. Suitable for projects of all shapes and sizes. The definite choice of the serious programmer. Non-commercial use.<br />
<br />
== C++ ==<br />
<br />
C++ is an extension of C. Many people consider C++ an object oriented language. <br />
<br />
Some of the extension include:<br />
<br />
* Associations between data( classes ) and functions ( member functions ) that operate on that data<br />
* Modifications to existing classes through an extension method called inheritance without requiring modifications to the original code<br />
* Operator and function overloading<br />
<br />
C++ is not as common as C for microcontrollers mostly because many microcontrollers are not powerfull enough to run software large enough where the extra features become imporant. C++ is not supported by as many compilers as C for microcontrollers.<br />
<br />
TODO: Give an example of a C++ compiler for microcontrollers.<br />
<br />
== Assembly ==<br />
<br />
Assembly is a near exact mapping to the actual instructions executed by processors. It is very processor specific. Some architecture such as the older PIC processors are optimized for assembly programming where some RISC based architectors are optimized for higher level languages. Some C compilers do not produce the best possible code so writing in assembly can theoritically produce faster code, but poorly written hand assembly can be worse. Some people mix C and assembly in the same project and most compilers make it easy to integrate assembly in C programs.<br />
<br />
== Other ==<br />
<br />
We should expand this section, but for now will just mention some names, you can google them:<br />
<br />
* JAL Just another Language<br />
* Forth, a fourth generation language</div>Mzoranhttp://www.opencircuits.com/index.php?title=Hardware_tool&diff=15172Hardware tool2008-03-28T16:53:33Z<p>Mzoran: /* Microcontroller Programer/ICD */</p>
<hr />
<div>Getting started with electronics design takes buying some equiptment, but it can be confusing what to buy. I'm going to list here some of the items that I throught were helpful getting started.<br />
<br />
== Breadboard with power supply ==<br />
<br />
Most people start with electronics by connecting up circuits on a breadboard. A breadboard is great for trying out circuits before moving to more permanent construction techniques such as perfboard or custom PCBs.<br />
<br />
<br />
== Spools of wire ==<br />
<br />
Wire is available as stranded or solid. Solid works best with boardboards and perfboards. Stranded works best when creating cables for interboard connections.<br />
<br />
<br />
== Multimeter ==<br />
<br />
Radio Shack is a good source of cheap multimeters. <br />
<br />
== Oscilloscope ==<br />
<br />
An oscilloscope is critical for debugging analog circuits or communication protocols. I prefer PC based oscilloscopes since they are cheaper then dedicated equiptment and are more automated then a traditional phosphor oscilloscope. <br />
<br />
''See [[oscilloscope]]''<br />
<br />
== Storage compartments ==<br />
<br />
As more components are bought, it becomes necessary to store all the components in an organized way and storage compartments are very helpful. These can be bought at the local home improvement or hardware store.<br />
<br />
== Resistor kit ==<br />
<br />
It's important to have alot of different resistor values around as it's almost impossible to buy the correct values in advance. Digikey sells resistors in kits that have a small number of all the standard resistor values.<br />
<br />
== Capacitor kit ==<br />
<br />
Capacitors are like resistors. You need a large number of values. Digikey also sells capacitor kits in addition to the resistor kits.<br />
<br />
<br />
== Microcontroller Programmer/ICD ==<br />
<br />
Microcontrollers are a great way to get started in digital electronics. They are essentially a little computer on a single chip. Unlike large computers these processors usually don't run a full blown operating system so dedicated hardware is used for programming an debugging. In Circuit Debugging are the prefered way to go for development since it's a huge time saver to be able to program and debug software without needing to pull the chip from the circuit. Beleve me, spend the extra money it is worth it.<br />
<br />
== Development Boards ==<br />
<br />
If you are willing to spend some money development boards are a quick way to get started. They typically have a microcontroller, voltage regulator, some LEDs, and some sensors all on one board. The downside is that if you break anything on the board you have to buy a whole new board. With descrete components only the broken part needs to be replaced. On the other hand, more and more components are only available in surface mount packages which almost require a custom PCB to use at all. ARM processors are relatively powerfull microcontroller but at present are not available in through hole versions.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Tutorials&diff=15171Tutorials2008-03-28T16:45:34Z<p>Mzoran: </p>
<hr />
<div>How to understand and plan what you are doing. <br />
<br />
== [[Good equiptment to buy when getting started]] ==<br />
<br />
Discussion of some of the equiptment to buy when getting started with embedded systems.<br />
<br />
== [[Programming Languages]] ==<br />
<br />
Discussion of the most popular programming languages used in embedded systems.<br />
<br />
== External References ==<br />
<br />
These links are for general theory, more specific information is linked to its specific topic on this site ( op amp tutorials may be found in the section components.... op amps.<br />
These links may be useful but we have hope to better organize and categorize them in the future. This is Just A Start, help us build up this section.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|What<br />
|Site<br />
|Comment<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://doctord.dyndns.org:8000/courses/Topics/Electronics/Alex_Pounds/Index.htm Electronics Tutorial]<br />
|Review it here.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.mitedu.freeserve.co.uk/adt.htm Circuit Analysis, Design & Theory]<br />
|Various articles, some onsite some off. Review it here.<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www1.jaycar.com.au/primers.asp Primers - Exclusive to Jaycar Electronics]<br />
|From the site: Here you will find extensive primers and valuable application notes on many subjects.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.play-hookey.com/ Welcome to the Play-Hookey Website]<br />
|Digital and analog circuits<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Microcontroller<br />
*RS232<br />
|[[MC RS232 Comm]]<br />
|Some notes on how to implement RS232 communications on a Microcontroller<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://en.wikibooks.org/wiki/Circuit_Idea Circuit Idea]<br />
|Circuit Idea From Wikibooks, the open-content textbooks collection Revealing the Ideas behind Circuits -- A somewhat different perspective on circuits.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://en.wikibooks.org/wiki/Practical_Electronics Practical Electronics From Wikibooks, the open-content textbooks collection]<br />
|Could use some review.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://www.ibiblio.org/kuphaldt/electricCircuits/ Lessons In Electric Circuits]<br />
|A free series of textbooks on the subjects of electricity and electronics. Not complete yet, but there is a lot of content here, and the stuff you are interested in may be done, or you may want to help finish it.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics(Book)<br />
*<br />
|[http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206719497&sr=1-1 The Art of Electronics]<br />
|Considered one of the best books on electronics ever written.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Programming(Book)<br />
*<br />
|[http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206718864&sr=8-1 The C Programming Language]<br />
|Considered the bible of C from the orignal designers. The book is short and concise, but considered to be very accessible.<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------><br />
<br />
<br />
|}</div>Mzoranhttp://www.opencircuits.com/index.php?title=Tutorials&diff=15170Tutorials2008-03-28T16:40:49Z<p>Mzoran: Link in other topics</p>
<hr />
<div>How to understand and plan what you are doing. These links are for general theory, more specific information is linked to its specific topic on this site ( op amp tutorials may be found in the section components.... op amps.<br />
These links may be useful but we have hope to better organize and categorize them in the future. This is Just A Start, help us build up this section.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|What<br />
|Site<br />
|Comment<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://doctord.dyndns.org:8000/courses/Topics/Electronics/Alex_Pounds/Index.htm Electronics Tutorial]<br />
|Review it here.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.mitedu.freeserve.co.uk/adt.htm Circuit Analysis, Design & Theory]<br />
|Various articles, some onsite some off. Review it here.<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www1.jaycar.com.au/primers.asp Primers - Exclusive to Jaycar Electronics]<br />
|From the site: Here you will find extensive primers and valuable application notes on many subjects.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.play-hookey.com/ Welcome to the Play-Hookey Website]<br />
|Digital and analog circuits<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Microcontroller<br />
*RS232<br />
|[[MC RS232 Comm]]<br />
|Some notes on how to implement RS232 communications on a Microcontroller<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://en.wikibooks.org/wiki/Circuit_Idea Circuit Idea]<br />
|Circuit Idea From Wikibooks, the open-content textbooks collection Revealing the Ideas behind Circuits -- A somewhat different perspective on circuits.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://en.wikibooks.org/wiki/Practical_Electronics Practical Electronics From Wikibooks, the open-content textbooks collection]<br />
|Could use some review.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://www.ibiblio.org/kuphaldt/electricCircuits/ Lessons In Electric Circuits]<br />
|A free series of textbooks on the subjects of electricity and electronics. Not complete yet, but there is a lot of content here, and the stuff you are interested in may be done, or you may want to help finish it.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics(Book)<br />
*<br />
|[http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206719497&sr=1-1 The Art of Electronics]<br />
|Considered one of the best books on electronics ever written.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Programming(Book)<br />
*<br />
|[http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206718864&sr=8-1 The C Programming Language]<br />
|Considered the bible of C from the orignal designers. The book is short and concise, but considered to be very accessible.<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------><br />
<br />
<br />
|}<br />
<br />
== [[Good equiptment to buy when getting started]] ==<br />
<br />
Discussion of some of the equiptment to buy when getting started with embedded systems.<br />
<br />
== [[Programming Languages]] ==<br />
<br />
Discussion of the most popular programming languages used in embedded systems.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Tutorials&diff=15169Tutorials2008-03-28T16:39:06Z<p>Mzoran: Move programming languages to a separate page</p>
<hr />
<div>How to understand and plan what you are doing. These links are for general theory, more specific information is linked to its specific topic on this site ( op amp tutorials may be found in the section components.... op amps.<br />
These links may be useful but we have hope to better organize and categorize them in the future. This is Just A Start, help us build up this section.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|What<br />
|Site<br />
|Comment<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://doctord.dyndns.org:8000/courses/Topics/Electronics/Alex_Pounds/Index.htm Electronics Tutorial]<br />
|Review it here.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.mitedu.freeserve.co.uk/adt.htm Circuit Analysis, Design & Theory]<br />
|Various articles, some onsite some off. Review it here.<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www1.jaycar.com.au/primers.asp Primers - Exclusive to Jaycar Electronics]<br />
|From the site: Here you will find extensive primers and valuable application notes on many subjects.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.play-hookey.com/ Welcome to the Play-Hookey Website]<br />
|Digital and analog circuits<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Microcontroller<br />
*RS232<br />
|[[MC RS232 Comm]]<br />
|Some notes on how to implement RS232 communications on a Microcontroller<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://en.wikibooks.org/wiki/Circuit_Idea Circuit Idea]<br />
|Circuit Idea From Wikibooks, the open-content textbooks collection Revealing the Ideas behind Circuits -- A somewhat different perspective on circuits.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://en.wikibooks.org/wiki/Practical_Electronics Practical Electronics From Wikibooks, the open-content textbooks collection]<br />
|Could use some review.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://www.ibiblio.org/kuphaldt/electricCircuits/ Lessons In Electric Circuits]<br />
|A free series of textbooks on the subjects of electricity and electronics. Not complete yet, but there is a lot of content here, and the stuff you are interested in may be done, or you may want to help finish it.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics(Book)<br />
*<br />
|[http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206719497&sr=1-1 The Art of Electronics]<br />
|Considered one of the best books on electronics ever written.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Programming(Book)<br />
*<br />
|[http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206718864&sr=8-1 The C Programming Language]<br />
|Considered the bible of C from the orignal designers. The book is short and concise, but considered to be very accessible.<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------><br />
<br />
<br />
|}<br />
<br />
== [[Programming Languages]] ==<br />
<br />
Discussion of the most popular programming languages used in embedded systems.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Programming_Languages&diff=15168Programming Languages2008-03-28T16:36:42Z<p>Mzoran: </p>
<hr />
<div>== Introduction ==<br />
<br />
Very high level languages are less suitable for microcontrollers, so the choices are less then one would find on a PC. The main programming languages used <br />
in microcontrollers are Basic, C, and assembly. Microcontrolers are generally harder to program then PCs because it isn't as easy to view debugging output, it takes more time to flash a new firmware, and the tools are generally less developed then PC tools. One suggestion is to learn basic programming on a PC first and then migrate to embedded systems after gaining some understanding.<br />
<br />
== Basic ==<br />
<br />
Some people consider this to be the easiest programming language to learn. The language is line oriented so compilers tend to produce more debugable error messages. Basic can either be interperated as in the Basic Stamp from Parallax or compiled as in PicBasic.<br />
<br />
== C ==<br />
<br />
C is a middle level language that is considered to be high enough for productivity but close enough to the hardware to have some of the power of assembly.<br />
C has free form formating rules so the look of C varies according to style and C compilers tend to produce harder to debug error messages. C is gaining in popularity in microcontrollers as embedded systems are becomming more and more complex. C is almost always compiled instead of interperated. Advanced C requires understanding of pointers which requires lower level understanding of the hardware then some people are interested in going. Several free or demo versions of compilers such as variations of GCC for microcontrollers or C18/C30 for Microchip PIC processors are available.<br />
<br />
== Assembly ==<br />
<br />
Assembly is a near exact mapping to the actual instructions executed by processors. It is very processor specific. Some architecture such as the older PIC processors are optimized for assembly programming where some RISC based architectors are optimized for higher level languages. Some C compilers do not produce the best possible code so writing in assembly can theoritically produce faster code, but poorly written hand assembly can be worse. Some people mix C and assembly in the same project and most compilers make it easy to integrate assembly in C programs.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Programming_Languages&diff=15167Programming Languages2008-03-28T16:36:01Z<p>Mzoran: Make programming languages a separate page</p>
<hr />
<div>== Programming Languages ==<br />
<br />
Very high level languages are less suitable for microcontrollers, so the choices are less then one would find on a PC. The main programming languages used <br />
in microcontrollers are Basic, C, and assembly. Microcontrolers are generally harder to program then PCs because it isn't as easy to view debugging output, it takes more time to flash a new firmware, and the tools are generally less developed then PC tools. One suggestion is to learn basic programming on a PC first and then migrate to embedded systems after gaining some understanding.<br />
<br />
== Basic ==<br />
<br />
Some people consider this to be the easiest programming language to learn. The language is line oriented so compilers tend to produce more debugable error messages. Basic can either be interperated as in the Basic Stamp from Parallax or compiled as in PicBasic.<br />
<br />
== C ==<br />
<br />
C is a middle level language that is considered to be high enough for productivity but close enough to the hardware to have some of the power of assembly.<br />
C has free form formating rules so the look of C varies according to style and C compilers tend to produce harder to debug error messages. C is gaining in popularity in microcontrollers as embedded systems are becomming more and more complex. C is almost always compiled instead of interperated. Advanced C requires understanding of pointers which requires lower level understanding of the hardware then some people are interested in going. Several free or demo versions of compilers such as variations of GCC for microcontrollers or C18/C30 for Microchip PIC processors are available.<br />
<br />
== Assembly ==<br />
<br />
Assembly is a near exact mapping to the actual instructions executed by processors. It is very processor specific. Some architecture such as the older PIC processors are optimized for assembly programming where some RISC based architectors are optimized for higher level languages. Some C compilers do not produce the best possible code so writing in assembly can theoritically produce faster code, but poorly written hand assembly can be worse. Some people mix C and assembly in the same project and most compilers make it easy to integrate assembly in C programs.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Tutorials&diff=15166Tutorials2008-03-28T16:27:24Z<p>Mzoran: Programming languages</p>
<hr />
<div>How to understand and plan what you are doing. These links are for general theory, more specific information is linked to its specific topic on this site ( op amp tutorials may be found in the section components.... op amps.<br />
These links may be useful but we have hope to better organize and categorize them in the future. This is Just A Start, help us build up this section.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|What<br />
|Site<br />
|Comment<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://doctord.dyndns.org:8000/courses/Topics/Electronics/Alex_Pounds/Index.htm Electronics Tutorial]<br />
|Review it here.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.mitedu.freeserve.co.uk/adt.htm Circuit Analysis, Design & Theory]<br />
|Various articles, some onsite some off. Review it here.<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www1.jaycar.com.au/primers.asp Primers - Exclusive to Jaycar Electronics]<br />
|From the site: Here you will find extensive primers and valuable application notes on many subjects.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.play-hookey.com/ Welcome to the Play-Hookey Website]<br />
|Digital and analog circuits<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Microcontroller<br />
*RS232<br />
|[[MC RS232 Comm]]<br />
|Some notes on how to implement RS232 communications on a Microcontroller<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://en.wikibooks.org/wiki/Circuit_Idea Circuit Idea]<br />
|Circuit Idea From Wikibooks, the open-content textbooks collection Revealing the Ideas behind Circuits -- A somewhat different perspective on circuits.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://en.wikibooks.org/wiki/Practical_Electronics Practical Electronics From Wikibooks, the open-content textbooks collection]<br />
|Could use some review.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://www.ibiblio.org/kuphaldt/electricCircuits/ Lessons In Electric Circuits]<br />
|A free series of textbooks on the subjects of electricity and electronics. Not complete yet, but there is a lot of content here, and the stuff you are interested in may be done, or you may want to help finish it.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics(Book)<br />
*<br />
|[http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206719497&sr=1-1 The Art of Electronics]<br />
|Considered one of the best books on electronics ever written.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Programming(Book)<br />
*<br />
|[http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206718864&sr=8-1 The C Programming Language]<br />
|Considered the bible of C from the orignal designers. The book is short and concise, but considered to be very accessible.<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------><br />
<br />
<br />
|}<br />
<br />
== Programming Languages ==<br />
<br />
Very high level languages are less suitable for microcontrollers, so the choices are less then one would find on a PC. The main programming languages used <br />
in microcontrollers are Basic, C, and assembly. Microcontrolers are generally harder to program then PCs because it isn't as easy to view debugging output, it takes more time to flash a new firmware, and the tools are generally less developed then PC tools. One suggestion is to learn basic programming on a PC first and then migrate to embedded systems after gaining some understanding.<br />
<br />
== Basic ==<br />
<br />
Some people consider this to be the easiest programming language to learn. The language is line oriented so compilers tend to produce more debugable error messages. Basic can either be interperated as in the Basic Stamp from Parallax or compiled as in PicBasic.<br />
<br />
== C ==<br />
<br />
C is a middle level language that is considered to be high enough for productivity but close enough to the hardware to have some of the power of assembly.<br />
C has free form formating rules so the look of C varies according to style and C compilers tend to produce harder to debug error messages. C is gaining in popularity in microcontrollers as embedded systems are becomming more and more complex. C is almost always compiled instead of interperated. Advanced C requires understanding of pointers which requires lower level understanding of the hardware then some people are interested in going. Several free or demo versions of compilers such as variations of GCC for microcontrollers or C18/C30 for Microchip PIC processors are available.<br />
<br />
== Assembly ==<br />
<br />
Assembly is a near exact mapping to the actual instructions executed by processors. It is very processor specific. Some architecture such as the older PIC processors are optimized for assembly programming where some RISC based architectors are optimized for higher level languages. Some C compilers do not produce the best possible code so writing in assembly can theoritically produce faster code, but poorly written hand assembly can be worse. Some people mix C and assembly in the same project and most compilers make it easy to integrate assembly in C programs.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Tutorials&diff=15165Tutorials2008-03-28T15:55:42Z<p>Mzoran: </p>
<hr />
<div>How to understand and plan what you are doing. These links are for general theory, more specific information is linked to its specific topic on this site ( op amp tutorials may be found in the section components.... op amps.<br />
These links may be useful but we have hope to better organize and categorize them in the future. This is Just A Start, help us build up this section.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|What<br />
|Site<br />
|Comment<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://doctord.dyndns.org:8000/courses/Topics/Electronics/Alex_Pounds/Index.htm Electronics Tutorial]<br />
|Review it here.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.mitedu.freeserve.co.uk/adt.htm Circuit Analysis, Design & Theory]<br />
|Various articles, some onsite some off. Review it here.<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www1.jaycar.com.au/primers.asp Primers - Exclusive to Jaycar Electronics]<br />
|From the site: Here you will find extensive primers and valuable application notes on many subjects.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.play-hookey.com/ Welcome to the Play-Hookey Website]<br />
|Digital and analog circuits<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Microcontroller<br />
*RS232<br />
|[[MC RS232 Comm]]<br />
|Some notes on how to implement RS232 communications on a Microcontroller<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://en.wikibooks.org/wiki/Circuit_Idea Circuit Idea]<br />
|Circuit Idea From Wikibooks, the open-content textbooks collection Revealing the Ideas behind Circuits -- A somewhat different perspective on circuits.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://en.wikibooks.org/wiki/Practical_Electronics Practical Electronics From Wikibooks, the open-content textbooks collection]<br />
|Could use some review.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://www.ibiblio.org/kuphaldt/electricCircuits/ Lessons In Electric Circuits]<br />
|A free series of textbooks on the subjects of electricity and electronics. Not complete yet, but there is a lot of content here, and the stuff you are interested in may be done, or you may want to help finish it.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics(Book)<br />
*<br />
|[http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206719497&sr=1-1 The Art of Electronics]<br />
|Considered one of the best books on electronics ever written.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Programming(Book)<br />
*<br />
|[http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206718864&sr=8-1 The C Programming Language]<br />
|Considered the bible of C from the orignal designers. The book is short and concise, but considered to be very accessible.<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------><br />
<br />
<br />
|}</div>Mzoranhttp://www.opencircuits.com/index.php?title=Tutorials&diff=15164Tutorials2008-03-28T15:55:17Z<p>Mzoran: The C programming language</p>
<hr />
<div>How to understand and plan what you are doing. These links are for general theory, more specific information is linked to its specific topic on this site ( op amp tutorials may be found in the section components.... op amps.<br />
These links may be useful but we have hope to better organize and categorize them in the future. This is Just A Start, help us build up this section.<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
|What<br />
|Site<br />
|Comment<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://doctord.dyndns.org:8000/courses/Topics/Electronics/Alex_Pounds/Index.htm Electronics Tutorial]<br />
|Review it here.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.mitedu.freeserve.co.uk/adt.htm Circuit Analysis, Design & Theory]<br />
|Various articles, some onsite some off. Review it here.<br />
<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www1.jaycar.com.au/primers.asp Primers - Exclusive to Jaycar Electronics]<br />
|From the site: Here you will find extensive primers and valuable application notes on many subjects.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://www.play-hookey.com/ Welcome to the Play-Hookey Website]<br />
|Digital and analog circuits<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Microcontroller<br />
*RS232<br />
|[[MC RS232 Comm]]<br />
|Some notes on how to implement RS232 communications on a Microcontroller<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
|[http://en.wikibooks.org/wiki/Circuit_Idea Circuit Idea]<br />
|Circuit Idea From Wikibooks, the open-content textbooks collection Revealing the Ideas behind Circuits -- A somewhat different perspective on circuits.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://en.wikibooks.org/wiki/Practical_Electronics Practical Electronics From Wikibooks, the open-content textbooks collection]<br />
|Could use some review.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[http://www.ibiblio.org/kuphaldt/electricCircuits/ Lessons In Electric Circuits]<br />
|A free series of textbooks on the subjects of electricity and electronics. Not complete yet, but there is a lot of content here, and the stuff you are interested in may be done, or you may want to help finish it.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Electronics(Book)<br />
*<br />
|[http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206719497&sr=1-1 The Art of Electronics]<br />
|Considered one of the best books on electronics ever written.<br />
<!----------------------------------><br />
|-valign="top" <br />
|<br />
*Programming(Programming)<br />
*<br />
|[http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1206718864&sr=8-1 The C Programming Language]<br />
|Considered the bible of C from the orignal designers. The book is short and concise, but considered to be very accessible.<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------<br />
|-valign="top" <br />
|<br />
*Electronics<br />
*<br />
|[link<br />
|Comment<br />
<!----------------------------------><br />
<br />
<br />
|}</div>Mzoranhttp://www.opencircuits.com/index.php?title=Popular_Parts&diff=15136Popular Parts2008-03-27T17:11:58Z<p>Mzoran: Add info on debuggers</p>
<hr />
<div>Another new page by [[russ_hensel]], not much more than a stub now. Feel free to join in with your recommendations.<br />
<br />
== Popular ==<br />
<br />
So many parts, so many variations, which to pick. Why not try to see what is popular:<br />
<br />
*[http://eeshop.unl.edu/storlist.html The Big List These are the parts the EE Shop keeps in stock to sell to students.] UNL likes them why not us?<br />
*[http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-301Solid-State-CircuitsSpring2003/Tools/ This section contains circuit examples from commercial products and datasheets of transistors which are studied in this course. ] If MIT studdies them, maybe they are worth looking at.<br />
*[http://www.edn.com/archives/1995/052595/11dfcov.htm Choosing an op amp: it's no longer a trying task] The oldies in particular may be good, but not expensive parts.<br />
*[http://www.voti.nl/swp/ Starting with PICmicro controllers] See the Selecting a PIC Section<br />
<br />
== Kits and Projects ==<br />
If you are working from a kit or a published project consider getting extras of the parts. If you use them once you may use them again. Also the authors of these things tend to know and pick what is popular. Always think about; it there are parts that are exceptions that you would never use again.<br />
<br />
==If you are working with X then Y==<br />
Note that links may or may not be to the best source. Look around, add a link if you find a better one. Do not delete a link, unless product is gone for good.<br />
<br />
===X=PIC's===<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! What<br />
! Comment<br />
! Specific Part<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|The PIC<br />
|<br />
*[http://www.voti.nl/swp/ Starting with PICmicro controllers] See the Selecting a PIC Section. I like the 16F877, but this may be out of date.<br />
*[http://www.sparkfun.com/commerce/categories.php?cPath=51_22 Selection of PICs]<br />
|<br />
*16F877A<br />
*18Fxxx<br />
<br />
|-valign="top" <br />
|Debugger<br />
|<br />
I don't recommend wasting time on pure programmers for development purposes. Once you get past the blinking LED stage, you are going to need one of these.<br />
|<br />
*RealICE - Mid to High End PICs<br />
*ICD2 - Broadest range<br />
*Pickit2 - Low to Mid range PICs<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|<br />
Proto Board<br />
|<br />
Some People hate them, but many find them a nice quick way to experiment. I have found a max clock speed of 4 megHz works well.<br />
[http://www.futurlec.com/Breadboards.shtml Breadboard]<br />
|see links<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|<br />
Crystals<br />
|<br />
I keep 4 megHz and 20 meg Hz on hand. Note that some PICs can do without crystals, but timing is not very accurate. Check your spec. sheet, some PICs may be able to go to 40 meg Hz. Note that a couple of capicators are needed as well. Ceramic resinoaters ( sp ) may be used instead.<br />
*[http://www.sparkfun.com/commerce/product_info.php?products_id=534 Crystal 20MHz]<br />
|<br />
*4 meg Hz<br />
*20 meg Hz<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|<br />
Pull Up Resistors<br />
|<br />
Can be used as pull down as well. I use 10k ohms, often useful for other stuff as well.<br />
*[http://www.futurlec.com/Res14WMF.shtml Metal Film 1%] 10 for 20 cents.<br />
|<br />
10K<br />
<!-----------------------------><br />
<br />
<!-- --><br />
|-valign="top" <br />
|<br />
Voltage Reg<br />
|<br />
Easy choice is LM7805. A couple of caps usually go with it. .1 and .01 bypass caps are generally useful.<br />
*[http://www.sparkfun.com/commerce/product_info.php?products_id=107 Voltage Regulator - 5V]<br />
*[http://www.futurlec.com/ICLinearRegulators.shtml 7805T]<br />
|<br />
*7805<br />
*.1 uf<br />
*.01 uf<br />
<!-----------------------------><br />
<!-- --><br />
|-valign="top" <br />
|Op Amp<br />
<br />
|Need to condition you inputs, a op amp may be just the thing, see section on [[op amps]].<br />
|--<br />
<!-----------------------------><br />
|-valign="top" <br />
|LED<br />
<br />
|How else can you say hello world? Pretty much anything will do. Do not forget to get a current limiting resistor 220 ohms or anything close. LED also come in arrays and as 7 segment displays for numerical read out.<br />
|<br />
*220 ohms <br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Push Button<br />
|Need this for input. I get mine from salvage. Later I will find a source for you.<br />
*[http://www.sparkfun.com/commerce/product_info.php?products_id=97 Mini Push Button Switch]<br />
*[http://www.futurlec.com/Switches/TACT001.shtml TACT001 - Small Black Tactile Switch]<br />
|<br />
*see links<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Low Side Switch, Driver Chip <br />
<br />
|When you need more power from an output port this is the way to get more than 10 times a much current, Not very expensive. One chip will drive 2 stepper motors. ULN2803 has 8 inputs and outputs.<br />
*[http://www.futurlec.com/ICLinearOthers.shtml ULN2803A]<br />
*[http://www.sparkfun.com/commerce/product_info.php?products_id=312 Darlington Driver 8-Channel ULN2803 DIP ]<br />
|ULN2803 <br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|High Side Switch Driver Chip<br />
<br />
|Like a low side switch, but on the high side. If you are driving "rows and columns" then you need some on the low side some on the high side. The UDN2981 has 8 inputs and outputs.<br />
*[http://www.futurlec.com/ICSFOthers.shtml UDN2981A]<br />
|UDN2981<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Sensors<br />
|There are so many, for light photo diodes and transistors, for temperature LM34 and similar see section on [[Sensors]].<br />
|*whatever<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Shift Registors<br />
<br />
|Often used to expand the number of ports, I need a bit more research here.<br />
|?<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|LCD Display<br />
<br />
|Put out full alpha numeric data, several characters. Seems like a better? solution than LED when many characters are required. Probably best used with a controller to keep use reasonably simple.<br />
*[http://www.sparkfun.com/commerce/product_info.php?products_id=255 Basic 16x2 Character LCD STN - Black on Green] <br />
*[http://www.piclist.com/techref/io/lcd/panel1.htm LCD Front Panel Set]<br />
|*HD44780 parallel interface<br />
<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<br />
<br />
<!---------------------------------------------><br />
<br />
<br />
<br />
|}<br />
<br />
===X=Op Amps===<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! What<br />
! Comment<br />
! Specific Part<br />
<!-----------------------------><br />
|-valign="top" <br />
|Op Amps<br />
|consider ... what, <br />
|<br />
*358 dual<br />
* [http://www.ladyada.net/rant/2006/02/specifying-an-op-amp/ "Specifying an op-amp"]<br />
* "TL08x series op amps (single, dual, quad) … when you want to have a stash of opamps for prototyping, [http://www.ladyada.net/rant/2006/03/cotw-tl08x-series-op-amps-single-dual-quad/ these are your best bet]."<br />
<!-----------------------------> <br />
|-valign="top" <br />
|Proto Board<br />
|Some People hate them, but many find them a nice quick way to experiment.<br />
|?<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Resistors<br />
<br />
|For precise gain you need 1 percent resistors. I start with 10k and use multiples and sub multiples.<br />
|<br />
*10k<br />
*20k<br />
*100K<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|trim pots<br />
|When you need a bit of adjustability.<br />
|<br />
*10k<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Power Transistors<br />
|An op amp might be good for 20 ma. Couple it to a darlington transistor and get an amp. You may want to go push pull with a pair of npn and pnp transistors. With this you can build power supplies, battery charges, motor drivers, and audio amplifiers.<br />
|TIPsomething<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Sensors<br />
<br />
|Measure something. See [[Sensors]].<br />
|[[Sensors]]<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<!-----------------------------><br />
<br />
<br />
<br />
<br />
|}<br />
<br />
===X=Digital Logic===<br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! What<br />
! Comment<br />
! Specific Part<br />
<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Gates<br />
|<br />
|<br />
*<br />
* 74HC132 Quad 2-in Schmitt-trigger NAND gate<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|<br />
Counters<br />
|<br />
<br />
|?<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Shift registers<br />
<br />
|<br />
|<br />
*?<br />
* 74HC595 eight bit shift register with output latch. SIPO. Perfect for letting the propeller clock [[POV display]] slowly clock in the next value, then LOAD them all at once.<br />
* 74HC166 - 8-bit parallel-load shift registers -- PISO.<br />
<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Voltage Regs<br />
|Power to the Chips<br />
|<br />
*LM7805<br />
<br />
<br />
<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<!-----------------------------<br />
<br />
|-valign="top" <br />
|y<br />
<br />
|comment<br />
|specific<br />
<!-----------------------------><br />
<br />
<br />
<br />
<br />
|}</div>Mzoranhttp://www.opencircuits.com/index.php?title=PIC_Links&diff=15121PIC Links2008-03-26T21:02:37Z<p>Mzoran: add pingpong-cdc</p>
<hr />
<div>Lots of external PIC Links<br />
<br />
=== Section 0 === <br />
<br />
In some cases the links are to search results, all these searches give results that have been judged useful, they are not just shots in the dark. These sites may be project sites like instructables or various blogs. Sometimes individual project from the same sites are listed seperately.<br />
<br />
Key words to help you search the table.<br />
<br />
*Projects: project descriptions, enough to reproduce the project, not just nice pictures<br />
*Tutorial: a tutorial or how to<br />
*Links: a link to more links<br />
*Info: Useful information that does not rise to a tutorial, misc. tips.<br />
*PICIntro: Intro material<br />
*Asm: for assembler programs<br />
*Clang: for C programs<br />
*Forum: for a forum, mail list and their ilk<br />
*WebRing: for a Web Ring.<br />
*DBoard: development board for the controller<br />
<br />
So, for example, if you are looking for projects then search on Projects.<br />
<br />
Note: Help us out with this list by adding links or improving the site comments, fix errors....<br />
<br />
=== Section 1 === <br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! Topic<br />
! Topic Link<br />
! Comment<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Links<br />
*PIC<br />
|<br />
[http://www.geocities.com/SiliconValley/Way/5807/dat.html Microchip Net resources]<br />
|<br />
This has the most links on the PIC that I have seen in one place.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Projects<br />
*Info<br />
*PIC<br />
|[http://piclist.com/techref/piclist/index.htm Welcome to the official PICList home page.]<br />
|This is the place to go for a PIC message board, also many articles. Do not post here until you know what you are doing.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*General Links<br />
*PIC<br />
|[http://www.vermontficks.org/picbegin.htm PIC hints and direction]<br />
|A link page that largely links. Small DC Power Supply, other link pages, may be useful.<br />
<!-------------------------------> <br />
<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PIC<br />
|<br />
[http://www.tinaja.com/picup01.html Pick a Peck of PIC's Library ]<br />
|<br />
Interesting not always easy.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://jap.hu/electronic/combination_lock.html Electronic combination lock with PIC]<br />
|Electronic combination lock with PIC<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://piclist.com/techref/piclist/begin.htm Beginners checklist for PIC Microcontrollers]<br />
|Beginners checklist for PIC Microcontrollers. An excellent place to start.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Links<br />
*PIC<br />
|[http://www.sss-mag.com/pic.html Spread Spectrum Scene PIC STUFF]<br />
|Lots of links.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://jap.hu/electronic/ Peter's electronic projects and links]<br />
|Not all PIC but quite a few.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PICIntro<br />
*Project<br />
*PIC<br />
|[http://www.voti.nl/pic/index.html What is a PICmicro?]<br />
|This guy is very smart, a good site.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Pic<br />
*Links<br />
|[http://o.webring.com/hub?ring=picmicro PicMicro Webring]<br />
|If you do not know what a WebRing perhaps you can figure it out from here.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project <br />
*Robotics<br />
*PIC<br />
|<br />
[http://www.voti.nl/stepbots/index.html Stepbots]<br />
|<br />
A stepbot is a three wheeled robot using stepper motors.<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*Pic<br />
|[http://www3.telus.net/chemelec/Projects/Anemometer/Anemometer.htm An Anemometer Circuit]<br />
|Measure wind speed. This has no moving parts, works by measuring cooling of a “hot” transistor. Fairly low parts count.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://members.cox.net/berniekm/Bench.html Bench Power Supply]<br />
|Uses a PIC for control and to measure voltage and current. Not simple but nice.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.users.bigpond.com/pbhandary/pic/iralyze/iralyze.html IR Remote Signal Analyzer]<br />
|Pretty big PIC project, but cool. Know what your IR remote is sending. IR receivers are a pretty common salvage component<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*Tutorial<br />
*PIC<br />
|[http://www.users.bigpond.com/pbhandary/pic/IRSony.html IR Receiver for Sony Remotes]<br />
|Simpler project than IR Remote Signal Analyzer which may be the better project<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC <br />
|[http://electronics-lab.com/projects/mcu/012/index.html PIC diode tester]<br />
|Nice simple project. Good Starting project. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.sbprojects.com/projects/ircontrol/picir/picir.htm PIC IR Decoders]<br />
|Decodes IR transmissions, has its own 4 digit display. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.dprg.org/projects/1998-08a/ IR Proximity Detector Project]<br />
|More fun with IR<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Robotics<br />
*Links<br />
*PIC<br />
|[http://www.dprg.org/projects/index.html INDEX OF PROJECTS for Robots]<br />
|Not entire robots but basic components for them. Some are PIC based.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://users.frii.com/dlc/robotics/projects/botproj.htm IR Robot Controller]<br />
| control of a robot. Software is assembler.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
<br />
*PICIntro<br />
*Tutorial<br />
*PIC<br />
|[http://www.rentron.com/Myke3.htm Your first PICMicro Project]<br />
|Introduction to PIC processors using assembler. Even if you are using another language this is a good introduction.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://www.sparkfun.com/commerce/present.php?p=BEE-1-PowerSupply Beginning Embedded Electronics]<br />
|This is not actually a PIC tutorial but lots of the material applies. This link is to the first of 10 + sections.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Kit<br />
*PIC<br />
|[http://www.rentron.com/Fire-Stick-II.htm Fire-Stick ]<br />
|This is an under $20. kit for long range IR communications. Uses some special parts so kit is probably a good idea.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.rentron.com/serial.htm How to build a Serial Voltmeter using the PIC16C71]<br />
|Software in PIC basic, you could rewrite in a different language, or use a different chip. Voltmeter talks to a PC. They may have a kit, you may do not need it.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*Links<br />
*PicIntro<br />
*PIC<br />
|[http://www.seattlerobotics.org/encoder/may97/picchip.html The PIC Chip Uncovered]<br />
|Introduction to the PIC.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://members.cox.net/berniekm/unichg.html Battery Charger]<br />
|Nice little battery charger. Universal Nicad/NiMH Includes printed circuit design. Software is assembler.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://robotag.carleton.ca/resources/technical/pic_introduction.shtml Using the MicroChip PIC Microcontroller ]<br />
|A technical overview designed for students Another simple introduction.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://forum.sourceboost.com/index.php?showtopic=2399 pic Micro Programming In Boostc For Beginners]<br />
|Good beginner level<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Tutorial<br />
*PICIntro<br />
*PIC<br />
|[http://home.comcast.net/~russ_hensel/RClub/index.html A really Basic Guide to the PIC Microprocessor and BoostC]<br />
|A really Basic Guide to the PIC Microprocessor and BoostC<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PICIntro<br />
*Tutorial<br />
*PIC<br />
|[http://www.winpicprog.co.uk/pic_tutorial.htm WinPicProg PIC Tutorial]<br />
|Good introduction. Software is assembler. A series of simple projects. Good introduction to simple interface circuits. You might want to use a different programmer<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://fly.srk.fer.hr/~nix/Projects/Sonar/Sonar.html Nix's PIC based sonar system]<br />
|This is a simple range detection system, perhaps for a robot. Directions are a bit brief.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://ironbark.bendigo.latrobe.edu.au/~rice/lc/ A Surprisingly Accurate Digital LC Meter]<br />
|L is inductance ( what a coil of wire has. C is capacitance, what a capacitor has ). Very useful to identify unmarked parts.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.geocities.com/dariuskrail20/PICCapMeter.html Autorange Capacitance Meter]<br />
|Measure the value of a capacitance ( the stuff in a capacitor ). Auto ranging means the device switches itself between low and high measurement ranges.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*CLang<br />
*PIC<br />
|[http://www.microchipc.com/sourcecode/ C sample code for PIC micros and Hi-Tech C]<br />
|From Microchip. Lots of example programs in C: note that different versions of C can be quite different, esp. in their included libraries.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*CLang<br />
*PIC<br />
|[http://www.microchipc.com/sourcecode/ BoostC Compiler Example Code]<br />
| Lots of example programs in C: note that different versions of C can be quite different, esp. in their included libraries.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Info<br />
*PIC<br />
*Links<br />
|[http://en.wikibooks.org/wiki/Embedded_Systems/PIC_Microcontroller Embedded Systems/PIC Microcontroller]<br />
|A bit brief, may be improved over time.<br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*Project<br />
*PIC<br />
|[http://www.best-microcontroller-projects.com/pic-projects.html PIC Projects based on flash pic microcontrollers.]<br />
|A big collection of projects.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
*PIC<br />
*Forum<br />
|[http://forum.microchip.com the official Microchip forum]<br />
|lots of discussion -- try using Google to search this site, rather than the built-in search tool.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|<br />
[http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en529949 Microchip "Code Module Library"]<br />
|While different versions of C are different, these may help no matter which version you are using. Some versions of Microchips compilers are free.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* ASM<br />
|[http://eng-serve.com/pic/index.html Dring Engineering Services]<br />
|Wizards and calculators for generating PIC code.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
* ASM<br />
|[http://www.uchobby.com/index.php/2007/10/13/pic-based-logic-probe/ PIC Based Logic Probe]<br />
|Might be handy around your lab.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Tutorial<br />
|[http://www.picprojects.247n.com/ Introduction - How I got into using the PIC 16F628, 16F876 and other processors]<br />
|One person's experience<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
|[http://www.picguide.org/ PICGuide.org]<br />
|Lots of projects<br />
<br />
|-valign="top" <br />
|<br />
* Project<br />
|<br />
[http://people.zeelandnet.nl/whhofman/jen/PIC/index.html Drake: PICmicro and Maarten's computer]<br />
|<br />
A nice little game built out of a PICmicro, a 2-line LCD screen, and a few supporting components on a solderless breadboard.<br />
Also more complex version with larger screen display.<br />
Source code and schematics available for download.<br />
<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
* Tutorial<br />
* ASM<br />
|[triggers spam filter: www.geocities.com/nozomsite/pic1.htm PIC 16F84]<br />
|Nice little introduction, more stuff elsewhere on site.<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
* ?<br />
* ASM<br />
|[http://microchip.com/wiki/ ICwiki]<br />
|the ICwiki at microchip.com<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
*PIC<br />
*Project<br />
*BoostC<br />
|[http://home.comcast.net/~russ_hensel/RClub/sst/SerialStepperTest.html PIC Stepper Motor Demonstration and Test Project]<br />
|A PIC16F877A project that tests and operates a stepper motor under the control of a PC running a terminal program.<br />
<!---------------------------------><br />
|-valign="top"<br />
|<br />
*PIC<br />
*Project<br />
*BoostC<br />
*Tutorial<br />
|[http://home.comcast.net/~russ_hensel/RClub/BoostCTutorial.html A Really Basic Guide to the PIC Microprocessor and BoostC]<br />
|This is meant to be a more introductory guide to the PIC microprocessor and BoostC ( [http://www.sourceboost.com/home.html] ) <br />
than any I have been able to find on the web. Additionally I assume that you have only limited knowledge of electronics and other microprocessors.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
* Info<br />
* Tutorial<br />
|[http://pic18fusb.online.fr/ Wiki about Microchip USB PIC]<br />
|Wiki dedicated to PIC microcontrollers with a USB interface<br />
(such as PIC18F2550, PIC18F4550, PIC18F2553, etc.)<br />
[http://pic18fusb.online.fr/wiki/wikka.php?wakka=UsbBootload PIC USB tutorial].<br />
<!-------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
* Tutorial<br />
|[http://www.pyroelectro.com/index.php Pyros Electro]<br />
|Seems to have quite a bit of original material and some links to other sites. Tutorials are nice. I think this is a new site ( Feb 08 ).<br />
<!---------------------------------><br />
|-valign="top" <br />
| <br />
* Pic<br />
* Project<br />
|[http://www.cheaphack.net/2008/01/turing-alarm-clock.html The Turing Alarm Clock]<br />
|You have to prove you can think to turn off your alarm clock!<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* Project<br />
|[http://pp06.sourceforge.net/ PP06 PIC Programmer Software]<br />
|Has some [[open hardware]] PIC programmer designs. (Also open source software to use with them).<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Info<br />
|[http://www.ladyada.net/library/picvsavr.html PIC vs. AVR]<br />
|OK, I know what you people want. You want ultimate fighting, embedded E.E. style. You want to know WHICH IS BETTER, PIC OR AVR?<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Info<br />
|[http://www.embedded.com/TechSearch/Search.jhtml?sortSpec=score+desc&site_id=Embedded.com&Site+ID=Embedded.com&queryText=pic&Search.x=0&Search.y=0 Search Results]<br />
|Search Embedded.com for PIC topics.<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Projects<br />
|[http://www.instructables.com/tag/?q=pic+microchip&limit%3Atype%3Aid=on&type%3Aid=on&type%3Auser=on&type%3Acomment=on&type%3Agroup=on&type%3AforumTopic=on&sort=none Search Results]<br />
|Search Instructables for "PIC Microchip".<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.beyondlogic.org/pic/ringtones.htm Generate Ring Tones on your PIC16F87x Microcontroller]<br />
|Looks good.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* CLang<br />
* Project<br />
|[http://www.jeffree.co.uk/pages/revmaster.htm RevMaster - A Simple Tachometer Tony Jeffree Wednesday, 07 February 2007]<br />
|For machine tools. Optical sensor. <br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* ?Lang<br />
* PIC<br />
* Project<br />
|[http://www.instructables.com/id/USB-LED-scrolling-marquee-sign/ USB LED scrolling marquee sign]<br />
|A bit of POV here. Read to see how to drive a lot of LED's ( or at least one way ). Has boot loader and hex file, not sure if source code is there.<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* ?Lang<br />
* Project<br />
|[http://hem.passagen.se/communication/frcpll.html 2.5 GHz Frequency counter]<br />
|From the site: "This project describes a very powerful frequency counter. <br />
Very simple construction which everyone can build. <br />
6 LED display will present the frequency with 1kHz resolution and <br />
RS232 communication to computer is available as option. <br />
The software has also been implemented with some smart functions, <br />
for calculating frequencies in receivers where IF is 455kHz or 10.7MHz. <br />
I present schematic, PCB, components and window software." Not sure if site has source code, does have hex file<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Tutorial<br />
|[http://www.best-microcontroller-projects.com/12F675.html#Program_1_:_12F675_Flashing_an_LED PIC 12F675 Microcontroller Tutorial.]<br />
|Not that many introductory tutorials are done in C, this one is. There is some sort of sale of the source code, this may be a problem.<br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<!---------------------------------<br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* ASM<br />
|[http]<br />
|<br />
------------------------------><br />
<br />
|}<br />
<br />
=== Section 2 === <br />
<br />
{| class="wikitable"<br />
|-valign="top" <br />
! Topic<br />
! Topic Link<br />
! Comment<br />
<!-------------------------------><br />
<br />
<!---------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.dimensionengineering.com/appnotes/Gmeter/Gmeter.htm DE-ACCM5G Application Note G Meter]<br />
|This is in some ways a promotion for the accelerometer they are selling but still looks like an interesting project. accelerometer is about $20. might be worth a look.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.dimensionengineering.com/appnotes/vibration_meter/vibration_meter.htm Building a simple vibration meter]<br />
|This is in some ways a promotion for the accelerometer they are selling but still looks like an interesting project. accelerometer is about $20. might be worth a look.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.uchobby.com/index.php/2008/02/19/pic-based-tengu/ PIC Based Tengu]<br />
|From the site: In this article Juan Mateos creates a PIC version of the Tengu companion. Tengu was originally developed by Crispin Jones as a USB controlled LED matrix that made faces and lip synced to music or other sounds it hears with a built in microphone.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* CLang<br />
* PIC<br />
* Project<br />
|[http://www.best-microcontroller-projects.com/frequency-counter-circuit.html Schematics and C code for a PIC frequency counter circuit operating up to about 50 MHz.]<br />
|Looks interesting.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* Links<br />
* PIC<br />
* Project<br />
|[http://www.best-microcontroller-projects.com/pic-projects.html PIC Projects based on flash pic microcontrollers.]<br />
|Some of these projects are already listed here.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* Asm<br />
* PIC<br />
* Project<br />
|[http://www.sixca.com/eng/articles/remote/index.html 3 channel IR remote control]<br />
|and some theory for IR remotes.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
* DBoard<br />
|[http://www.greta.dhs.org/UBW/ USB Bit Whacker]<br />
|From the site: ''The UBW board is a small board that contains a Microchip PIC USB-capable microcontroller, headers to bring out all of the PICs signal lines (to a breadboard for example), only costs about $15-$20 to build and is powered from the USB connection.'' There seem to be a fair number of additional projects based on this device. Google "Bit Wacker".<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer A Microchip PIC based USB sound card]<br />
|Farily low chip count project. <br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC A FHSS USB RF Modem]<br />
|Demonstrates how to use frequency hopping techniques to create a bidirectional link. <br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* CLang<br />
|[http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY A Scrolling Display with RF connection to a PC]<br />
|Lots and lots of LED's. Wireless!<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.best-microcontroller-projects.com/led-dot-matrix-display.html How to drive an led display matrix.]<br />
|Some basics. Uses row and column drive.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.larwe.com/zws/products/picxie/index.html Picxie - Animated LED Signboard]<br />
|A little 4 by 4 display<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://www.larwe.com/zws/products/picxie2/index.html Picxie 2 - 8x8 Animated LED Signboard]<br />
|Just what it says.<br />
<!------------------------------><br />
|-valign="top" <br />
|<br />
* POV LED Array<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[http://users.tpg.com.au/users/talking/Introduction.html 5x7 DISPLAY]<br />
|A series of experiments with a 5 x 7 display.<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------<br />
|-valign="top" <br />
|<br />
* POV<br />
* PIC<br />
* Project<br />
* ?Lang<br />
|[ ]<br />
|<br />
<!------------------------------><br />
<br />
|}<br />
<br />
<br />
<!--------- scratch area <br />
<br />
How to drive an led display matrix.<br />
<br />
end scratch area -----------------></div>Mzoranhttp://www.opencircuits.com/index.php?title=Optoelectronics&diff=12052Optoelectronics2007-12-19T00:05:10Z<p>Mzoran: Better formating</p>
<hr />
<div>== LEDs ==<br />
<br />
LEDs are diodes that have a voltage drop designed to produce visible light. When using a LED in a cicuit it's important to use a current limiter such as a resistor. A typical LED is designed for aproximately 10mA. When using resistors measure the foreward voltage drop of the LED with a multimeter, subtract this from the supply voltage, then plug the difference into ohms law to calculate the required resistor value. Different color LEDs all have different voltage drops.<br />
<br />
== LCDs ==<br />
<br />
* Serial - These displays have a microcontroller on the display with a serial or I2C connection. Several builtin fonts are typically included. These displays are very easy to use, but the update rate for a display is very slow. Fullblown bitmap support is usually not available. Typical price for these displays is $50+.<br />
<br />
* Parallel - Parallel displays connect to a microcontroller via a parallel interface( the bitwidth varies from 8bits to 32bits ). Displays can have a much faster update rate then serial since they allow arbitrary graphs to be display. The displays are typically much cheaper then serial display starting as low as $20.<br />
<br />
Finding LCD displays is not easy since huge distributors such as Digikey have a limited selection. <br />
<br />
Some places that do have LCDs for hobby use:<br />
<br />
* [http://www.sparkfun.com Sparkfun] - Has a good selection of both parallel and serial displays. <br />
* [http://www.matrixorbitral.com MatrixOrbitral] - Specializes in serial display especially the type for direct connection to a PC.<br />
* [http://www.jameco.com Jameco] - A small selection. Mostly serial.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Optoelectronics&diff=12051Optoelectronics2007-12-19T00:04:24Z<p>Mzoran: LCDs and where to get them</p>
<hr />
<div>== LEDs ==<br />
<br />
LEDs are diodes that have a voltage drop designed to produce visible light. When using a LED in a cicuit it's important to use a current limiter such as a resistor. A typical LED is designed for aproximately 10mA. When using resistors measure the foreward voltage drop of the LED with a multimeter, subtract this from the supply voltage, then plug the difference into ohms law to calculate the required resistor value. Different color LEDs all have different voltage drops.<br />
<br />
== LCDs ==<br />
<br />
* Serial - These displays have a microcontroller on the display with a serial or I2C connection. Several builtin fonts are typically included. These displays are very easy to use, but the update rate for a display is very slow. Fullblown bitmap support is usually not available. Typical price for these displays is $50+.<br />
<br />
* Parallel - Parallel displays connect to a microcontroller via a parallel interface( the bitwidth varies from 8bits to 32bits ). Displays can have a much faster update rate then serial since they allow arbitrary graphs to be display. The displays are typically much cheaper then serial display starting as low as $20.<br />
<br />
Finding LCD displays is not easy since huge distributors such as Digikey have a limited selection. <br />
<br />
Some places that do have LCDs for hobby use:<br />
<br />
[http://www.sparkfun.com Sparkfun] - Has a good selection of both parallel and serial displays. <br />
[http://www.matrixorbitral.com MatrixOrbitral] - Specializes in serial display especially the type for direct connection to a PC.<br />
[http://www.jameco.com Jameco] - A small selection. Mostly serial.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Components&diff=12050Components2007-12-18T23:54:52Z<p>Mzoran: /* Optoelectronics */</p>
<hr />
<div>__NOTOC__<br />
<br />
=== [[Passives]] ===<br />
Resistors, Capacitors, Inductors, ...<br />
<br />
=== [[Integrated Circuits]] ===<br />
Op Amps, Microcontrollers, Voltage Regulators, Digitally Programmable Potentiometers, ...<br />
<br />
=== [[Transistors, Diodes, etc.]] ===<br />
<br />
=== [[Optoelectronics]] ===<br />
LEDs, photodiodes, optoisolators, LCDs, ...<br />
<br />
=== [[Oscillator]] ===<br />
Crystals, Ceramic Resonators, oscillators, ...<br />
<br />
=== [[Connectors]] ===<br />
<br />
=== [[battery|batteries]] ===<br />
<br />
=== [[Enclosures]] ===<br />
<br />
=== [[Sensors]] ===<br />
Accelerometers, Gyroscopes, Temperature Sensors, Pressure Sensors, ...<br />
<br />
=== [[Switches]] ===<br />
<br />
=== [[Modules]] ===<br />
GPS, Mobile Phone, RF Transceiver, Bluetooth Modules, ...<br />
<br />
=== component [[manufacturers]] ===<br />
Links to homepages, phone numbers, contact info, ...<br />
<br />
=== [[PCB Manufacturers]] ===<br />
contact info, PCB trace width/spacing capability, ...<br />
<br />
=== [[Suppliers]] ===<br />
Good places to buy, numbers to call, people to talk to, ...<br />
<br />
[[Category:Components]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Supplier&diff=11958Supplier2007-12-16T23:30:54Z<p>Mzoran: /* Comments */</p>
<hr />
<div>Even if you can find the perfect part, sometimes you can't find anyone who is willing to sell you one. Here is some information on [[components|component]] suppliers.<br />
<br />
<br />
== Giant Catalogs ==<br />
<br />
[[Image:Digikey-Logo.gif|150px|Digikey]] [[Digikey]]<br />
[[Image:Mouser-Logo.png|150px|Mouser]] [[Mouser]]<br />
[[Image:Farnell_logo.gif|150px|Farnell]] [[Farnell]] <br />
<br />
These guys have huge catalogs and an immense selection of parts, yet are still willing to sell things in onseies-and-twosies to hobbyists who can't claim to be prototyping something that'll sell a million units next year. Digi-Key actually got its start in the ham radio market, selling digital keyers.<br />
<br />
I ([[Wiml]]) find that Digi-Key is the place to go for digital stuff, microcontrollers, and the like. For discretes and analog parts, Mouser is usually cheaper and has a better selection. Neither company has a minimum order, but of course they do have shipping and handling fees which make small orders impractical.<br />
<br />
I, myself (who?) appear to have found that [[Jameco]] is good for small quantities of a fairly common part. They don't have anything surface mount, though. For that stuff, I had to go to Digi-Key. I called up Digi-Key to see if I could alter an order I had just placed before it got fulfilled. My order was already far enough along that they couldn't stop it. I believe the phrase was "too far gone". That speaks well of their order fulfillment process. I hear Mouser should be in there too, but I've never had a compelling reason to use them.<br />
<br />
== Mid-size Suppliers ==<br />
<br />
http://www.alliedelec.com/Images/logo_allied.png<br />
[http://www.alliedelec.com/ Allied Electronics]<br />
Honestly I'm not sure if this is a mid-size or large distributor (how are we to tell, anyway?) Allied tends to deal more with "heavy duty" electrical parts (wiring, relays, electromechanical, etc. . .) rather than electronics. However, I've noticed that they do have some suppliers that Mouser/DigiKey don't have in terms of electronics components.<br />
<br />
http://www.newark.com/images/en_US/logo_nio.gif<br />
[http://newark.com/ Newark]<br />
My most recent "Newark in one" catalog is even thicker than my most recent Digikey catalog. ''(The "in one" motto and the swirly logo look identical to the Farnell logo. Is there some kind of connection?)''<br />
<br />
Newark usually has just about every odd semiconductor you might need in stock. Their shipping tends to be rather expensive, however (be prepared, as they won't give you a shipping quote until after you order, just like every other distributor), and they seem to really not like small orders, in my experience.<br />
<br />
Newark InOne, Farnell InOne, and MCM InOne are all electronics distributors owned by the InOne Company.<br />
<br />
http://www.jameco.com/wcsstore/Jameco/images/jamecoLogo.gif<br />
[http://jameco.com/ Jameco]<br />
[[Jameco]]'s catalogs have been getting fatter recently and their prices are good for common parts. Their Jameco ValueBrand parts are often much cheaper than the competition. (I have yet to notice the difference, personally -mdwebster) Jameco tends to focus on generic and older parts, where the giant supplier tend to focus on newer brand name parts. Jameco has a decent selection of cheap tools.<br />
<br />
Radio Shack is OK if you need a common part NOW, but expect to pay probably 10 times the mail order price. In the past couple of years (2005-2006), I've noticed many Radio Shacks have ceased carrying ANY electronics parts. You're most likely to find solder, wire, switches, led's, and project boxes. The selection of transistors or IC's are poor to nonexistent.<br />
If you have a Fry's in your area, they have a much better selection, but their component prices are not much better then RS. Unless you need a part immediately, you'll be much better off getting it mail order. <br />
<br />
Pricewatch is good for locating certain computer gear at its version of the best price. Froogle is sort of the same thing, but without the seedy side filtered out.<br />
<br />
== Smaller and niche suppliers ==<br />
[[Action Electronics]] (http://www.action-electronics.com/) Good place for soldering suppies, hand tools, small components.<br />
<br />
[[All Electronics]] (http://www.allelectronics.com) Corp. needs to even out their stuff a bit. Either specialize in a few types of parts or be more even across the board. Spark Fun Electronics appears to be trying to do it right. It is still weird that I can't just order a bunch of 0603 resistors from them. Seems like a no-brainer.<br />
<br />
[[Alltronics]] (http://www.alltronics.com/) is similar to All Electronics in what they carry. Fairly sure they're different companies with annoyingly similar names.<br />
<br />
[[American Science and Surplus]] (http://www.sciplus.com/) has a little bit of everything. Rubber spiders, speakers, prisms, lab equipment, electromechanical timers, Slinkies, motors, switches, fake vomit, glow-in-the-dark pencils, radio-controlled toy rats... Good selection of fans and motors, and an oddball attitude to boot. If you're near Chicago, their retail store is even weirder.<br />
<br />
American Science &amp; Surplus<br />
[http://www.sciplus.com/recommend.cfm?recommendid=11013&jump=index%2Ecfm%3Fstart%3D1 seems to have good prices on breadboards].<br />
<br />
[[Electronics Goldmine]] (http://www.goldmine-elec.com/) is another surplus warehouse. Don't expect to find any particular part, but they have good prices on what they do carry.<br />
<br />
[[Futurlec.com]] (http://www.futurlec.com) I've been very happy with Futurlec. Their prices are outstanding, especially on value packs. Their customer service isn't stellar, but in the end they've always resolved any problems that I've had. They ship from Australia/Thailand, but their shipping prices are reasonable & the shipping is quick enough.<br />
<br />
[[Logical Systems]] (http://www.logicalsys.com/) IC Programming addapters. Surface Mount to DIP, many more than I thought there were.<br />
<br />
[[microcontrollershop.com]] (http://microcontrollershop.com) - Large selection of development boards, programmers, debuggers for microcontroller projects. All major architectures ARM, 8051, PIC, Atmel AVR, TI MSP430, Freescale HC08, HC12, etc.<br />
<br />
[[MPJA.com]] (http://www.mpja.com) - prototyping tools, components. Not a huge selection, but prices are low. If you order something that comes with an instruction sheet that was translated into English, the directions may be hard to decipher due to poor translation, possibly from Chinese. They ship from Florida.<br />
<br />
[[Surplus Sales]] (http://www.surplussales.com/) more exotic surplus parts.<br />
<br />
[[Surplus Shed]] (http://www.surplusshed.com/) carries a some electronics and lots of optics. (Prisms, microscopes, etc)<br />
<br />
[[Adafruit Industries]] (http://www.adafruit.com/) DIY kits and AVR programmers. Their open source AVR programmer usbtinyusb is especially recommended. Ok service and shipping.<br />
<br />
[[Fastcomponents]] (http://www.fastcomponents.co.uk/) They only have packs, but the packs are good value.<br />
<br />
[[Sparkfun]] (http://www.sparkfun.com) Specializes in microcontrollers and robotics. They also have nice AVR tutorials.<br />
<br />
== PCB manufacturers ==<br />
<br />
For companies that supply a PCB customized to your design, see [[PCB Manufacturers]].<br />
<br />
== Comments ==<br />
<br />
I want to see some competition in the micro dev/app board market. I just paid approximately 34.95 + its share of the shipping for a 32 bit ARM microcontroller on a PCB and with a USB device port on one end and a series of header sockets on the other. If that is considered cheap, then this is never going to take off.<br />
<br />
I realize that other authors will have different opinions than I, and that this entry is probably not going to remain as it is for long. Come on, everybody. These comments do not reflect the opinions of Open Circuits. They are only my own. Add yours.<br />
<br />
I personally stay away from app boards unless I absolutely need to use them because of the price. Also the components tend to not be in sockets, so if you blow a pin or two on that $100 app board, you need to replace the entire board as opposed to a $5 microcontroller. Unfortunatly, many of the better parts are only available in SMT packages. [[User:Mzoran|Mzoran]] 15:30, 16 December 2007 (PST)<br />
<br />
----<br />
<br />
I've had great experiences with [[Mouser]] and [[Jameco]] for smallish orders (<$200). I've also had several good experiences with [[SparkFun]]. I now avoid Fry's. In addition to their horrible return policies, their stock is very random and prices aren't very good.<br />
<br />
----<br />
<br />
My personal experiance with Surplus Sales was very good. I would highly recommend them for anyone that needs a blower motor, hydraulic pump, etc. Good prices, good service.<br />
<br />
----<br />
<br />
IguanaLabs ( http://www.iguanalabs.com/ ) seems to be very hobbyist-friendly. They have a very small selection of parts, but it includes the lowest-cost [[breadboard]]s I've seen. <br />
<br />
Please note that IguanaLabs will be closing its doors for good on August 11th, 2007.<br />
<br />
<br />
----<br />
<br />
See also the list at http://techref.massmind.org/techref/supplies.htm .<br />
<br />
----<br />
<br />
Don't forget to check [http://www.ebay.com ebay] if you're looking for fairly generic items. There are a number of suppliers that ship cheap components from China, plus a few who ship from within the US. I've gotten great prices on character LCD displays, pin headers, SMD LEDs, and PIC microcontrollers, among others.<br />
<br />
[http://ledshoppe.com/ ledshoppe] has good prices on LEDs (all pin-through-hole). They don't have any other components, but they do have dirt cheap bluetooth dongles and SD card readers that may be of interest. Shipped from China, shipping is free. Usually arrives in the US in about a week, never had a problem with them.<br />
<br />
----<br />
<br />
Should comments be moved to discussion and a consensus formed around factual information regarding suppliers?<br />
<br />
== other supplier reviews ==<br />
<br />
* [http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Suppliers LinuxCNC: Suppliers]<br />
<br />
<br />
[[category:suppliers]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Supplier&diff=11957Supplier2007-12-16T23:25:35Z<p>Mzoran: /* Mid-size Suppliers */</p>
<hr />
<div>Even if you can find the perfect part, sometimes you can't find anyone who is willing to sell you one. Here is some information on [[components|component]] suppliers.<br />
<br />
<br />
== Giant Catalogs ==<br />
<br />
[[Image:Digikey-Logo.gif|150px|Digikey]] [[Digikey]]<br />
[[Image:Mouser-Logo.png|150px|Mouser]] [[Mouser]]<br />
[[Image:Farnell_logo.gif|150px|Farnell]] [[Farnell]] <br />
<br />
These guys have huge catalogs and an immense selection of parts, yet are still willing to sell things in onseies-and-twosies to hobbyists who can't claim to be prototyping something that'll sell a million units next year. Digi-Key actually got its start in the ham radio market, selling digital keyers.<br />
<br />
I ([[Wiml]]) find that Digi-Key is the place to go for digital stuff, microcontrollers, and the like. For discretes and analog parts, Mouser is usually cheaper and has a better selection. Neither company has a minimum order, but of course they do have shipping and handling fees which make small orders impractical.<br />
<br />
I, myself (who?) appear to have found that [[Jameco]] is good for small quantities of a fairly common part. They don't have anything surface mount, though. For that stuff, I had to go to Digi-Key. I called up Digi-Key to see if I could alter an order I had just placed before it got fulfilled. My order was already far enough along that they couldn't stop it. I believe the phrase was "too far gone". That speaks well of their order fulfillment process. I hear Mouser should be in there too, but I've never had a compelling reason to use them.<br />
<br />
== Mid-size Suppliers ==<br />
<br />
http://www.alliedelec.com/Images/logo_allied.png<br />
[http://www.alliedelec.com/ Allied Electronics]<br />
Honestly I'm not sure if this is a mid-size or large distributor (how are we to tell, anyway?) Allied tends to deal more with "heavy duty" electrical parts (wiring, relays, electromechanical, etc. . .) rather than electronics. However, I've noticed that they do have some suppliers that Mouser/DigiKey don't have in terms of electronics components.<br />
<br />
http://www.newark.com/images/en_US/logo_nio.gif<br />
[http://newark.com/ Newark]<br />
My most recent "Newark in one" catalog is even thicker than my most recent Digikey catalog. ''(The "in one" motto and the swirly logo look identical to the Farnell logo. Is there some kind of connection?)''<br />
<br />
Newark usually has just about every odd semiconductor you might need in stock. Their shipping tends to be rather expensive, however (be prepared, as they won't give you a shipping quote until after you order, just like every other distributor), and they seem to really not like small orders, in my experience.<br />
<br />
Newark InOne, Farnell InOne, and MCM InOne are all electronics distributors owned by the InOne Company.<br />
<br />
http://www.jameco.com/wcsstore/Jameco/images/jamecoLogo.gif<br />
[http://jameco.com/ Jameco]<br />
[[Jameco]]'s catalogs have been getting fatter recently and their prices are good for common parts. Their Jameco ValueBrand parts are often much cheaper than the competition. (I have yet to notice the difference, personally -mdwebster) Jameco tends to focus on generic and older parts, where the giant supplier tend to focus on newer brand name parts. Jameco has a decent selection of cheap tools.<br />
<br />
Radio Shack is OK if you need a common part NOW, but expect to pay probably 10 times the mail order price. In the past couple of years (2005-2006), I've noticed many Radio Shacks have ceased carrying ANY electronics parts. You're most likely to find solder, wire, switches, led's, and project boxes. The selection of transistors or IC's are poor to nonexistent.<br />
If you have a Fry's in your area, they have a much better selection, but their component prices are not much better then RS. Unless you need a part immediately, you'll be much better off getting it mail order. <br />
<br />
Pricewatch is good for locating certain computer gear at its version of the best price. Froogle is sort of the same thing, but without the seedy side filtered out.<br />
<br />
== Smaller and niche suppliers ==<br />
[[Action Electronics]] (http://www.action-electronics.com/) Good place for soldering suppies, hand tools, small components.<br />
<br />
[[All Electronics]] (http://www.allelectronics.com) Corp. needs to even out their stuff a bit. Either specialize in a few types of parts or be more even across the board. Spark Fun Electronics appears to be trying to do it right. It is still weird that I can't just order a bunch of 0603 resistors from them. Seems like a no-brainer.<br />
<br />
[[Alltronics]] (http://www.alltronics.com/) is similar to All Electronics in what they carry. Fairly sure they're different companies with annoyingly similar names.<br />
<br />
[[American Science and Surplus]] (http://www.sciplus.com/) has a little bit of everything. Rubber spiders, speakers, prisms, lab equipment, electromechanical timers, Slinkies, motors, switches, fake vomit, glow-in-the-dark pencils, radio-controlled toy rats... Good selection of fans and motors, and an oddball attitude to boot. If you're near Chicago, their retail store is even weirder.<br />
<br />
American Science &amp; Surplus<br />
[http://www.sciplus.com/recommend.cfm?recommendid=11013&jump=index%2Ecfm%3Fstart%3D1 seems to have good prices on breadboards].<br />
<br />
[[Electronics Goldmine]] (http://www.goldmine-elec.com/) is another surplus warehouse. Don't expect to find any particular part, but they have good prices on what they do carry.<br />
<br />
[[Futurlec.com]] (http://www.futurlec.com) I've been very happy with Futurlec. Their prices are outstanding, especially on value packs. Their customer service isn't stellar, but in the end they've always resolved any problems that I've had. They ship from Australia/Thailand, but their shipping prices are reasonable & the shipping is quick enough.<br />
<br />
[[Logical Systems]] (http://www.logicalsys.com/) IC Programming addapters. Surface Mount to DIP, many more than I thought there were.<br />
<br />
[[microcontrollershop.com]] (http://microcontrollershop.com) - Large selection of development boards, programmers, debuggers for microcontroller projects. All major architectures ARM, 8051, PIC, Atmel AVR, TI MSP430, Freescale HC08, HC12, etc.<br />
<br />
[[MPJA.com]] (http://www.mpja.com) - prototyping tools, components. Not a huge selection, but prices are low. If you order something that comes with an instruction sheet that was translated into English, the directions may be hard to decipher due to poor translation, possibly from Chinese. They ship from Florida.<br />
<br />
[[Surplus Sales]] (http://www.surplussales.com/) more exotic surplus parts.<br />
<br />
[[Surplus Shed]] (http://www.surplusshed.com/) carries a some electronics and lots of optics. (Prisms, microscopes, etc)<br />
<br />
[[Adafruit Industries]] (http://www.adafruit.com/) DIY kits and AVR programmers. Their open source AVR programmer usbtinyusb is especially recommended. Ok service and shipping.<br />
<br />
[[Fastcomponents]] (http://www.fastcomponents.co.uk/) They only have packs, but the packs are good value.<br />
<br />
[[Sparkfun]] (http://www.sparkfun.com) Specializes in microcontrollers and robotics. They also have nice AVR tutorials.<br />
<br />
== PCB manufacturers ==<br />
<br />
For companies that supply a PCB customized to your design, see [[PCB Manufacturers]].<br />
<br />
== Comments ==<br />
<br />
I want to see some competition in the micro dev/app board market. I just paid approximately 34.95 + its share of the shipping for a 32 bit ARM microcontroller on a PCB and with a USB device port on one end and a series of header sockets on the other. If that is considered cheap, then this is never going to take off.<br />
<br />
I realize that other authors will have different opinions than I, and that this entry is probably not going to remain as it is for long. Come on, everybody. These comments do not reflect the opinions of Open Circuits. They are only my own. Add yours.<br />
<br />
----<br />
<br />
I've had great experiences with [[Mouser]] and [[Jameco]] for smallish orders (<$200). I've also had several good experiences with [[SparkFun]]. I now avoid Fry's. In addition to their horrible return policies, their stock is very random and prices aren't very good.<br />
<br />
----<br />
<br />
My personal experiance with Surplus Sales was very good. I would highly recommend them for anyone that needs a blower motor, hydraulic pump, etc. Good prices, good service.<br />
<br />
----<br />
<br />
IguanaLabs ( http://www.iguanalabs.com/ ) seems to be very hobbyist-friendly. They have a very small selection of parts, but it includes the lowest-cost [[breadboard]]s I've seen. <br />
<br />
Please note that IguanaLabs will be closing its doors for good on August 11th, 2007.<br />
<br />
<br />
----<br />
<br />
See also the list at http://techref.massmind.org/techref/supplies.htm .<br />
<br />
----<br />
<br />
Don't forget to check [http://www.ebay.com ebay] if you're looking for fairly generic items. There are a number of suppliers that ship cheap components from China, plus a few who ship from within the US. I've gotten great prices on character LCD displays, pin headers, SMD LEDs, and PIC microcontrollers, among others.<br />
<br />
[http://ledshoppe.com/ ledshoppe] has good prices on LEDs (all pin-through-hole). They don't have any other components, but they do have dirt cheap bluetooth dongles and SD card readers that may be of interest. Shipped from China, shipping is free. Usually arrives in the US in about a week, never had a problem with them.<br />
<br />
----<br />
<br />
Should comments be moved to discussion and a consensus formed around factual information regarding suppliers?<br />
<br />
== other supplier reviews ==<br />
<br />
* [http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Suppliers LinuxCNC: Suppliers]<br />
<br />
<br />
[[category:suppliers]]</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11903Integrated Circuits2007-12-13T04:40:24Z<p>Mzoran: /* Digital Potentiometers */</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
Unlike a mechanical POT, digial POTs often have the restriction that the three terminals of the POT needs to be < VCC and > GND making these devices harder to use in applications such as LCD contract adjustment where the contrast is controlled by a voltage lower then GND.<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
Microcontrollers are little computers on a single Die/Package. The computer includes a CPU core, RAM, ROM/FLASH, and peripherals including UARTS, A/D converters, SPI, and I2C. Most modern microcontrollers use FLASH ram instead of a ROM so they can be programmed over and over. Many modern microcontrollers allow self-flashing to enable bootloading or a firmware update without pulling the chip from the circuit or using a programmer/debugger. Microcontrollers tend to be more optimizated for writting in assembly then PCs, but C and less so Basic are becoming the standard programming languages.<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* [[Microchip]] dsPIC/PIC24 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* [[Microchip]] PIC32 32 bit FLASH microcontrollers<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: Very high gain differential amplifiers. Feedback through a resistor network is used to adjust final gain. Resistors and capacitors can be placed in the feedback path to create complex circuits such as filters. Used to condition signals received from sensors.<br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
Logic gates are the building blocks of digital circuits. Any digital circuit including microprocessors can be built out of the NOT function plus AND or OR. <br />
<br />
Common forms found in descrete gates:<br />
* NAND - NOT of an AND<br />
* NOR - NOT of an OR<br />
* XOR - exclusive or<br />
* Flip-Flop - A 1 bit storage element that can be built out of more fundamental logic gates. Often available in packages of 8 and sold by the name of Latch or Register.<br />
<br />
Descrete gates are available in a very large number of variations. The variations include TTL or CMOS inputs, standard vs. open collector outputs, and propagation delay.<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
* Low pin count( 8 - 12 ) microcontrolers are great for logic gate replacement when high speed is not required. Athough slower, slightly more expensive, and needing to be programmed they are great for prototyping due to the extra flexibility that comes from not needing to stock lots of gate variations.<br />
<br />
* FPGAs are flexible ICs contain a very large number of gates( thousands to millions ) that can be arbitrarly connected together through programming in VHDL. Only available in surface mount large pin counts. It's possible to prototype processor designs with these devices.<br />
<br />
== RF ICs/Modules ==<br />
<br />
RF modules allow transmission and reception of digital signals over radio. The two most common types are AM and FM( FSK ). The three major frequency bands used by unlicensed devices are 433MHz, 900MHz, and 2.4GHz. 433MHz has very limited uses by the FCC and is mostly used by garage door openers and wireless key entry systems. Many newer devices are moving to 2.4GHz due to the greater amount of room, althrough 2.4GHz is harder to use and has less range then the same power 900MHz system.<br />
<br />
A major consideration when choosing an RF IC/Module is the amount of protocol stack that the device contains. Some modules are little more then a modulator and demodulator with the digial imput and output directly controlling the RF signal to serial line wire replacement modules that implement frequency hopping, pairing, error correct/detection, and retransmission of broken data.<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? ''(prices in quantity 1 from Newark or Digikey)''<br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $7 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details.<br />
* $10 18F2553 USB microcontroller has 12bit ADC( $5.11 from buy.microchip.com in single unit quantities )<br />
* $6.50 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits).<br />
* $56 analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11902Integrated Circuits2007-12-13T04:36:10Z<p>Mzoran: /* RF ICs/Modules */</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
Microcontrollers are little computers on a single Die/Package. The computer includes a CPU core, RAM, ROM/FLASH, and peripherals including UARTS, A/D converters, SPI, and I2C. Most modern microcontrollers use FLASH ram instead of a ROM so they can be programmed over and over. Many modern microcontrollers allow self-flashing to enable bootloading or a firmware update without pulling the chip from the circuit or using a programmer/debugger. Microcontrollers tend to be more optimizated for writting in assembly then PCs, but C and less so Basic are becoming the standard programming languages.<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* [[Microchip]] dsPIC/PIC24 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* [[Microchip]] PIC32 32 bit FLASH microcontrollers<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: Very high gain differential amplifiers. Feedback through a resistor network is used to adjust final gain. Resistors and capacitors can be placed in the feedback path to create complex circuits such as filters. Used to condition signals received from sensors.<br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
Logic gates are the building blocks of digital circuits. Any digital circuit including microprocessors can be built out of the NOT function plus AND or OR. <br />
<br />
Common forms found in descrete gates:<br />
* NAND - NOT of an AND<br />
* NOR - NOT of an OR<br />
* XOR - exclusive or<br />
* Flip-Flop - A 1 bit storage element that can be built out of more fundamental logic gates. Often available in packages of 8 and sold by the name of Latch or Register.<br />
<br />
Descrete gates are available in a very large number of variations. The variations include TTL or CMOS inputs, standard vs. open collector outputs, and propagation delay.<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
* Low pin count( 8 - 12 ) microcontrolers are great for logic gate replacement when high speed is not required. Athough slower, slightly more expensive, and needing to be programmed they are great for prototyping due to the extra flexibility that comes from not needing to stock lots of gate variations.<br />
<br />
* FPGAs are flexible ICs contain a very large number of gates( thousands to millions ) that can be arbitrarly connected together through programming in VHDL. Only available in surface mount large pin counts. It's possible to prototype processor designs with these devices.<br />
<br />
== RF ICs/Modules ==<br />
<br />
RF modules allow transmission and reception of digital signals over radio. The two most common types are AM and FM( FSK ). The three major frequency bands used by unlicensed devices are 433MHz, 900MHz, and 2.4GHz. 433MHz has very limited uses by the FCC and is mostly used by garage door openers and wireless key entry systems. Many newer devices are moving to 2.4GHz due to the greater amount of room, althrough 2.4GHz is harder to use and has less range then the same power 900MHz system.<br />
<br />
A major consideration when choosing an RF IC/Module is the amount of protocol stack that the device contains. Some modules are little more then a modulator and demodulator with the digial imput and output directly controlling the RF signal to serial line wire replacement modules that implement frequency hopping, pairing, error correct/detection, and retransmission of broken data.<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? ''(prices in quantity 1 from Newark or Digikey)''<br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $7 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details.<br />
* $10 18F2553 USB microcontroller has 12bit ADC( $5.11 from buy.microchip.com in single unit quantities )<br />
* $6.50 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits).<br />
* $56 analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11901Integrated Circuits2007-12-13T04:22:13Z<p>Mzoran: /* logic gates */</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
Microcontrollers are little computers on a single Die/Package. The computer includes a CPU core, RAM, ROM/FLASH, and peripherals including UARTS, A/D converters, SPI, and I2C. Most modern microcontrollers use FLASH ram instead of a ROM so they can be programmed over and over. Many modern microcontrollers allow self-flashing to enable bootloading or a firmware update without pulling the chip from the circuit or using a programmer/debugger. Microcontrollers tend to be more optimizated for writting in assembly then PCs, but C and less so Basic are becoming the standard programming languages.<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* [[Microchip]] dsPIC/PIC24 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* [[Microchip]] PIC32 32 bit FLASH microcontrollers<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: Very high gain differential amplifiers. Feedback through a resistor network is used to adjust final gain. Resistors and capacitors can be placed in the feedback path to create complex circuits such as filters. Used to condition signals received from sensors.<br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
Logic gates are the building blocks of digital circuits. Any digital circuit including microprocessors can be built out of the NOT function plus AND or OR. <br />
<br />
Common forms found in descrete gates:<br />
* NAND - NOT of an AND<br />
* NOR - NOT of an OR<br />
* XOR - exclusive or<br />
* Flip-Flop - A 1 bit storage element that can be built out of more fundamental logic gates. Often available in packages of 8 and sold by the name of Latch or Register.<br />
<br />
Descrete gates are available in a very large number of variations. The variations include TTL or CMOS inputs, standard vs. open collector outputs, and propagation delay.<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
* Low pin count( 8 - 12 ) microcontrolers are great for logic gate replacement when high speed is not required. Athough slower, slightly more expensive, and needing to be programmed they are great for prototyping due to the extra flexibility that comes from not needing to stock lots of gate variations.<br />
<br />
* FPGAs are flexible ICs contain a very large number of gates( thousands to millions ) that can be arbitrarly connected together through programming in VHDL. Only available in surface mount large pin counts. It's possible to prototype processor designs with these devices.<br />
<br />
== RF ICs/Modules ==<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? ''(prices in quantity 1 from Newark or Digikey)''<br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $7 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details.<br />
* $10 18F2553 USB microcontroller has 12bit ADC( $5.11 from buy.microchip.com in single unit quantities )<br />
* $6.50 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits).<br />
* $56 analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11900Integrated Circuits2007-12-13T04:06:30Z<p>Mzoran: /* Op Amps */</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
Microcontrollers are little computers on a single Die/Package. The computer includes a CPU core, RAM, ROM/FLASH, and peripherals including UARTS, A/D converters, SPI, and I2C. Most modern microcontrollers use FLASH ram instead of a ROM so they can be programmed over and over. Many modern microcontrollers allow self-flashing to enable bootloading or a firmware update without pulling the chip from the circuit or using a programmer/debugger. Microcontrollers tend to be more optimizated for writting in assembly then PCs, but C and less so Basic are becoming the standard programming languages.<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* [[Microchip]] dsPIC/PIC24 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* [[Microchip]] PIC32 32 bit FLASH microcontrollers<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: Very high gain differential amplifiers. Feedback through a resistor network is used to adjust final gain. Resistors and capacitors can be placed in the feedback path to create complex circuits such as filters. Used to condition signals received from sensors.<br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
* Low pin count( 8 - 12 ) microcontrolers are great for logic gate replacement when high speed is not required. Athough slower, slightly more expensive, and needing to be programmed they are great for prototyping due to the extra flexibility that comes from not needing to stock lots of gate variations.<br />
<br />
* FPGAs are flexible ICs contain a very large number of gates( thousands to millions ) that can be arbitrarly connected together through programming in VHDL. Only available in surface mount large pin counts. It's possible to prototype processor designs with these devices.<br />
<br />
== RF ICs/Modules ==<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? ''(prices in quantity 1 from Newark or Digikey)''<br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $7 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details.<br />
* $10 18F2553 USB microcontroller has 12bit ADC( $5.11 from buy.microchip.com in single unit quantities )<br />
* $6.50 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits).<br />
* $56 analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11899Integrated Circuits2007-12-13T04:01:05Z<p>Mzoran: expand the microcontroller section</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
Microcontrollers are little computers on a single Die/Package. The computer includes a CPU core, RAM, ROM/FLASH, and peripherals including UARTS, A/D converters, SPI, and I2C. Most modern microcontrollers use FLASH ram instead of a ROM so they can be programmed over and over. Many modern microcontrollers allow self-flashing to enable bootloading or a firmware update without pulling the chip from the circuit or using a programmer/debugger. Microcontrollers tend to be more optimizated for writting in assembly then PCs, but C and less so Basic are becoming the standard programming languages.<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* [[Microchip]] dsPIC/PIC24 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* [[Microchip]] PIC32 32 bit FLASH microcontrollers<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: great for amplifying weak signals from [[sensors]] to a more useful level. Also used in filters, integrators, etc. <br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
* Low pin count( 8 - 12 ) microcontrolers are great for logic gate replacement when high speed is not required. Athough slower, slightly more expensive, and needing to be programmed they are great for prototyping due to the extra flexibility that comes from not needing to stock lots of gate variations.<br />
<br />
* FPGAs are flexible ICs contain a very large number of gates( thousands to millions ) that can be arbitrarly connected together through programming in VHDL. Only available in surface mount large pin counts. It's possible to prototype processor designs with these devices.<br />
<br />
== RF ICs/Modules ==<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? ''(prices in quantity 1 from Newark or Digikey)''<br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $7 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details.<br />
* $10 18F2553 USB microcontroller has 12bit ADC( $5.11 from buy.microchip.com in single unit quantities )<br />
* $6.50 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits).<br />
* $56 analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11898Integrated Circuits2007-12-13T03:49:47Z<p>Mzoran: /* ADC analog to digital converter */</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* Microchip dsPIC 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: great for amplifying weak signals from [[sensors]] to a more useful level. Also used in filters, integrators, etc. <br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
* Low pin count( 8 - 12 ) microcontrolers are great for logic gate replacement when high speed is not required. Athough slower, slightly more expensive, and needing to be programmed they are great for prototyping due to the extra flexibility that comes from not needing to stock lots of gate variations.<br />
<br />
* FPGAs are flexible ICs contain a very large number of gates( thousands to millions ) that can be arbitrarly connected together through programming in VHDL. Only available in surface mount large pin counts. It's possible to prototype processor designs with these devices.<br />
<br />
== RF ICs/Modules ==<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? ''(prices in quantity 1 from Newark or Digikey)''<br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $7 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details.<br />
* $10 18F2553 USB microcontroller has 12bit ADC( $5.11 from buy.microchip.com in single unit quantities )<br />
* $6.50 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits).<br />
* $56 analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoranhttp://www.opencircuits.com/index.php?title=User:DavidCary&diff=11897User:DavidCary2007-12-13T03:38:25Z<p>Mzoran: Let's deal with this spam problem!</p>
<hr />
<div>Welcome to my little corner of Open Circuits.<br />
<br />
I think I first stumbled across Open Circuits on 2006-03-01.<br />
I had been starting to set up a electronics-related wiki,<br />
but since this one was already here, why bother?<br />
<br />
Feel free to leave a note on [[User_talk:DavidCary|my talk page]].<br />
<br />
I created the [[WikiNode]].<br />
<br />
Electronic projects:<br />
''(Should I move these to dedicated pages such as [[electronics workbench]], etc.?)''<br />
<br />
== electronics workbench ==<br />
<br />
What exactly do I need for "normal" electronics development?<br />
I have a pile of stuff, and I have a wishlist of more stuff ...<br />
I hope to document which things are important to have, which things are useful but not immediately necessary, and which things ended up just gathering dust.<br />
<br />
I wish there were a place like [http://blog.guykawasaki.com/2007/09/techshop-geek-h.html TechShop] somewhere local.<br />
<br />
* filing cabinet for all the miscellaneous bits of paper. If at all possible, I attach instruction manuals to the actual tool -- but if that is awkward, I stick the instruction manual in this filing cabinet.<br />
<br />
== data collection network ==<br />
<br />
I'm building a "data collection network" that may end up with hundred of microcontroller sensor nodes,<br />
piping data into a PC.<br />
This may turn into a serious medical diagnosis tool.<br />
<br />
== POV display ==<br />
<br />
''(moved to [[POV display]])''<br />
<br />
== Full-color LED lighting ==<br />
<br />
I'm planning to build a silly little toy with 3 LEDs -- one for red, green, and blue --<br />
to show how "additive colors" work (a "color wheel").<br />
(I might just extend it to have a whole spectrum of visible and infrared LEDs, and a prism to show the little spikes in the spectrum that LEDs generate).<br />
<br />
"Red, Green, and Blue LED based white light generation"<br />
by Muthu, Schuurmans, and Pashley (2002)<br />
http://www.advancetransformer.com/uploads/resources/LED_White_Light_Issues&Control_-_White_paper.pdf<br />
<br />
LED illumination applications<br />
http://en.wikipedia.org/wiki/Light-emitting_diode#Illumination_applications<br />
<br />
"How Many Red, Green, and Blue LEDs to make White"<br />
by Don Klipstein 2001<br />
http://members.misty.com/don/ledrgb2w.html<br />
<br />
LED Color Shifting<br />
http://hackedgadgets.com/2006/02/14/wireless-led-color-shifting/<br />
<br />
== "PC Card" PCMCIA ==<br />
<br />
I maintain the<br />
[http://david.carybros.com/html/pc_card_faq.html unofficial PC Card FAQ].<br />
<br />
I'd like to move it to a wiki.<br />
What would be the best wiki to put it on?<br />
Open Circuits?<br />
<br />
-- <br />
DavidCary<br />
<br />
== Open Circuits Sysop ==<br />
<br />
Whee! I'm a sysop at Open Circuits!<br />
The power -- it's rushing to my head!<br />
--[[User:DavidCary|DavidCary]] 15:20, 23 February 2007 (PST)<br />
<br />
<br />
Hi David, will be nice to have antispam measures :).<br />
<br />
--[[User:RafaelOrtiz|RafaelOrtiz]] 18:00, 28 October 2007 (PDT)<br />
<br />
Hi David can you give me some block IP rights ? <br />
<br />
--[[User:RafaelOrtiz|RafaelOrtiz]] 13:17, 18 November 2007 (PST)<br />
<br />
Hi David, I noticed that a bunch of open circuits is just a placeholder. I'm effectively retired so I can probably help contribute to this Wiki by expanding a bunch of the sections, but the spam here is really way out of control. I look at the revision history and I see a good 10+ spam edits per day. Don't you think it's time to try requiring a logon to make edits? I thank that would really reduce the spam. Asking people to use a human controlled e-mail address is not that much. It's not like people need to give their real name and address or anything. I think you will find that more people will be willing to contribute if the spam problem is handled. Eliminating the spam is more of a problem at this point then getting people to contribute. It would also free up your time to focus more on real editing.<br />
[[User:Mzoran|Mzoran]] 19:38, 12 December 2007 (PST)</div>Mzoranhttp://www.opencircuits.com/index.php?title=Optoelectronics&diff=11883Optoelectronics2007-12-12T08:48:57Z<p>Mzoran: LEDs</p>
<hr />
<div>== LEDs ==<br />
<br />
LEDs are diodes that have a voltage drop designed to produce visible light. When using a LED in a cicuit it's important to use a current limiter such as a resistor. A typical LED is designed for aproximately 10mA. When using resistors measure the foreward voltage drop of the LED with a multimeter, subtract this from the supply voltage, then plug the difference into ohms law to calculate the required resistor value. Different color LEDs all have different voltage drops.</div>Mzoranhttp://www.opencircuits.com/index.php?title=Oscillator&diff=11882Oscillator2007-12-12T08:39:03Z<p>Mzoran: remove spam. Add comments about resonators</p>
<hr />
<div><br />
The vast majority of electronic systems operate at some fixed frequency.Usually the component that fixes that frequency is a quartz crystal, sealed in a metal can.(Some very-low-cost devices might use a "ceramic resonator" (made of high-stability piezoelectric ceramics, generally lead zirconium titanate)or a resistor and a capacitor to fix the frequency. ).<br />
<br />
The entire circuit that generates the frequency is called an "oscillator", includes the resonant part (crystal, resonator, or RC), some capacitors, and a silicon chip and therefore is called a hybrid device.<br />
(An oscillator that uses a resistor and a capacitor to fix the frequency is called a "RC oscillator".<br />
An oscillator that uses a crystal to fix the frequency is called a "crystal oscillator".)<br />
<br />
The oscillator includes, in addition to the frequency-fixing component just mentioned, an amplifier and capacitors.<br />
<br />
Oscillators usually come in a metal can, but Epson also encapsulates them in plastic. Typically an oscillator can has 4 pins. Inside the can is all the components of the oscillator. One applies DC power on 2 of the pins, and the oscillating signal (the "CLK OUT") appears on another pin. (The remaining pin is unused).<br />
<br />
An oscillator can also be made from scratch using crystal in a (2-pin) metal can, a couple of capacitors, an resitor and an inverter.<br />
In either case, the frequency is printed on the top of the crystal or oscillator.<br />
<br />
Many microcontrollers have 2 pins (typically labeled "XTAL1" and "XTAL2", or "OSC1" and "OSC2", or something similar)<br />
that are designed to be directly connected to the 2 pins of a crystal.<br />
(Capacitors from those pins to VCC and GND are also part of the recommended circuit).<br />
An inverter inside the microcontroller acts as the amplifier, and the crystal and capacitors make up the rest of the oscillator. Microcontrollers when connected directly to a crystal need to have capacitors attached that need to be percisely matched with other circuit components on the board. Resonators tend to have the capacitor buildin reducing the amount of trial and error of capacitor selection.<br />
<br />
In systems with multiple CPUs, it is often simpler, cheaper, and more reliable (avoiding metastability problems) to use a single crystal (rather than a dedicated crystal for each CPU).<br />
CPUs (and many other components) often have a single "CLK" pin designed to be connected to the wire used to send that "clock signal" (a fixed frequency) everywhere.<br />
<br />
Unfortunately, many people confuse the "clock signal" generated by an oscillator (a simple metronome beat, tone, at constant frequency) with far more complicated "clock system"s that keep track of seconds, minutes, hours, and sometimes days, weeks, months, and years.<br />
<br />
== for further reading ==<br />
<br />
* [http://techref.massmind.org/techref/clocks.htm massmind: clocks]<br />
* [http://en.wikipedia.org/wiki/Crystal_oscillator Wikipedia: crystal oscillator]<br />
* [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11881Integrated Circuits2007-12-12T08:31:15Z<p>Mzoran: /* logic gates */</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* Microchip dsPIC 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: great for amplifying weak signals from [[sensors]] to a more useful level. Also used in filters, integrators, etc. <br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
* Low pin count( 8 - 12 ) microcontrolers are great for logic gate replacement when high speed is not required. Athough slower, slightly more expensive, and needing to be programmed they are great for prototyping due to the extra flexibility that comes from not needing to stock lots of gate variations.<br />
<br />
* FPGAs are flexible ICs contain a very large number of gates( thousands to millions ) that can be arbitrarly connected together through programming in VHDL. Only available in surface mount large pin counts. It's possible to prototype processor designs with these devices.<br />
<br />
== RF ICs/Modules ==<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? <br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $8 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details.<br />
* $5 18F2553 microcontroller has 12bit ADC. <br />
* $6 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits). <br />
<br />
* $56 biosemi used analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11880Integrated Circuits2007-12-12T08:20:22Z<p>Mzoran: /* ADC analog to digital converter */</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* Microchip dsPIC 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: great for amplifying weak signals from [[sensors]] to a more useful level. Also used in filters, integrators, etc. <br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
== RF ICs/Modules ==<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? <br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $8 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details.<br />
* $5 18F2553 microcontroller has 12bit ADC. <br />
* $6 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits). <br />
<br />
* $56 biosemi used analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoranhttp://www.opencircuits.com/index.php?title=Integrated_Circuits&diff=11879Integrated Circuits2007-12-12T08:16:53Z<p>Mzoran: Add more RF modules</p>
<hr />
<div>== Digital Potentiometers ==<br />
[[Digital Potentiometers|Digital Potentiometers(AD5204)]]<br />
The digital Potentiometers made by analog devices (AD5204) has 255 positions can be adjusted by the microcomputer that can receive commands from the computer. This is a great way for analog circuitry to have digital control. This is a chip with 4 digitally controlled POTs and the pots can be daisy chained to have multiple chips controled by a single SPI interface.<br />
<br />
<br />
<br />
== Voltage Regulators ==<br />
{|<br />
! colspan="2" align="left"| Linear Regulators<br />
|-<br />
| align="center"|[[Image:Main-LT1528.jpg|69px|LT1528]]<br>[[LT1528]]<br />
| High current, Variable Voltage Regulator<br />
|-<br />
| align="center"|[[Image:TPS-V-Reg.jpg|69px|TPS V-Reg]]<br>[[TPS V-Regs]]<br />
| These are 3.3V and 5V LDO, Low-Noise Voltage Regulators. Very small SOT-23 SMD package. 150mA max current. Best used in battery applications.<br />
|-<br />
| align="center"|[[Image:Main-LM7805.jpg|69px]]<br>[[Basic Voltage Regulators]]<br />
| Variable voltage regulators, set output regulators, we give you the whole breakdown. Perfect for use with an external wall-wart power supply.<br />
|-<br />
| align="center"| [[Image:UA723CN_Symbol.gif]]<br>[[The 723 Voltage Regulator]]<br />
| Precision Voltage Regulator. Can be used as fixed or floating, variable, linear or switching. <br />
'''NOTE:''' Only the DIP-14 version (image) has the Vz pin, which is used for negative regulators. The Metal Can and the Flat-Pack do not have enough pins so exclude the Vz.<br />
|-<br />
| &nbsp;<br />
|-<br />
! colspan="2" align="left"| Switching Regulators<br />
|-<br />
| align="center"| [[Image:MCP1253-ADJ.png|69px]]<br>[[MCP1252/3]]<br />
| Extremely Efficient, 120mA Flyback Switching Regulators.<br />
|-<br />
|}<br />
<br />
== Microcontrollers ==<br />
<br />
* [[Image:lpc2103.jpg|69px|LPC2103]] [http://www.k9spud.com/arm/lpc2103/ LPC2103] Low cost 70MHz ARM7TDMI-S FLASH Microcontroller from Philips. The [http://coridiumcorp.com/arm7/ "$49" "Coridium ARMmite"] does use this chip.<br />
* [[Atmel]] AVR 8 bit FLASH microcontrollers<br />
* [[Microchip]] PIC 8 bit FLASH microcontrollers<br />
* Microchip dsPIC 16 bit FLASH microcontrollers ( [[DsPIC30F 5011 Development Board]] )<br />
* Cypress PSoC 8 bit FLASH microcontrollers<br />
<br />
''I've written a little about the various kinds of microcontrollers at [http://en.wikibooks.org/wiki/Embedded_Systems/Particular_Microprocessors Wikibooks: Embedded Systems]. --[[User:DavidCary|DavidCary]] 06:15, 10 March 2007 (PST)''<br />
<br />
== Op Amps ==<br />
<br />
Op amps and instrumentation amps.<br />
<br />
[[op amp]]s: great for amplifying weak signals from [[sensors]] to a more useful level. Also used in filters, integrators, etc. <br />
* [[LT1168|LT1168 Programmable-Gain Precision Instrumentation Amplifier]] - Low Power, Single Resistor Gain Programmable, Precision Instrumentation Amplifier<br />
* [[LT1114|LT1114 Low Power Precision OP-Amps]] are used for amplification and filtering of the signal - Dual/Quad Low Power Precision, Picoamp Input Op Amps<br />
* [http://en.wikibooks.org/wiki/Electronics/Op-Amps Wikibooks:Op-Amps] has a "quick design process" using Daisy's theorem: ''"The sum of the gains = +1 in a properly-designed op amp circuit."''<br />
* [http://ciphersbyritter.com/RADELECT/PREOPAMP/OPAMPDSN.HTM "Some Op Amp Audio Design Issues"] by Terry Ritter<br />
* [http://focus.ti.com/lit/an/slod006b/slod006b.pdf "Op Amps for Everyone" ] Great free book that describes a large number of Op-Amp circuits including single rail variation. A pay version is available at Amazon. I don't know what the differences are between the two versions.<br />
<br />
== logic gates ==<br />
<br />
* NAND gate: [http://www.coprolite.com/art48.html "Using a NAND Gate for a Set/Reset Latch"] (the 74HC132 Schmitt-trigger quad NAND is better than the 74HC00 quad NAND).<br />
* [http://people.freenet.de/dieter.02/alu_4.htm "Multiplexers: the tactical Nuke of Logic Design"] by Dieter Mueller 2004 (74153)<br />
<br />
There are hundreds of other specialized logic gates. Here we only list the ones we actually use in some Open Circuit [[Projects|Project]]:<br />
<br />
* 74HC595 eight bit shift register with output latch (used for POV display)<br />
<br />
== RF ICs/Modules ==<br />
<br />
[http://www.linxtechnologies.com/ Linx Technologies] makes several low power RF transmitter/receiver chips. Their range is around 500' - 1000'. They are geared for one way communication only, like keyless entry systems. They also make several serial encoding chips that make the wireless communication more secure/crack proof. Their latest chip, the HS series, is based upon the SkipJack algorithm developed by the NSA. BBA broadband ampifier modules are available for boosting the signal power to 17dBm when combined with the HP-3 modules and FHSS techniques.<br />
<br />
[http://www.maxstream.net XBee/XBee Pro modules] Modules are a drop in Zigbee module. Modules have a UART style interface with an AT command set. Cheap and very popular, these modules are great for serial cable replacement or remote sensor monitoring.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=8469 Sparkfun Bluetooth Module] Dropin module with a complete Bluetooth stack. Modules also have a UART interface with a AT command set. An advantage is many laptops and cellphones have a Bluetooth transceiver builtin.<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=705 Nordic Modules from Sparkfun] Tranceiver modules that have a SPI interface and are capable of transmitting packets at 1Mbps. Modules implement packet indentification and CRC checksum compution but don't have a protocol stack per say. A large number of channels are available making FHSS possible, but the modules has a maximum power of 0dBm making them only suitable for short range communication.<br />
<br />
[http://www.semtec.com/XE1205 XE1205 Chip from Semtec] Transceiver IC with builtin 15dBm power amplifer. IC has a SPI interface with the data being transmitted with any wire format(NRZ/Manchester). DP1205 dropin modules are available which contain all the necessary descrete components. IC allows very rich configuration including frequency down to 500Hz, frequency deviation, and baseband filter. Available in 433MHz and 900MHz versions.<br />
<br />
[http://www.cypress.com/ Cypress Semiconductor] makes several 2.4ghz transceiver modules, which are available for sampling, and are fully assembled with PCB antennas. They use SPI to be configured and to communicate with the microcontroller. The CYWM6934 (10 meter range) and CYWM6935 (50 meter range) are both very easy to interface with. [[User:Ratmandu|ratmandu]] 20:06, 23 November 2007 (PST)<br />
[[Category:Components]]<br />
<br />
== ADC analog to digital converter ==<br />
<br />
There are a huge variety of ADCs available.<br />
<br />
If you need 10 bits or less of resolution,<br />
counter-intuitively,<br />
it costs less to buy an ADC plus a microcontroller on one chip<br />
than to buy a stand-alone ADC.<br />
<br />
* ATTINY13V -- lowest-price chip I know of with at least one 10 bit ADC<br />
* ATTINY261 -- lowest $/ADC chip I know of<br />
* LPC2101FBD48 -- lowest-price 32-bit microcontroller I know of with at least one internal 10 bit ADC<br />
<br />
Many people (*) do EKGs with only 10 bit converters.<br />
<br />
The [[Programmable Chip EEG]] might need more bits of resolution.<br />
<br />
What low-cost ADC are available with at least 12 bits? <br />
* $2.50 MCP3301 has 1 ADC input (13 bits) <br />
* $3.50 MCP3302 has 2 ADC input (13 bits) <br />
* $3.50 MCP3204 has 4 ADC input (12 bits) <br />
* $4 MCP3208 has 8 ADC input (12 bits) <br />
* $8 dsPIC30F 2011 microcontroller has 8 ADC inputs (12 bits). See [[dsPIC30F 5011 Development Board]] for details. <br />
* $6 CY8C27443 Cypress PSoC microcontroller has 4 ADC inputs (14 bits) -- but what is the sampling rate? Also has 4 DAC outputs (9 bits). <br />
<br />
* $56 biosemi used analog devices AD7716: four independent, simultaneous 22 bit ADCs. <br />
* [http://www.maxim-ic.com/appnotes.cfm/an_pk/885 the Maxim MAX1460 includes a 16-bit ADC, 12-bit DAC], a programmable gain amp (PGA), temp sensor, and 16-bit processor. (Alas, its program is in unchangeable ROM). <br />
* Analog Devices AduC812: 200kHz 12-bit ADC, 12-bit DAC, and flash-based 8051 MCU core. <br />
<br />
''I am astonished to discover that (a few) microcontrollers include 12 bit or more ADCs. Are there others? --[[User:DavidCary|DavidCary]] 18:48, 28 August 2007 (PDT)''</div>Mzoran