I am looking at the TinyDuino Schmatics (PDF) and Eagle BRD/SCH from Tiny-Circuits (an open source project) to put together Bill Of Materials. I am interested in creating my own version of this awesome board; this will be my first PCB. I am not an EE, however, have been working with Arduino for a long time. I am looking at digikey to find the corresponding part for each component below and I am left with a few questions. I have attached an image of the TinyDuino with rainbow labels I put myself (which could be wrong?).

ANY help is very much appreciated!

After all the awesome comments/answers (special thanks to Shannon Strutz, PeterJ, Connor Wolf and last but not least Bill Heughan), I have updated the list below. You can also access the DigiKey cart here with WebID: 105367708 and Access ID: 5693

  1. R1-1k OHM: 311-1.00KLRCT-ND
  2. R2/R3-100k OHM: 311-100KLRCT-ND
  3. R4-10k OHM: 311-10.0KLRCT-ND
  4. R5-1M OHM: 311-1.00MLRCT-ND
  5. C1/C2-10uF: 445-6853-1-ND
  6. C3/C4-0.1uF: 445-4970-1-ND
  7. Y1-8MHZ Resonator: 490-1195-1-ND
  8. D1-Green LED: P14180CT-ND
  9. D2-CD0603: CD0603-S01575CT-ND
  11. SW1-Reset Switch: 679-2321-1-ND
  12. Q1-NTZD3152P: NTZD3152PT1GOSCT-ND
  13. Q2-2N7002PT: 568-5985-1-ND
  14. J1-Coin Cell Retainer: 3013K-ND
  15. J2-DF12-32-DP: H5222CT-ND

enter image description here

  • 2
    \$\begingroup\$ I got this, give me a few minutes \$\endgroup\$ – Funkyguy May 30 '14 at 19:12
  • \$\begingroup\$ Looking forward to it! Could you also check if my orange labels are correct? \$\endgroup\$ – lucidgold May 30 '14 at 19:15
  • 1
    \$\begingroup\$ Y1 is not a crystal. It is a resonator. \$\endgroup\$ – Connor Wolf May 30 '14 at 19:16
  • 2
    \$\begingroup\$ Here is the order I made for this, was fun. Digikey doesn't have the CD0603 in stock, got a comparable one Digikey also doesn't have that socket but rather the other side so you'll have trouble sourcing that: digikey.com/classic/Ordering/… Web ID: 105283554 Access ID: 58621 \$\endgroup\$ – Funkyguy May 30 '14 at 19:35
  • 1
    \$\begingroup\$ @ConnorWolf If it's laziness, how were they able to commission a PCB assembly fab without a BoM? They should know better, otherwise somebody may accuse them of being not too open with their OpenSource. \$\endgroup\$ – Nick Alexeev May 30 '14 at 20:13

The Eagle files from the TinyCircuits TinyDuino Processor Board GitHub repository do contain some BOM information. The device and part number fields look like something they've allocated themselves as an internal stock code, they are fairly sequential numbers prefixed with AS-ITM- so I've excluded them.

The remaining information does include some component tolerances and other information that may be useful to confirm your selections but it looks like it's been pretty well covered by others:

Part Value      Package     Description                                                           VALUE        
C1   10uF       C0603       CAP CER 10UF 10V 20% X5R 0603                                         10uF         
C2   10uF       C0603       CAP CER 10UF 10V 20% X5R 0603                                         10uF         
C3   .1uF       C0402       CAP CER 0.1UF 16V 10% X5R 0402                                        0.1uF        
C4   .1uF       C0402       CAP CER 0.1UF 16V 10% X5R 0402                                        0.1uF        
D1   GREEN      LNJ_LED     LED GREEN SIDE VIEW SMD                                               GREEN        
D2   CD0603     0603        Diodes (General Purpose, Power, Switching) IO=150mA VR=75V HIGH SPEED CD0603       
D3   MBR120     SOD-123FL   DIODE SCHOTTKY 20V 1A SOD123L                                         MBR120VLSFT1G
J1   3013       3013        Keystone 3013 - RETAINER COIN CELL 16MM PC T/H                        3013         
J2   DF12-32-DP DF12-32-DP  CONN HEADER 32POS 3MM SMD 0.5MM                                       DF12-32-DP   
Q1   NTZD3152P  SOT-563-6   MOSFET 2P-CH 20V 430MA SOT-563                                        NTZD3152P    
Q2   2N7002PT   SOT-416     MOSFET N-CH SGL 60V SOT-416                                           2N7002PT     
R1   1k         0402        RES 1.00K OHM 1/16W 1% 0402                                           1.00K        
R2   100k       0402        RES 100K OHM 1/16W 1% 0402                                            100K         
R3   100k       0402        RES 100K OHM 1/16W 1% 0402                                            100K         
R4   10K        0402        RES 10.0K OHM 1/16W 1% 0402 SMD                                       10.0K        
R5   1M         0402        RES 1.00M OHM 1/16W 1% 0402                                           1.00M        
SW1  APTCLG     APTCLGTVTR  SWITCH TACTILE SPST-NO 0.05A 12V                                      APTCLG       
U1   ATMEGA328P ATMEL_QFN32 MCU AVR 32K FLASH 32-QFN                                              ATMEGA328P-MU
Y1   8MHz       RESONATOR   CER RESONATOR 8.00MHZ SMD                                             8.00MHZ      
| improve this answer | |
  • \$\begingroup\$ Thanks @PeterJ! Somehow I missed this important info on their GitHub page! Made a lot of corrections on my list above. Thanks again! \$\endgroup\$ – lucidgold Jun 2 '14 at 4:19

General rule: most resistors aren't critical, 5% or 1% will be fine (1% resistors generally cost the same as 5%. Why buy 5% parts?). Composition isn't too big a deal either, most are thick-film, and that will be fine here. Power rating is also not important - 1/8W or 1/4W will both work, use what is easier.

If something isn't called out as requiring a tight-tolerance part, it's probably just fairly flexible (this is assuming competent design, something that can be somewhat hard to find in the arduino communities at times).

Capacitors should generally be a decent dielectric - X7R/X5R. The cost over Y5V is negligable, and you get better thermal stability. NP0 is overkill.
Generally, for Voltage, you want to allow some headroom. I like to overspec by 50%, so since the maximum voltage here is 5.5V (for the ATmega), 10V caps would work fine. 16V is probably more easily obtainable.

D2 and D3 are both fairly low-spec generic diodes. D2 can be tiny, frankly I'm not even sure why it's there in the first place. D3 just needs to be able to dissipate how ever much power your device is expecting to draw (it's reverse-bias protection on the power input).

Voltage rating is just something sane. I'd go for 20V minimum parts, just because anything lower is fairly exotic. Really, just look for what is cheapest that has > 20V ratings and can handle the current you need.

SMT LEDs are a pain in the ass - there are LOTS of packages, generally each manufacturer has their own. Critical here is the fact that it's a side-firing LED. Ideally, get measurements from the board file, and plug those into the digikey search.

I'd bet "J1" is the "+" and "GND" pads on the lower right-hand corner.

| improve this answer | |
  • \$\begingroup\$ I have updated my list of questions, there are only 3 outstanding. You guys have been great help! Could you please review my questions one more time? \$\endgroup\$ – lucidgold May 30 '14 at 21:06
  • \$\begingroup\$ @lucidgold - Sorry, I was sleeping. It looks like Bill Heughan has got you covered, though. \$\endgroup\$ – Connor Wolf May 31 '14 at 5:10
  • \$\begingroup\$ Thanks @Connor Wolf. Your comments were spot-on and very informative! \$\endgroup\$ – lucidgold Jun 2 '14 at 4:18

I'll edit this question as I tackle your three remaining questions; Connor Wolf has done an excellent job of the rest.

Working backwards:

16) MCU-ATMEGA328P: ATMEGA328P-MURCT-ND 20MHZ vs. ATMEGA328P-15MZCT-ND 16MHZ? Is the 20MHZ a drop-in replacement for the 16MHZ?

1) The ATMEGA328P in your picture looks like a 32QFN package. The main important difference (the clock speed change is important, but doesn't really change much when doing a BOM) between your two selections is a package change, which for surface mount parts, is VERY important to get right. The first one you described (MURCT model) is the 32QFN package, which I believe is the package you require. I invite you to check the package information against your eagle library part package in order to confirm this. To do so, get the manufacturer's model number from the digikey page (ATMEGA328P-MUR, not the digikey model number which is often different). Then, look at the datasheet in the section "ordering information", for this model number. It will then have a package code that corresponds to that model, which you can then take to the "Packaging Information" section (usually next section in ATMEL datasheets). In that section you can see the physical layout of the chip with dimensions, etc. Use this to check against your eagle library part for this item, carefully. If all you have is the BRD and SCH, you can use a ulp file (eagle script file) in order to construct a eagle library file from your BRD/SCH. Google can tell you more about this.

You can use this process for nearly any IC type part, as they will usually have a variety of packages based on what your needs are, mainly either being space-efficient (VFQFN) or cost-efficient (SOIC). This is also how you get the packaging information for importing new parts into eagle when making new designs.

The second package (15MZCT model) is a physically smaller part, with an exposed pad on the underside (32-VFQFN), which i doubt is what you want, as it is nearly impossible to hand solder (unless you plan to get the board reflow soldered).

I suspect you got confused thinking these were similar parts because Digikey often puts misleading information in the 'description' field of ICs (They are both labeled as '32QFN', which is only partially true). Be sure to check the detailed information of each part. Also get in the habit of referring to parts by their manufacturer codes, not by their digikey codes, as this will help eliminate a LOT of confusion when looking at part datasheets (which you will do often in electrical design). Not to mention, if you were to buy the parts from say, element14 or mouser, you'd have no trouble searching for them there.

14) J1-3013: Still not sure what DigiKey part this would be?

2) J1 looks like it is a set of terminals for your positive voltage source and GND, so you can solder a pair of wires there in order to connect to your battery (or other voltage source). The cheapest way to do this is having it done by the PCB fab house (they drill holes and plate them), which seems to be what they did. So as far as I can see there is no need for any digikey part here.

10) D3-MBR120: 568-6504-1-ND vs. MBR120VLSFT1GOSTR-ND? The Schematic document has "MBR120". Any real difference?

3) Functionally no, they are both 20V 1A schottky diodes. They are, however, by different manufacturers. A quick look at the datasheets of each reveals that, even though they have different package codes, they are of similar size (ignoring manufacturing tolerances). Be prepared for ALOT of this in surface mount parts. Every manufacturer can have a different part code that refers to the same physical package. Not to mention, sometimes two part codes are not physically the same. For example, SOIC is usually pretty standard, EXCEPT when it comes to package width, which can vary between manufacturer. Never assume your eagle part corresponds with a particular manufacturer's part code; ALWAYS check the library part package against the datasheet package corresponding to the one you are ordering. This is something I had tons of trouble with when I was a newbie to surface mount.


  • I believe you have mixed up D3 and Q1. Easiest way to tell is to look at the number of terminals of each part on the schematic (though not always the correct way, some parts can have multiple unconnected pins for various reasons).
  • Many of your links are 404ing, because digikey does not like it when you link the URL of searches. If you want to include URLs, make sure they are the part pages rather than a search page (URL starts with www.digikey.com/product-detail/).
  • If running this off a battery pack, be wary when the battery begins to discharge. The voltage will drop off as the battery discharges; if the voltage goes below the minimum threshold for the ATMEGA328P (1.8V I believe), you will begin to see erratic behaviour as the noise margins begin to shrink past the design tolerances of the device. You can enable brownout detect in your code on the ATMEGA to prevent this. It will trigger a reset when the voltage reaches an unacceptable level. More info why this is good practice here
| improve this answer | |
  • \$\begingroup\$ Thanks @Bill Heughan, very very informative. I have updated the URLS and will change the image as well. I will read into brownout. Thanks again! \$\endgroup\$ – lucidgold Jun 2 '14 at 4:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.