Looking for resources on how to start taking my creations to the next level.

Where I'm at:

  • I'm a software developer nerd with limited hardware design experience
  • Comfortable creating stuff with the Arduino Duelimanove / Uno pre-fab boards w/ breadboards, project boxes, and lots of tape and zip ties

Where I want to go:

  • Turn a "breadboard" solution into a custom, non-ghetto PCB
  • Integrate Arduino / Netduino chips into designs
  • Being a software guy, I don't really have a desire to make PCB's by hand with the newer "design in computer and have it shipped to you" model
  • Have designs made in very small quantities (1 at a time, maybe 5 at a time max)

In my google-ing so far, I've tried looking for an outsourced PCB manufacturer that might have an Arduino template component that I can drop on a virtual PCB board and start messing around, but haven't found anything. I assume there are some specific measurements that would allow me to create my own component, but no idea what they are called to search for them.

Any recommendations here would be appreciated on vendors, software, concepts I need to educate myself on, and such.


6 Answers 6


I started learning a PCB designing software and successfully made a working PCB prototype containing two Arduinos, RTC, external EEPROM, RF module and some other components on a single board all within two weeks.

This is how I did it:

Selection of PCB designing software - I chose Eagle because:

  • It's free but with a limited board size (not a big deal for most of the hobby projects)
  • Huge community support as compared to other softwares (because it's free)
  • Most of the open source hardware schematics and board layouts available in Eagle format. Ex Sparkfun releases eagle schematics and layout. Arduino available as well.
  • Learning was quite easy.

What electronics concepts to learn: As you mentioned, you are a software guy, you need to do a little reading before you start developing complex projects. This is necessary and it'll pay off.

  • Power regulators - Here you need to learn about linear regulators and switching regulators. Which one to use and when.
  • Decoupling capacitors and their proper placement on a PCB.
  • Diodes and their uses - Voltage clamping, reverse polarity protection etc.
  • Pull up and pull down.
  • Filtering capacitors.
  • Benefits of having a good ground plane. (I underestimated it once. Paid the price.)

What software concepts to learn: Obviously you need to learn most of it to make a PCB. But here I'll highlight some concepts you should know even if you don't need it in your first project. This will come in use at some point for sure.

  • How to make a component on your own.
  • How to make a custom library.
  • Copying symbols and packages from other libraries to your library.
  • How to use ULPs. In eagle, there are ULPs to automate some tasks. I haven't explored much but I have used one which extracts all components from any schematic and dumps them into a library so that you can use it in different projects. That's how I got Atmega328p. I was unable to find it in default libs so I extracted it from Arduino's schematic.
  • How to make a logo - You might like to have a custom logo on your PCBs.

Production part:

  • Once you are done with your schematic and board layout, you need to export Gerber files to be sent to the production houses. It contains all the info in a numeric form which can be understood by their machines. Eagle will do it for you. Find this in Cam processor section. Sparkfun provides a Cam job file but don't hesitate to modify it to suit your needs.
  • You need to select a PCB thickness and copper layer thickness. For low power, 1-2 mm PCB with 35 microns of copper will do the job easily. You can also specify the mask color if your production house allows you to.
  • Most of the production companies provide prototyping of PCBs. This is costly but there doesn't seem to be an alternative. They will charge you more if you want it to be delivered quickly. Make sure you talk to 5-10 production houses before selecting one. Their prices vary wildly. In my case, one was asking 10 times the price quoted by the other. No kidding.
  • Component selection - Through hole or smd? Both have their pros and cons. SMD will allow to make compact and neat boards but they are relatively difficult to solder on your own. However if you select relatively larger footprints (1206 or so), it shouldn't be that hard. For a start, I'd suggest through hole components. Pretty easy to handle.
  • Verifying your Gerbers: Before you send the gerber files for production, you can verify them by using softwares available for free. I use GerberLogix.

Tip: Before sending your first board for production, post the schematic and board layout on forum so that you can get suggestions/opinions from people who are experienced in this field.


Whatever CAD package you use (I use Eagle and the "limitations" have never caused me any grief so far), what you're going to need is gerber files. In Eagle you generate these using what's called a CAM job (I use the one from Sparkfun). Incidentally, the Sparkfun Eagle Tutorial is also pretty good to get you started if you go that route, and there's also an ok screencast from Adafruit. You can also get the Eagle files for the Arduino boards right off their website (also for their older boards).

Once you have the gerber files, you just need to zip those up and send them to a fab house. For low volumes, the cheapest decent quality prototyping service I've come across is DorkbotPDX for small boards. I've also used BatchPCB but have found them both more expensive and longer delay.

  • \$\begingroup\$ CadSoft fromeagle seems to be the professional and best one out there for arduino \$\endgroup\$
    – Lokanath
    Commented Jan 21, 2016 at 10:58
  • 1
    \$\begingroup\$ @Lokanath I'd say Kicad is a good competitor to Eagle: it's starting to have a pretty decent sized community, it can read Eagle libraries so you can use all of those, and there are no artificial limitations on layers/board size/etc. Also, it's free both as in free beer and free as in free speech. In the user interface side, I think neither of them are very good, but they're bad in different ways, so that's up to the individual. \$\endgroup\$
    – Timo
    Commented Jan 21, 2016 at 12:30
  • \$\begingroup\$ @Timo i will surly give it a go :) \$\endgroup\$
    – Lokanath
    Commented Jan 21, 2016 at 16:34

Take a look at fritzing. It incorporates:

Schematic Capture

Build schematics with just the ardunio chip. Schematic Capture In Fritzing

Building breadboards for demonstration

The software allows you to create images to show people how to wire up their breadboard.
Breadboarding in Fritzing

Building PCBs

You can build PCBs in fritzing and then they can be sent for manufacture by them.
PCB in Fritzing


If you use Eagle you can load the Arduino files into it and create your own template - the boards were designed using Eagle. I use Pulsonix PCB software, and imported the files to create a template for that program. You can then create your own shields.


There is very little to gain from reusing the Arduino files, as the basic construction is so simple, so don't put too much value in that, it's much more important that you understand what's going on and you get a good EDA package that you can use.

If I was you, then I'd start out looking into a simple clone like the "DC Boarduino", which is basically an Arduino as that's simple enough to understand a clone quite easily.

The trick with the "DC Boarduino" is that is leaves out the FTDI USB chip, which is very cool if you only use the USB connection when developing, so you can buy only one FTDI adaptor and reuse it for all your Arduino-like boards, like this one: http://www.adafruit.com/index.php?main_page=product_info&cPath=19&products_id=284&zenid=42367bcc145ecc7da8c87d51db3b70be

WRT the EDA package recommendation: I've used EAGLE before, but it really is limited and that can bite you in the ass when you start building bigger things, so I can recommend skipping EAGLE and using Kicad in stead.

  • \$\begingroup\$ Does Eagle or Kicad allow any kind of export-to-vendor for click and ship functionality? I'm totally lost on that front... some of the PCB design-n-ship companies seem to have basic software but no template for dropping in connection points for an arduino chip. \$\endgroup\$
    – Brandon
    Commented Jan 3, 2011 at 20:27
  • \$\begingroup\$ Many board suppliers accept Eagle files. Otherwise, you supply Gerber and Excellon files generated by your PCB software. If the library doesn't have the AVR part used in the Arduino, you will have to design your own. \$\endgroup\$ Commented Jan 3, 2011 at 21:07
  • \$\begingroup\$ You could also just use OSH park \$\endgroup\$
    – Funkyguy
    Commented Apr 27, 2015 at 15:25

Usually, when you encounter EAGLE for the first time, your biggest challenge will be to find foot prints for the most commonly used parts such as - Resistors, Capacitors, Voltage regulators, etc.

I have compiled a small list of most commonly used component libraries in Eagle, it will help you to get started with PCB design quickly.


Hope it helps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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