Mounting Arduino on custom PCB?


I would like some tips and advice for my Arduino project;

I have made a working prototype and now I’m thinking about taking the next step, which would be to produce a DIY kit, which I want to be as low cost as possible.

As you see the amount of cables for all the buttons is totally horrible, so I need to make a custom PCB to mount the components.

So I’ve been looking at different options for this, like Express PCB. So far not much of a deal…

The buttons and LEDS will be mounted on my custom PCB which is mounted to the front panel. This is nice because then the enclosure can be pretty much anything, so I would prefer not to have to mount the arduino board somewhere else in the enclosure.

So, I’m thinking, can I make a PCB where I mount for example an Arduino Nano? Is that a good idea? Or are there better solutions? I think it can be nice to have the USB port so that the users can upgrade the software…

Also I use the centipede shield, to get more ins and outs, but that seems simple to just place a few MCP23017 microchips on my custom PCB to accomplish the same thing.

Hope anyone can give me some tips

Thanks in advance

Sure, you can put headers on a PCB and mount a Nano, or ProMini and FTDI Basic or CP2102 module for USB access. But if you're making a board for all your buttons & LEDs & stuff, why not just put a uC (328 or 1284) with an FT232RL and the few Rs & Cs needed right on the board? Take a look here for some examples of things you can integrate.

If you are taking the time to make a custom PCB, you might as well integrated all the necessary components onto the PCB.

If cost is a the reason you don't want to integrate the ATmega328 and associated parts, consider the following. PCBs are charged by area used. So you are paying for the PCB whether the components are there or not. You might as well put the components in.

Also, if you design for a smaller board like a Pro Mini, people buying your kit will probably have to buy the Pro Mini as well. So their total cost is going to be the same.

I have used ExpressPCB's fab process in the past. While it is fast, it is very expensive. Now I get all of my boards from SeeedStudio. Depending on where you are in the world, it can take up to 4 weeks to get the boards but you get 10 5cm x 5cm for about $20 ($10 plus $10 for shipping). I don't know if ExpressPCB can export Gerber files, if not, then you might be locked into their service.

I have been using eagle for gerbers & iteadstudio to make boards. Ten 5cm x 5cm is $9.90 + $5 shipping (AirMail). Delivery has been about 3 weeks to the Boston, MA area. $24.90 for Ten 10cm x 10cm, shipping might be a little more.

They also have Bulk buy now too, Fifty 5cm x 5cm for $45.

I used expresspcb for my very first card order, then buckled down to learn eagle for all boards purchased since then.

I have not found a US manufacturer that will do the work for anywhere near iteadstudio's prices, even when I sent them iteadstudio's links explaining how they merge panels, how there is a big hobbyist market, etc. They have told me its an apple & oranges comparison.

Thanks guys.

If i am to place the arduino components on the board then I will be harder for me since i need to understand it, plus it will be more soldering for the kit builders.

I like eagle, and I got quite some recommendations for cheap manufacturing. The only problem now is that my board would be so big so I would need Eagle pro, and that's insanely expensive.

But maybe i have to rething and make a couple of smaller boards, and maybe alter my design...


Yes, you could work work something out with someone who has larger capability. I can do 100 x 160mm for example, about 4x6", so you could do the front panel as 2 pieces (which looks to be !5x8"?) Or find one of the Kicad folks, Kicad is supposedly unlimited size. Looks like you have tons of room to mount all kinds of stuff - hard to tell from your pictures what else goes in the box.

If you need to keep the USB connectivity, there are several USB/Serial modules you could use, and then add the uC and the 5-6 Resistor/capacitor/crystal needed to make up an Arduino clone. Add a 5V wallwart for power and a panel mount power connector. Hardly any more soldering at all compared to what else you have there.


You're right, seems like not too hard to include an Arduino clone. I mean the schematics and PCB even comes along with Eagle as example right?

So, what do i need to do with the Atmega, it needs the Arduino bootloader? Can I buy prepared ones or how can I load that myself?

To cover all the buttons for my panel I need a board that is about 208 x 114 mm. But I have a friend with an Eagle pro license that maybe can help me out.

Another idea could be to alter the design, and divide the 16 step buttons into 4 groups of 4 and have a small space between them. Then I could to small PCBs that just contains the 4 buttons and a flat cable connector. But then there would be a patchwork of small PCB:s... dunno what to think about that...

Later F

Yes, you can buy pre-bootloaded uCs:

Bare minimum components are shown below.

208x114 /2 = 108x57
Squeeze a little down to 100 x 57, can do that with standard eagle free hobbyist download (100 x 80)
(8mm = 0.3")

Boards are then 10 for $24.90 plus ~$5 shipping from

May 3 10-conductor ribbon cables to connect the 2 halves?

Amazing! Really great help!

Since in need more in and outputs I've use two of these:

So, I'm thinking about doing the same thing here, placing the neccesary components on the board, MCP23017. If they are available as non-surface mount...

Seems like a pretty good way if you don't have other ideas. The MCP23017:s even has built in 200 ohm pullup resistors, perfect for buttons.

Does seem like an option.

This is an old discussion (about a year ago) that I find very interesting. The uC that is used for uno's with the bootloader is around $5 while a nano board is a couple of bucks higher on ebay and can be treated as a through-hole IC or daughter board. The work and time and soldering saved is worth it, so that the designer uses his/her time with the outside circuitry that are application specific. I have been doing that for a while. One more thing, I don't think that you need beffering/debouncing for your buttons if they work like a music keyboard or a piano, but I love to add them to my projects for more reliability.