What if you could build your own Arduino shield? Here is an attempt to help you build an Arduino shield for as cheap as $10. You will be surprised how easy that actually is.
We have built a Decibel meter lately, using few LEDs and a microphone. Today, we are going to use the same information, sketch and design to build an Arduino mini shied that will host all those LEDs, and we will make sure that its pin corresponds to the previous design for us to replace the LEDs and jumper wires by the mini shield.
We are going to be using the free software KiCAD to design the PCB. After the whole design is done, we will send the files to any PCB manufacturer. When it comes back, we will need to solder the component on top of it and hopefully plug it to the Arduino and make it work.
We’ve tried to make this tutorial as easy as possible. Even if you have zero experience in PCB design, you should be able to follow the tutorial below and build your first PCB.
If you haven’t downloaded KiCAD yet, you can do it here.
Let’s dive into it.
Building a mini Arduino shield using KiCAD
Start a new project
We’ve named the project Arduino-Decibel-shield.
You should see the files related to the project appearing to the left side of KiCAD windows.
Open the Electronic Schematic editor.
Here is what the schematic editor looks like
We need to use the schematic below to construct our circuit using symbols.
So, according to the image above, we need 10 LEDs, each in series with a resistor of 200Ω. We need all the cathodes to be connected together and to be connected to GND (Ground).
Let’s get started.
If you click on the icon highlighted in the image below, the Choose Component window will pop up allowing you to select components and add them to your schematic.
Place 10 resistors and 10 LEDs on the drawing board.
Tips for beginners.
- You can use the search bar to find components, Just type the name of the component you are looking for, and the software will suggest the components it thinks fit your search.
- When your cursor is on the drawing board, hit the interrogation mark key, and it would display the Hotkeys List which you can use to move faster while drawing.
- To copy a component, place the cursor on it, hit the i key on your keyboard.
- To rotate a component, hit the r key.
After placing all the components, you should have something like this.
Now let’s add the Connector 1 x 15 (one column 15 rows)
Add the connector to the schematic.
Connect all the Cathodes to the pin 15. We want pin 15 to go to the Arduino GND pin. We are not going to be using the pin 11, 12, 13, 14.
Do not forget to place the not-connected-flag (blue cross) at the ends of the unused pins.
Hover the cursor on the values of the resistors, hit the V key to be able to edit the values of the resistors.
Now it is time to perform the electrical rules check and make sure the Error list is empty.
Generate a Netlist, save it and do not forget to annotate the schematic.
After the annotation you should have something like the following.
Step 4 – CvPcb
Now it is time to convert the symbolic representation to the actual real-world representation.
Connect the schematic symbol to the lay out foot print with a click on the button shown in the image below.
The following window will pop up.
Now, The highlighted components are the ones we have on the schematic. The left and right column is the one diplaying component from KiCAD library.
We need to select each of the components we have an assign it a type from the library.
For the LEDs, let use the LED_1206.
Let’s use the resistor of the type SMD: R_1206_handSoldering.
Let’s use the connector Pin_header_straight_1x15_Pitch2.00mm
Now, let’s save and go back to the schematic windows, and generate a netlist once again.
Once it is done, go back to the main window and click on the Printed circuit board editor
The following windows will show up. Click on Read netlist icon
The Netlist window will open, click on the Read current netlist icon and click on Close.
Something like This should appear on the board
Make sure the footprint mode is activated, right click on the drawing board and select Global Spread and Place >> Spread out All Footprints
The components should then appear like this
After playing a little around with the placement of the component, we’ve ended up with the following. To move a component, place your cursor on that component, press M on your keyboard and move your mouse to move the component. Click to place it when you find its right place on the layout.
select the right layer and start routing. (The wiring is made on the layer F.Cu(PgUp))
After routing, here is what it looks like
Let’s place the actual board of our PCB. This will determine how big we want the board to be.
Now let’s play around with Texts and label. Place the cursor on a text, hit E and you can render it invisible.
Here is my final layout
And if you hit the 3D viewer you can have a 3D representation of the PCB we’ve just designed.
here we go
And we are set to go. Now we just need to order the PCB and its components to have our functional Arduino mini shield.
Part 2 coming soon…