http://www.opencircuits.com/api.php?action=feedcontributions&user=98.25.11.140&feedformat=atomOpenCircuits - User contributions [en]2024-03-29T14:41:28ZUser contributionsMediaWiki 1.34.2http://www.opencircuits.com/index.php?title=Popular_Parts&diff=18645Popular Parts2009-08-28T16:33:36Z<p>98.25.11.140: /* If you are working with X then Y where Y will help you find the popular parts */</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're working from a kit or published project consider getting extras of the parts. The authors of these things tend to know, and pick, what's popular. If you use them once you may use them again; there are exceptions, though.<br />
<br />
==If you are working with X, then Y. Where Y will help you find the popular parts==<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 />
Because PICs are mostly digital logic, if you use PICs you will need most of the stuff in the [[Popular Parts#X=Digital Logic]] section as well as stuff in this section.<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 />
* [[microcontroller#Microchip_PIC]]<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 />
*18F2553 [http://www.raccoonrezcats.com/rfethernet.html]<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 a debugger.<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 capacitors are needed as well. Ceramic resonators 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 />
|Op Amp<br />
<br />
|Need to condition your inputs? a op amp may be just the thing. See section on [[Popular_Parts#X.3DOp_Amps|op amp]]s.<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 />
|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 amp]]s<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 />
* LM386N-3 speaker driver<br />
* [http://forum.allaboutcircuits.com/showthread.php?t=11847]<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 />
|-valign="top" <br />
|diodes<br />
|When you need current one way, not the other. See [[Transistors, Diodes, etc.]] for details.<br />
|<br />
* ''(FIXME: isn't this already too many? Trim.)''<br />
* MBRA140 for [[Reverse Protection Diodes]]<br />
* 1N914 (300 mA DC forward; 75 V DC reverse)<br />
* 1N4148<br />
* 1N5711 Schottkey diode<br />
* 1N5817 Schottkey diode<br />
* BAT48 Schottkey diode<br />
* BAT85 Schottkey diode<br />
<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 a full ampere (1000 mA). You may want to go push pull with a pair of npn and pnp transistors. With this you can build power supplies, battery chargers, [[motor driver]]s, 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 />
If you use any microcontroller, you will probably also need most of the stuff in this section.<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 />
* If you use a microcontroller in your project, the counters inside that microcontroller will probably be all the counters you need.<br />
<br />
|<br />
*?<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|<br />
Shift registers<br />
|<br />
Often used to expand the number of ports.<br />
|<br />
*?<br />
* 74HC595 -- for more output pins. SIPO eight bit shift register with output latch. Perfect for letting the propeller clock [[POV display]] slowly clock in the next value, then LOAD them all at once. Near the bottom of the page describing the [http://www.robotroom.com/Tach.html "Digital Numeric LED Displays Tachometer (RPMs), Temperature, and Counter"] project, David Cook says: "The 595 is a great 8-bit serial chip because data can be shifted in without affecting the existing output. All new data is then switched over at the same time. The 595 can also be daisy chained. In this case, 48 outputs are controlled with only three wires (data, clock, and latch)."<br />
* 74HC166 -- for more input pins. PISO 8-bit parallel-load shift registers.<br />
* 74HC165 -- for more input pins. PISO 8-bit parallel-load shift registers.<br />
<br />
<br />
<!-----------------------------><br />
<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Voltage Regs<br />
|Power to the Chips<br />
|<br />
*LM7805<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 />
|<br />
decoupling capacitors.<br />
|<br />
"I can only recall using less than 1uF decoupling cap in one circuit in the last 8 or so years ... 100nF bypass caps [0.1 uF bypass caps] are so 1990s. If someone tells you that should be the standard value, you should be careful about what other bad or outdated advice they may be dispensing." -- [http://massmind.org/techref/postbot.asp?by=thread&id=%5BEE%5D+1%2E0+uF+Decoupling+Cap+%2D+A+Must%3F&w=body&tgt=post one post in the PICList Thread (EE) "1.0 uF Decoupling Cap - A Must?"] by Olin<br />
|<br />
* 1uF through-hole caps for solderless breadboard<br />
* 1uF 0805 ceramic caps for [[dead bug style]] prototyping and custom PCBs<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=electric motors ===<br />
<br />
See [[motor driver]] for details.<br />
<br />
transistor<br />
<br />
"my favorite International Rectifier FU5505 power MOSFET transistor"<br />
-- [http://www.robotroom.com/DualFan.html David Cook]<br />
<br />
<br />
----<br />
<br />
[[Category:Components]]</div>98.25.11.140http://www.opencircuits.com/index.php?title=Popular_Parts&diff=18644Popular Parts2009-08-28T16:30:51Z<p>98.25.11.140: /* Kits and Projects */</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're working from a kit or published project consider getting extras of the parts. The authors of these things tend to know, and pick, what's popular. If you use them once you may use them again; there are exceptions, though.<br />
<br />
==If you are working with X then Y where Y will help you find the popular parts==<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 />
Because PICs are mostly digital logic, if you use PICs you will need most of the stuff in the [[Popular Parts#X=Digital Logic]] section as well as stuff in this section.<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 />
* [[microcontroller#Microchip_PIC]]<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 />
*18F2553 [http://www.raccoonrezcats.com/rfethernet.html]<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 a debugger.<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 capacitors are needed as well. Ceramic resonators 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 />
|Op Amp<br />
<br />
|Need to condition your inputs? a op amp may be just the thing. See section on [[Popular_Parts#X.3DOp_Amps|op amp]]s.<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 />
|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 amp]]s<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 />
* LM386N-3 speaker driver<br />
* [http://forum.allaboutcircuits.com/showthread.php?t=11847]<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 />
|-valign="top" <br />
|diodes<br />
|When you need current one way, not the other. See [[Transistors, Diodes, etc.]] for details.<br />
|<br />
* ''(FIXME: isn't this already too many? Trim.)''<br />
* MBRA140 for [[Reverse Protection Diodes]]<br />
* 1N914 (300 mA DC forward; 75 V DC reverse)<br />
* 1N4148<br />
* 1N5711 Schottkey diode<br />
* 1N5817 Schottkey diode<br />
* BAT48 Schottkey diode<br />
* BAT85 Schottkey diode<br />
<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 a full ampere (1000 mA). You may want to go push pull with a pair of npn and pnp transistors. With this you can build power supplies, battery chargers, [[motor driver]]s, 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 />
If you use any microcontroller, you will probably also need most of the stuff in this section.<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 />
* If you use a microcontroller in your project, the counters inside that microcontroller will probably be all the counters you need.<br />
<br />
|<br />
*?<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|<br />
Shift registers<br />
|<br />
Often used to expand the number of ports.<br />
|<br />
*?<br />
* 74HC595 -- for more output pins. SIPO eight bit shift register with output latch. Perfect for letting the propeller clock [[POV display]] slowly clock in the next value, then LOAD them all at once. Near the bottom of the page describing the [http://www.robotroom.com/Tach.html "Digital Numeric LED Displays Tachometer (RPMs), Temperature, and Counter"] project, David Cook says: "The 595 is a great 8-bit serial chip because data can be shifted in without affecting the existing output. All new data is then switched over at the same time. The 595 can also be daisy chained. In this case, 48 outputs are controlled with only three wires (data, clock, and latch)."<br />
* 74HC166 -- for more input pins. PISO 8-bit parallel-load shift registers.<br />
* 74HC165 -- for more input pins. PISO 8-bit parallel-load shift registers.<br />
<br />
<br />
<!-----------------------------><br />
<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Voltage Regs<br />
|Power to the Chips<br />
|<br />
*LM7805<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 />
|<br />
decoupling capacitors.<br />
|<br />
"I can only recall using less than 1uF decoupling cap in one circuit in the last 8 or so years ... 100nF bypass caps [0.1 uF bypass caps] are so 1990s. If someone tells you that should be the standard value, you should be careful about what other bad or outdated advice they may be dispensing." -- [http://massmind.org/techref/postbot.asp?by=thread&id=%5BEE%5D+1%2E0+uF+Decoupling+Cap+%2D+A+Must%3F&w=body&tgt=post one post in the PICList Thread (EE) "1.0 uF Decoupling Cap - A Must?"] by Olin<br />
|<br />
* 1uF through-hole caps for solderless breadboard<br />
* 1uF 0805 ceramic caps for [[dead bug style]] prototyping and custom PCBs<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=electric motors ===<br />
<br />
See [[motor driver]] for details.<br />
<br />
transistor<br />
<br />
"my favorite International Rectifier FU5505 power MOSFET transistor"<br />
-- [http://www.robotroom.com/DualFan.html David Cook]<br />
<br />
<br />
----<br />
<br />
[[Category:Components]]</div>98.25.11.140http://www.opencircuits.com/index.php?title=Popular_Parts&diff=18643Popular Parts2009-08-28T16:26:49Z<p>98.25.11.140: /* Kits and Projects */</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 where Y will help you find the popular parts==<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 />
Because PICs are mostly digital logic, if you use PICs you will need most of the stuff in the [[Popular Parts#X=Digital Logic]] section as well as stuff in this section.<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 />
* [[microcontroller#Microchip_PIC]]<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 />
*18F2553 [http://www.raccoonrezcats.com/rfethernet.html]<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 a debugger.<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 capacitors are needed as well. Ceramic resonators 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 />
|Op Amp<br />
<br />
|Need to condition your inputs? a op amp may be just the thing. See section on [[Popular_Parts#X.3DOp_Amps|op amp]]s.<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 />
|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 amp]]s<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 />
* LM386N-3 speaker driver<br />
* [http://forum.allaboutcircuits.com/showthread.php?t=11847]<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 />
|-valign="top" <br />
|diodes<br />
|When you need current one way, not the other. See [[Transistors, Diodes, etc.]] for details.<br />
|<br />
* ''(FIXME: isn't this already too many? Trim.)''<br />
* MBRA140 for [[Reverse Protection Diodes]]<br />
* 1N914 (300 mA DC forward; 75 V DC reverse)<br />
* 1N4148<br />
* 1N5711 Schottkey diode<br />
* 1N5817 Schottkey diode<br />
* BAT48 Schottkey diode<br />
* BAT85 Schottkey diode<br />
<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 a full ampere (1000 mA). You may want to go push pull with a pair of npn and pnp transistors. With this you can build power supplies, battery chargers, [[motor driver]]s, 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 />
If you use any microcontroller, you will probably also need most of the stuff in this section.<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 />
* If you use a microcontroller in your project, the counters inside that microcontroller will probably be all the counters you need.<br />
<br />
|<br />
*?<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|<br />
Shift registers<br />
|<br />
Often used to expand the number of ports.<br />
|<br />
*?<br />
* 74HC595 -- for more output pins. SIPO eight bit shift register with output latch. Perfect for letting the propeller clock [[POV display]] slowly clock in the next value, then LOAD them all at once. Near the bottom of the page describing the [http://www.robotroom.com/Tach.html "Digital Numeric LED Displays Tachometer (RPMs), Temperature, and Counter"] project, David Cook says: "The 595 is a great 8-bit serial chip because data can be shifted in without affecting the existing output. All new data is then switched over at the same time. The 595 can also be daisy chained. In this case, 48 outputs are controlled with only three wires (data, clock, and latch)."<br />
* 74HC166 -- for more input pins. PISO 8-bit parallel-load shift registers.<br />
* 74HC165 -- for more input pins. PISO 8-bit parallel-load shift registers.<br />
<br />
<br />
<!-----------------------------><br />
<br />
<br />
<!-----------------------------><br />
<br />
|-valign="top" <br />
|Voltage Regs<br />
|Power to the Chips<br />
|<br />
*LM7805<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 />
|<br />
decoupling capacitors.<br />
|<br />
"I can only recall using less than 1uF decoupling cap in one circuit in the last 8 or so years ... 100nF bypass caps [0.1 uF bypass caps] are so 1990s. If someone tells you that should be the standard value, you should be careful about what other bad or outdated advice they may be dispensing." -- [http://massmind.org/techref/postbot.asp?by=thread&id=%5BEE%5D+1%2E0+uF+Decoupling+Cap+%2D+A+Must%3F&w=body&tgt=post one post in the PICList Thread (EE) "1.0 uF Decoupling Cap - A Must?"] by Olin<br />
|<br />
* 1uF through-hole caps for solderless breadboard<br />
* 1uF 0805 ceramic caps for [[dead bug style]] prototyping and custom PCBs<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=electric motors ===<br />
<br />
See [[motor driver]] for details.<br />
<br />
transistor<br />
<br />
"my favorite International Rectifier FU5505 power MOSFET transistor"<br />
-- [http://www.robotroom.com/DualFan.html David Cook]<br />
<br />
<br />
----<br />
<br />
[[Category:Components]]</div>98.25.11.140http://www.opencircuits.com/index.php?title=Programming_Languages&diff=18637Programming Languages2009-08-28T01:59:36Z<p>98.25.11.140: /* C */</p>
<hr />
<div>== Introduction ==<br />
<br />
Perhaps the title should be for '''Programming Languages Microcontrollers''', in any case that is what the content is now and probably should stay.<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, and assembly.<br />
Microcontrollers 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 Basic to be the easiest programming language to learn. The language is line oriented so compilers tend to produce more debugable error messages.<br />
<br />
Basic encourages incrementally developing and testing software, an interactive technique that supports rapid application development.<br />
<br />
<br />
Basic can either be interpreted as in the Basic Stamp from Parallax or compiled as in PicBasic. Generally speaking the interpreted basics run slower than the compiled basics. In some cases the basic firmware is part of the chip, this can boost the cost of the chip significantly. <br />
Still this type of solution can get a beginner up and running quickly. <br />
<br />
A Basic Stamp module from Parallax can get a beginner up and running quickly. <br />
<br />
<s><br />
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 />
</s><br />
<br />
=== For Pics ===<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 -- allows inline assembly, allowing more experienced programmers to do things not possible in pure Basic.<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 becoming more and more complex.<br />
<s>C is almost always compiled instead of interperated.</s><br />
Advanced C requires understanding of pointers which requires lower level understanding of the hardware than some people are interested in going. C compilers can be very expensive, however several free or demo versions of compilers are available. <br />
<br />
=== For Pics ===<br />
<br />
* [[Use C for PIC Programming!]]<br />
* [http://sdcc.sf.net/ SDCC] supports 16fxxx and 18fxxx parts from Microchip. Open source. Integrates with [http://piklab.sf.net/ Piklab] and [http://eclipse-sdcc.sf.net/ Eclipse].<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 />
* [http://tutor.al-williams.com/picc1.htm C Programming with the Microchip PIC] tutorial<br />
<br />
== Forth ==<br />
<br />
Forth is a low level language designed for extremely compact programs -- ideal for a microcontroller with little program memory.<br />
<br />
Forth also encourages incrementally developing and testing software, an interactive technique that supports rapid application development.<br />
<br />
=== Forth for PICs ===<br />
<br />
(shamelessly cribbed from<br />
the [http://massmind.org/techref/microchip/language/forths.htm Massmind list of Forths for PICs])<br />
<br />
* [http://www.rfc1149.net/devel/picforth PicForth], a Forth compiler for PIC 16F87x and 16F88 -- there is [http://tutor.al-williams.com/picforth1.htm a tutorial for PicForth]<br />
* [http://www.ram-tech.co.uk/ IRTC], a Forth for the PIC18Fxxx microcontroller family.<br />
* [http://mary.pepix.net/ mary], an Optimizing Forth Compiler for the PIC<br />
* [http://flashforth.sourceforge.net/ FLASHFORTH] for the PIC18Fxxx microcontroller and for the dsPIC30F DSP families.<br />
* [https://devel.goto10.org/packets/wiki/purrr Purrr] is a Forth dialect for microcontrollers. Currently has a PIC18Fxxx microcontroller implementation.<br />
* [http://pic18forth.sourceforge.net/ Pic18Forth] is a 16-bit implementation of the Forth programming language for Microchip PIC18Fxx2 microcontroller devices.<br />
<br />
=== Forth for other microcontrollers ===<br />
<br />
See<br />
[http://forthfreak.net/index.cgi?StandAloneForth the list at ForthFreak],<br />
[http://massmind.org/techref/language/forths.htm the list at Massmind].<br />
<br />
<br />
== C++ ==<br />
<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 />
*[http://www.sourceboost.com/Products/BoostCpp/Overview.html BoostC++ Compiler Overview]<br />
<br />
== Assembly ==<br />
<br />
Assembly is a near exact mapping to the actual instructions executed by processors. It is very processor specific.<br />
<s>Some architecture such as the older PIC processors are optimized for assembly programming where some RISC based architectors are optimized for higher level languages.</s><br />
<br />
Some C compilers do not produce the best possible code so writing in assembly can theoretically produce faster code, but poorly written hand assembly can be worse.<br />
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 />
* See the compiler section of [[PIC Links]]<br />
<br />
We should expand this section, but for now will just mention some names, you can google them:<br />
<br />
<br />
* JAL Just another Language<br />
* [http://pyastra.sf.net/ Python]<br />
<br />
[[Category:Microcontroller]][[Category:PIC]]</div>98.25.11.140http://www.opencircuits.com/index.php?title=Hardware_tool&diff=18636Hardware tool2009-08-28T01:56:59Z<p>98.25.11.140: /* Oscilloscope */</p>
<hr />
<div>== Good equipment to buy when getting started ==<br />
<br />
Getting started with electronics design takes buying some equipment, but it can be confusing what to buy. I'm going to list here some of the items that I thought were helpful getting started. For all equipment and especially components salvage can be a nice cheap way to acquire stuff see: [[Salvage Topics]].<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. A battery can be a simple power supply, but to avoid replacing then you can probably find a wall transformer of a reasonable voltage and current capacity. The specs are almost always on the unit. They are pretty safe, unless something really goes wrong you are kept from the mains voltage, and most are ul labeled.<br />
<br />
== Soldering Iron ==<br />
<br />
The pencil type are probably the way to go. For most electronics a tip about as fine as a blunt pencil is useful. They can be very cheap, but the more expensive ones are better, particularity if they have a thermostat and/or power control. Guns types can be used, but waiting for them to warm up quickly becomes a pain ( 30 seconds over and over ) and many are too big for electronics work. You can start cheap and work up later. An important tip is keep the tip clean.<br />
<br />
== Spools of wire ==<br />
<br />
Wire is available as stranded or solid. Solid works best with breadboards and perfboards. Stranded works best when creating cables for inter board connections. Stranded is nice an flexible and does not break quickly when bent back and forth, solid is easy to press into perf board, breadboard and stays bent the way you bend it. Lots of bending will break solid wire.<br />
<br />
Try to get many different colors of wire.<br />
Tracing a single wire through a big circuit is almost impossible if all the wires are the same color.<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 than dedicated equipment and are more automated than 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 a lot 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 />
== 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 preferred 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.<br />
Spend the extra money -- it is worth it.<br />
<br />
== Development Boards ==<br />
{{main|demo board}}<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 discrete 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 powerful microcontroller but at present are not available in through hole versions.<br />
<br />
== Links ==<br />
<br />
There is a lot of information on the web, until we update Google to find it.<br />
<br />
[[Category:Test Equipment]][[Category:Components]]</div>98.25.11.140