PCB Design

Our second lesson in electronics’ production was about PCB design. This lesson’s assignment was to make some modifications on a PCB called satshakit made by The greatest Daniele Ingrassia . The design is for a micro controlled board using Atmel ATmega328p chip and it is capable of doing what an Arduino Uno can do.

The softwares I am using are already mentioned in the PCB Fabrication documentation

Modifying the design

This is how the original design looks like.

Mountain View
Mountain View

First step is to open the schematic file this is already shown in the previous documentation and then start making the required modifications. I decided to make four as follows:

-First to add extra pins for I2c to be able to connect more than one sensor to the board .

-Second to add extra pins for Ground, VCC 5volts and 3.3 Volts .

-Third to add a 3.3v regulator circuit to be able to take 3.3v from the board.

-Fourth to add a 5v regulator to be able to connect the board directly to a 9v battery.

First Modification:

Right click the wire connected to pin 27 of the IC and click on name.

Mountain View

Type SDA and click OK.

Mountain View

To add a label to the wire with its name Click on Label-->check bottom left corner of the image.

Mountain View

I like to use the Xref -->check upper left corner of the image.

Mountain View

Click on the same wire you named SDA, This is how it should look.

Mountain View

Do the same for the other pin of the IC naming it SCL.

Mountain View

Now add the extra pins, Click on add button -->check upper left corner of the image.

Mountain View

Scroll down to Pinhead. And since I chose to add 3 extra I chose the third one and then the first one. Then press OK.

Mountain View

Click in the place you want add the part, Add 2 of these. And then click on Net -->check lower left corner of the image.

Mountain View

Connect the pins as shown and then name the wires and add labels same as before.

Mountain View

Second Modification:

Add some pin header groups for VCC, Ground and 3.3V using the ADD button. Connect them using Net button, name them and add the labels as shown.

Mountain View

Third Modification:

We need to add pin headres to connect the battery, voltage regulator and capacitors.

First place the pinheaders .

Mountain View

Scroll to find vreg and choose the one shown in the picture.

Mountain View

As we need to add 10uF capacitors the easiest way would be to copy the one we need from the design.

Click on the copy icon and use it to copy the part you want -->check upper left corner of the image.

Mountain View

Add them as shown.

Mountain View

Connect them using Net button as shown.

Mountain View

Fourth Modification:

Add another Vreg and a capacitor as before.

Mountain View

Connect them as shown. The reason the connection is like this is because I used the same Vreg as in modification three although the Pinout of the 3.3Vreg is not the same as the 5V but I couldn't find it in eagle.

Mountain View

Time to edit the Board file .

Click on switch to board button .

Mountain View

My Idea was to free some space in the lower left corner of the board.

Mountain View

Click on Ripup and remove all wires connecting the crystal and then right click on it and move it to the right.

Mountain View

Now connect the wires back using the Route button next to Ripup.

Mountain View

Use the width of 0.012 and make sure you are on the top layer all the wires should be red.

Mountain View

Now We have the place we wanted.

Mountain View

Using the same commands Move, Route and Ripup try to arrange all the components in the area. This is how my version looks like.

Mountain View

Finally i exported the design as shown in the previous documentation.

Mountain View

Here are the 2 images to be used for the CNC machine. You can see that i have edited the image of internal path to enhance the final product. This is just an extra step for better quality you can do this using any photo editor.

Mountain View
Mountain View

Milling the PCB

For this assignment I used Roland mdx 40 CNC machine and Fab Modules To control it.

This time I used the server computer connected to the CNC machine directly.

The import step is already shown in the previous documentation.

Here are the settings:

Machine: MDX-40

Speed: 4

Send Command: mod_lp.py/dev/usb/lp0

Server: Localhost:12345

Cut depth: 0

Tool diameter: 0.2mm

Number of offsets: 5

Offsets Overlap: 55

Mountain View

Mountain View

This Trial was a faluire because i went too deep into the material so I lost some of the copper traces.

Mountain View

I changed the settings as follows and went for a second try.

Mountain View
Mountain View
This time it went perfectly fine (Y).

Time to cut the successful board out.

Mountain View
Mountain View

Final product

Mountain View

Testing

I will be testing this board exactly how I tested the previous one using blink code except that this time we don't have to add the board like we did before because the Satsha kit is similar to an Arduino Uno we already have it.

Connecting the board to the Arduino

Mountain View

Select the board as Arduino Uno and choose the correct port, Upload Arduino ISP to the Arduino and then use Arduino As ISP programmer to burn the bootloader and then use upload using programmer to upload the blink code. All these steps are shown in the previous documentation .

Using an FTDI cable instead of arduino

Since the Satshakit is similar to the Arduino Uno you can program it without an Arduino just with FTDI cable.

This is how to connect it But before you do you should burn the bootloader using an Arduino without uploading any codes after that. Each time you use the arduino as a programmer and you want to switch to using the cable you should first burn the Bootloader.

Mountain View

Result

YAAAAAY !! I did it one more time My Board works :D



For any further information regarding SATSHAKIT Click to be redirected to its original GITHUB repository.


Downloads

My Version of SATSHAKIT schematic
My Version of SATSHAKIT Board
Internal Path image
Cut image

License

-----.