Arduino uno pcb

Arduino Shield PCB Board Design

Introduction: Arduino Shield PCB Board Design

How to create your own Arduino (UNO) shield PCB board very easily using EasyEDA. I will be creating a Arduino UNO 3 x 3 x 3 LED Cube Shield with the built-in spice tool which you could create schematics, design PCB boards, generate a bill of materials and even analyze your circuits.

Step 1: Preparation

The easiest way to start practicing is by using someone else’s schematic since this will save you time, which means you have more time to work on your PCB board design skills. Feel free to fork the LED Cube Shield project if you’re interested and want to completely follow my steps.
The model for the Arduino Shield PCB board can be found in the online library.

Step 2: Converting Your Schematic to PCB

Open up your schematic and click on “Convert project to PCB” :

Step 3: Placing the Components

You will end up with a screen filled with an outline (the purple line) and with all the components you placed down in your schematics.
Start dragging the components to where you want them to be. Make sure to place the components on the inside of the Arduino shield.

Step 4: Drawing a Custom Outline

Now we can draw the outline. I always like to use the same size shield as the Arduino itself, so I draw my new outline precisely on the outline of the Arduino shield PCB board.
To draw the outline you have to switch to the “BoardOutline” layer in the layers menu:

Click on the current outline (the pink square in your editor) and press delete to get rid of it.
Use the tools shown above to draw your new outline. Once you’re done with your outline you can switch back to either the top or bottom layer.

Step 5: Routing

Since the Arduino has a lot of data pins we don’t need a GND copper area.
The Arduino isn’t capable of providing a lot of current, so this means we won’t have to draw very thick tracks. You could choose to either: Auto Route or route everything yourself. The Auto Router function can be found in the above image:

We are going to route everything ourselves. This can be done by clicking on the track tool in the tools menu. Once you click on the pad of one component and move your pointer around you should see a track appear on the PCB board and the small blue lines should move with your pointer.

To connect 2 components together you have to follow the blue line and route your track around holes and other components until it reaches the other component. If you did this successfully the blue line should disappear.
Do this for all your components until you see no more blue lines. If you use SMD components and have to switch to another layer make sure to use VIA’s which can be found in the tools menu since a SMD component only has pads on one layer.

Step 6: Adding Holes

To secure the shield onto your Arduino we have to add holes. Now in my case I didn’t have to do this, since the Arduino model already had holes included.

This is how you can add holes if your model doesn’t include holes: Click on the “Hole” tool in the tools menu. Set the size in the toolbar on the right. Make sure you’re using the right units!! Once the size has been set you can click on the PCB board to place your holes down.

Step 7: Adding Text Labels to the PCB Board

To add text click on the “Text” tool in the tools menu. Place the text where you want it to be and change the text in the right properties menu. This could be extremely useful if you have to connect external modules to your shield since all the pins are marked however you want yourself.

You can also change to the desired silk layer in the toolbar on the right. After you finished your PCB design, you can directly order PCBs from the same tool and calculate your PCB price quickly with the online pricing calculator

Step 8: Prototype PCB

The order steps process is also simple, here are the PCB order steps:

Just click the Fabrication Output button in the PCB editor or Upload your gerber files on PCB order page;

Fill in your PCB information;

Be the First to Share

Did you make this project? Share it with us!


DIY Arduino UNO | How to Make Your Own Arduino Uno Board

Introduction: DIY Arduino UNO | How to Make Your Own Arduino Uno Board

Hello guys, welcome to Being Engineers. Hope you all are doing great. In today’s tutorial I will show you how I made my own arduino uno board using the atmega328p IC. A year ago I have made a series of tutorials about homemade DIY arduino. This is kind of a updated version of that. Before starting this let me thank the whole arduino community for the immense support they has provided us throughout the time. WIthout arduino this channel might not even started at all. Now it being a open source platform it’s quite easy to get to know about the insides and the bits and pieces of all the things that makes arduino what it is. So in this tutorial we will be looking into the schematic of Arduino Uno, modify it a little to our needs, make a PCB out of it and solder the required components to make the final product. But before starting let me tell you that I will not be using any SMD components to make my version of arduino because not everybody has a soldering station and sometimes, specially here where I live, finding SMD components is harder. Moreover through hole components are cheaper than SMD components in most of the cases.

I have also made a detailed video discussing the whole process in youtube, so if you don’t feel like reading the whole doc here, watch that video. You will be sorted.

Also if you like this tutorial then follow us on this page «Being Engineers» and check out our youtube channel —

Now, enough of this chit chat. Let’s start the tutorial.

Step 1: Alter the Changes in the Original Schematic

First of all let’s talk about the changes that I am gonna make in the original Arduino Uno schematic that you can download form the link below.

The changes will be the following —

  • As I have told earlier, I will not be using any SMD components on board. All the items will be in through hole format.
  • I didn’t find any FTDI chip in through hole format, so the USB to TTl conversion will not be done on board. A separate FTDI breakout board will be used to program the new arduino.
  • Original arduino uses a mosfet comparator to determine whether we are powering up the board with a usb power supply or a DC-in. But in our version we will be manually switching that using a jumper.
  • The tradition one uses a LP2985 IC from Texas Instruments to get the 3.3v power supply on board. But due to unavailability of the board in TH format, we will be using a simple linear regulator. So LM1117 should be a obvious choice here, but to keep the making cost even lower, we will be using LM317 with R1 and R2 as 240E and 390E respectively.
  • The last thing I want on my board is ample number of power lines and two headers for each IO ports. So I will be placing to rows of header, one male and one female around the board which will help me to connect more number of devices directly to the arduino.

So keeping in mind these changes, we can chalk down the final list of components.

Step 2: Gather the Components Required

These are the components that you need to make this project. Wherever quantity is not mentioned consider it as one.

  • Atmel Atmega328p-pu Microcontroller
  • 28 pin IC base
  • 16MHz crystal oscillator
  • 22pF caps X 2 nos
  • 100nF caps X 4 nos
  • 100uF electrolytic caps X 3 nos
  • 3mm red led X 2 nos
  • 330E 1/4W resistor X 2 nos
  • 240E 1/4W resistor X 1 nos
  • 390E 1/4W resistor X 1 nos
  • 10K 1/4W resistor X 1 nos
  • Push Button for reset switch
  • 1N4007 General purpose diode
  • 7805 Linear voltage regulator
  • LM317 Linear variable voltage regulator
  • DC female jack
  • 2 pin Screw terminal block
  • lot of male and female headers

Except these you will also need soldering equipments and some hardware tools to make life easier.

You will also need a USBASP ICSP programmer or a USB to TTL converter a.k.a FTDI breakout board to program the arduino from your computer.

Here is the Project BOM from easyeda —

Gather all these items and proceed to next step.

Step 3: Draw the Final Schematic

To draw the final schematic I used Easyeda, a web-based EDA tool suite. Drawing big circuits like this can be very easy in this portal. Also it’s a online service. So by usability it gets nothing better. I will also recommend you to use it in your design. The circuit that I designed can be found in the link below. That is a PDF doc. Download and take a look if you want.

Step 4: Design the PCB and Order It

Once the circuit design is completed, It’s time to make the PCB. I used the JLCPCB website to make my prototype board. They are one of the best in PCB making in recent days in my opinion.

After circuit design is complete, convert the circuit to PCB and design the PCB in easyEDA website. Be patient with it. A mistake here will ruin your PCBs. Check multiple time before generating gerber file. You can also check the 3d model of your PCB from here. Click on make gerber file and from there you can directly order this board via JLCPCB. Upload the gerber files, select proper specification, don’t change anything is this section. Keep it as it is. This are good enough settings to start with. Place the order. You should get it in a week.

PCB Layout in PDF with 1:1 Scale —

Step 5: Solder the Components on the PCB

Once you have received the PCBs, it’s time to solder the components on it to make the final product. There is nothing complicated in it. Just keep a printout of the schematic in front of you and start putting the components one by one in the PCB. Make sure there is no short in power and ground after the completion of this step.

One thing I just want to clear here is that the caps values are don’t need to be perfect. Something close to those values will do the job. Same goes for the resistors. But keep the R1 and R2 values of LM317 as it is told.

One thing you may find odd that the arduino that I made has two reset buttons on it. Actually what happened is that when I designed the layout, I used a four pin push button as a reference. But at the time of soldering I realized that I don’t have that. So I soldered 2 two pin reset switches on place. Nothing is special in there.

Step 6: Burn the Bootloader on the Microcontroller

If you use a USB to TTL converter to program the microcontroller then the arduino bootloader has to be installed in the new atmega328p chip. To do that follow the steps as stated in the following page. After this the process of uploading the code is exactly same as it would be in a regular arduino. See the next step.

If you use ICSP programmer i.e. USBASP programmer then this step is not needed. But the process of uploading the code is little different. Watch this video to know more.

Step 7: Program the Arduino (using FTDI Breakout Board)

Connect the breakout board to the arduino and connect that to the computer. Open device manager and observe the com port of the usb to ttl converter. In arduino IDE select the com port and board correctly. Now here comes a tricky part. If your ftdi board das a DTR pin and it is connected to reset then just save the program and upload that to the arduino as usual. There will be no error. But if you don’t have the DTR pin like me, then before clicking on upload, hold down the reset button on the board, and then press upload. Hold the button till the program is compiling, when the ide says ‘uploading’ , then release the reset switch. Then the code will be uploaded.

Step 8: It’s Done!

Here you can see I have uploaded a 3 pin charlieplexing code in the new arduino and everything is working as it was supposed to do. Using only 3 pins we are controlling 6 leds with 200ms gap in between. I have tested with other codes as well and all of those work flawlessly.

That’s it. The project is completed hereby. I hope you liked this project and learned something new. If you have then don’t forget to follow us in this page and also subscribe to our youtube channel.

Stay creative and see you next time. Till then bye and take care :)

2 People Made This Project!

Did you make this project? Share it with us!



Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats


Failed to load latest commit information.

Contents and Overview

During this project, I deepened and honed my knowledge about Altium Designer (Version 20.0.10) software and how to do professional PCB design. Altium Designer is a professional software used to design all kinds of boards, from very simple ones to motherboards or servers. It is one of the most used software for electronic design.

I started with Arduino Uno reference schematic. I learned how to re-draw the schematic, modify it, I learned how to improve it and how to do PCB layout. and by the end of the project, I learned what documents are necessary to manufacture the board and how to create them.

during this project, I learned how :

  • Draw schematic, including tips for component selection and important circuits
  • Create components, draw schematic symbols and footprints
  • Place components into your PCB
  • Route PCB and useful tips about layout
  • Create a 3D model of your board
  • Create board variants with different components fitted / not fitted
  • Create Bill of Material (BOM)
  • Create assembly drawings showing the position of components on the board
  • Generate Gerbers, Pick and Place, Drill file, and other files needed for manufacturing
  • Prepare professional documents needed to manufacture your PCB and assemble your board