Review Arduino Board Design

I'm working on a new project (a chess timer). I have it all breadboarded, but now it's time to actually build it on PC boards. I am not to the point of creating my own printed circuit boards yet (plus they're cost-prohibitive), so I laid it out to go on a Radio Shack printed board. I laid out just the part that is replacing the Arduino (in other words, not the shift registers, buttons, and displays). The other parts I already know will work because I've built them on the breadboard from scratch.

Anyway, what I would like is if some of the experts can review the design and see if I'm missing anything. I've breadboarded pieces of it, but not all of it. My design is really just the schematic for the Really Bare Bones Board (http://tinyurl.com/66omxan) converted to work on my PCB. I would like to get it right because I'd like to use it as the base for several projects that I plan on doing.

The design is attached as well as a list of parts and a little explanation. Please review it and give any feedback you have. Here are some specific questions I have (mostly centered around the upper-right of the board - the power supply area):

  • C3, C4, and C5 - are these okay for the power supply regulating capacitors? I don't really know what their exact purpose is. I want to make sure their location is okay.
  • Is it okay to have the 5v from the FTDI cable connected to the output of the voltage regulator? I don't plan on ever supplying voltage from both at the same time (I'll either have the FTDI or the external power plugged in - but not both) but wasn't sure if the VR would have a problem with voltage on its output pin when I am using the FTDI cable.
  • The RBBB schematic (link above) that I was basing this on had a diode. I understand the purpose of the diode (protect against reverse polarity - which could easily happen with my external plug-in power header) but I'm not sure where I should put it on my design. Can I put it just on the ground wire that comes in from the external power supply so that it would not allow voltage from the ground wire of the external supply onto the ground bus? Or does it need to be in the 5v line for the external power supply? Or somewhere else?
  • C1 and C2 (crystal capacitors) - I didn't have these, but my breadboard version is running without them. The Standalone Arduino page (Arduino Playground - Standalone) says that I need them. Do they make the crystal more stable or precise? What is their purpose?

arduino-easy-board.pdf (111 KB)

my knowledge is far inferior compared to other members but all looks good, as far as power regulation goes, although why not connect the ftdi to the regulators Vin instead? thought probably will not make of a difference, the capacitors serve to smooth out minor spikes (differences) in voltages.
as far as your question about the xtals caps i do not know i always just add them, didnt even know it worked with out them.
soon someone else will enlighten you in that aspect.

oh and i always put the decoupling cap (c6) next to the Vcc and GND as oppose to your putting it on Gnd and analog refrence. but thats just me

Thanks for the input (and your time). I like the idea of connecting the FTDI 5v to the VR input. Although FTDI should always be supplying only 5v, I can't think of a reason it would hurt to run it through my standard power supply path.

"I am not to the point of creating my own printed circuit boards yet (plus they're cost-prohibitive), "
Not true - $10 for 10 boards 50xmm x 50 mm. $25 for 10 boards up to 100mm x 100mm. Very inexpensive.

C1/C2 are needed for oscillator stability. Crystal is not mounted in a good place - put it much closer to the pins.
C3, C4, C5, you want them close to the Vcc/Avcc/Aref pins and gnd.
I don't include the diode in my personal designs, but I am careful about applying voltage.
On my bobuino, I did include it - between the power jack and the regulator, just like on a duemilanove.
For the 5V, put a couple of pins in and install a jumper for the source you are using - USB/FTDI or external.

Do not run the FTDI 5V thru the input of the regulator - that will just cause it to be lowered.

CrossRoads, wow, thanks! I'll update my design tomorrow with your feedback. Thanks a ton!

Or, I might just start from scratch on my own custom PCBs if you can tell me where you are getting them so cheap.

Thanks again.

I found the PCB manufacturer you must be talking about. I have no idea how I didn't see them before.

www.cadsoft.de for Eagle light for layout. Can be intimidating to start, download one of the arduino designs & start from there, good way to learn.

iteadstudio for boards, about 3 weeks from order placement to delivery from China.
Wish we had US suppliers that inexpensive.

Theres other places where they group your design with others into a panel, seems kinda pricey/square inch to me tho.

CrossRoads:
"I am not to the point of creating my own printed circuit boards yet (plus they're cost-prohibitive), "
Not true - $10 for 10 boards 50xmm x 50 mm. $25 for 10 boards up to 100mm x 100mm. Very inexpensive.

C1/C2 are needed for oscillator stability. Crystal is not mounted in a good place - put it much closer to the pins.
C3, C4, C5, you want them close to the Vcc/Avcc/Aref pins and gnd.
I don't include the diode in my personal designs, but I am careful about applying voltage.
On my bobuino, I did include it - between the power jack and the regulator, just like on a duemilanove.
For the 5V, put a couple of pins in and install a jumper for the source you are using - USB/FTDI or external.

Do not run the FTDI 5V thru the input of the regulator - that will just cause it to be lowered.

..hold on - the tinyurl circuit (http://tinyurl.com/66omxan) is using a resonator, not a crystal - for a bare bones circuit such as this, it makes sense (less components). Therefore the 2 'crystal' caps are not required.
The 'offical' standalone arduino circuit (Arduino Playground - Standalone) is using a crystal, therefore the 2 caps are required.
In short you can either use a crystal with 2 caps
or you can use a resonator (it has 2 caps built into the package).

Texy

His pdf file shows a crystal, located quite a ways from the xtal pins.

Sorry, I didn't look a the pdf, lol. :cold_sweat:
(Its still worth clarifying though, IMHO).

Now that I am looking at the pdf, I would of positioned the chip over the 2 power rails, as per normal convention. This gives easier connectivity to the I/O lines. Unless of course the intention is to keep the pcb as small as possible.
Texy

Okay, you convinced me to try my hand at my first custom PCB! I'm attaching the new schematic and board design. It should be just (barely) under the 5cm x 5cm size to get the 10 boards for $10. At that price, it's not too bad if I mess up!

I have a couple questions to follow up on:

  • My diode - can you confirm that it's in the right place and pointing the right way? I'm not worried about reverse polarity from FTDI for obvious reasons, so I just have it in the external power circuit.
  • In the board layout I'm a little concerned that C2 and C6 (the two capacitors between VCC and GND that are supposed to smooth out any power hiccups) are all the way across the board from the power supply. My concern is: do they need to be right next to the power supply so as to smooth out power hiccups before the power gets to any of the components? Or do they work like they are (oh, I hope so - don't want to re-layout the board)

Let me know if you see anything else. Thanks a ton for all the help!! I'll be sure to post pictures and a write-up when my project is done (this is the first of two boards I'll create for the project - but the other board will be much simpler.)

plugduino-v1-schematic.pdf (32.2 KB)

plugduino-v1-board-layout.pdf (33 KB)

are you using a ground plane?

No. Do I need to?

well i think so, if you look at a board i made and i posted here

one of the users by the name of
dshay enlightened me on the subject .and i quote ..

Also, ground trace should not daisy chain from one component to the next, especially if one of the components on there is a crystal. Noise from internal switching on the microcontroller will get introduced to your ground all over that trace and will raise the 'potential', basically you won't have a true ground to reference anymore. Also, it's one long electromagnetic antenna, picking up radio frequencies. This could potentially effect your timing.

If you were to redesign, I would recommend either learning about polygon ground pours or, at the very least, draw one huge fat ground trace up the middle of your board and have all components that need to reference off it connect straight to that, not each other.

changed my life :smiley:

i reccomend a ground plane that board i made was awful and had much erratic behavior

What do you have going on with buttons? Why do you have VCC going out to them?
I would change to only have GND & the pin connected, place to add 10K pullup to VCC if the internal pullup is not enough. Then test for a low to see if button is pushed.

That pulldown & button shorting to VCC is just bad news - wish the tutorials did not teach that.

FTDI connector looks funny - if you want to plug on an FTDI basic for example, the pins are gnd-gnd-vcc-rx-tx-dtr. Guess you're just missing a gnd.

You show +5V on the input to the regulator - should +7V.
Connect the cap on the other side of the diode.
Add another 0.1uF cap to either pin 7.
Since you have room - move the reset switch & cap down a little, add holes for a header to the ADC pins, just in case. Can be used as digital pins also.

The board:
The VCC Sel header is labelled FTDI. Rotate it 180 also.
Put a +7V near the positive pin of the EXT connector so you know.
Add a label near JP1 and JP2.

Have you figured out polygon?
Delete all your ground traces.
Add a polygon to both layers. Name them GND. Click Rats Nest and let eagle connect all the grounded pins to the polygons.

You could optionally make the traces wider also, for better durability & resistance to ham-fisted soldering for example.

Overall: Nice job for a first time with eagle & pcb design.

Hey crossRoads quick question, i dont know if you etch pcbs at home or not, but if you do how do you go about preventing them from oxidizing ?
I have some boards ive made for various projects and they look like crap after a week or so ... i was thinking buy some enamel spry paint and throw that on there since it prevents rusting ...?

Wow, eddiea6987 and CrossRoads,

Thanks for all your help! I'll work on "v2" of the schematic and board later today or tomorrow and upload it when complete.

RE: The buttons - really I should have labelled them different. On this one project I am doing, they are buttons, but I want to be able to reuse this board for other things, so I was thinking "if I send 5v, gnd, and a digital pin out as a three-point plug, I can plug any sort of contraption into them later". But realistically, I think your idea is much better: just use them for what they are. Also, I didn't remember that the digital pins had an internal pull-up resistor, so I will be changing them to pullups as suggested.

Thanks again!

I don't etch at home.
There is stuff liquid tin you can pour on the boards as the last step that should do what you want.

eddiea6987:
I have some boards ive made for various projects and they look like crap after a week or so ... i was thinking buy some enamel spry paint and throw that on there since it prevents rusting ...?

I haven't tried a DIY PCB yet, but a while back I was reading some tutorials on it. Some of them talked about a spray-on compound, maybe lacquer. Just found this tutorial on tinning.

http://eegeek.net/electronics/tutorials/tinnittutorial.htm

Lady Ada also talks about tinning. In-house PCB Manufacture

This sounds like something I've read before: http://rockgrotto.proboards.com/index.cgi?board=m&action=print&thread=2901

When I was an apprentice we always painted PCBs with a thin coat of solder-through lacquer, shortly after etching and cleaning. From memory, the lacquer had some slight flux properties, and definitely didn't make soldering any harder.