Electronics Design

Electronics Design


TASKS : Redraw the echo hello-world board, Add (at least) a button and LED (with current-limiting resistor)
Check the design rules, make it, and test it.



This week, we are going to design our own board, this is my fist experience to design a board.


The software which I will be using for this assignment is EAGLE

I start using this software by chose New Schematic
The schematic window is a collection of red circuit symbols which are interconnected with green nets.

I download Fab library, the libraries store parts, which are combination of schematic symbol and PCB footprint.

After downloading the fab library I can add component by type "add" or select the "add icon from the toolbar".

I will add microcontroller ATtiny44







I will use this chip to make my PCB. After reading the data sheet of ATtiny44 microcontroller, I know which component I will add.








I add these components from the library:

These parts aolready on the Hello Echo Board

Microcontroller: Attiny44A. x1
FTDI header x1 "powers the board and allows board to talk to computer"
6-pin programming header "We use it for programming the board"
I will add :
Crystal 20MHz x 1
Capacitor 10 pF x 2
Resistor 499 Ohm x 2
Resistor 10K Ohm x 1
LED x 2
SMD Buttons x1


To connect the components
I can connect a components by chose Net command, when I chose it I can draw a green line green lines and connect the pins.

I can check the wire connection by chose a move and move the part, if it is connect the part will move with the wire.




To connect the component, I name the nets which attached to the components by chose Labels
The parts will be connected by naming them with the same name.






I chose yes! So the part now will be connected.


I connect the components with the Microcontroller by following the data sheet information.







The AVRISPSDM and FTDI cable are connected with the Microcontroller.


I placed two LEDs. One will be controlled by the SMD button, another by a digital pin called LED
for both LEDs I chose 944 ohm resistor.

We can add the value for the resistor by click -right click- then chose the value and type the number.




For crystal 20 Mhz I connect it with two capacitors 10 pF for both side, and connect it with the Microcontroller.











To see how the board layout look like, I press Generate/Switch to Board on the top menu.

The board editor is where the real magic happens.
Here colorful layers overlap and intersect to create a precisely measured PCB design.





First I Download the DRCb to check that there is enough space everywhere.
I saved the file as (.dru) then open from tool menu DRC then load.





After press check I can see that I have 25 errors
so let's work in the board and moving the components.



But before move the components I change the grid to 1mm





I have a problem with this LED connection!



To fix this problem I go back to the Attiny44A data sheet and change the connection of LED.
I chose pin (10).





Then I draw a polygon around the components.




Then press right click on the polygon line, change the name on GND, the area inside the polygon will be filled.






To prep board for milling:
In layers menu in the top toolbar, select the only the top layer (traces only)




Then export the file as PNG file.





Settings should be MONOCHROME and 1500 DPI - this will export an image with white traces.


To edit the .PNG image, I will use PS. I should Rasterize the layer first, then by (magic tool) I select the black color and change it to white.


This will be the inside cut board. .



To make the outside cut I chose selection tool and fill it with black.





I used FabModules to convert the .PNG files into Gcodes for the Roland machine.
I input the png file and put the setting. I chose (0.4) tool diameter. Then I press calculate. .



I think it`s not good so I change the tool diameter to (0.2) mm. .



Now it`s better!

Then I input the outside cut.





This is how the final result looks like:






And now Let's solder it!

Problem

After I soldered all the components, I noticed that the crystal didn`t connect with the microcontroller, I decided to fix the problem rather than milling another PCB.

This is how I fixed it :
I used wire to conncet between the crystal and the microcontroller









Programing the board
I chose Arduino Arduinosoftware to program my board.

In the tools menu select the right board (Arduino Uno/Genuino)
I need to make the Arduino as ISPto program the Echo-hello board




First, I connect the Arduino board to the USB hub, press on File .. Example select Arduino as ISP



Upload the code




After the uploading is done, I connect the Arduino and my PCB with wires by following this picture.





After the connection I go totool menu and chose the -Processor,Board and Clock- ATtiny24/44/84, ATtiny44, internal 20Mhz.
then press theBurn Bootloader button





Then I chose the blink example to blink the LED in my board,and we have to define the right blink
in my board I definePin 3 .







And Yes! My board start Blinking!! =)


In this assignment, I don`t face any problem =)




Download Files:
Board .Sch
Board layout





ARDUINO Board



To design our own board, I chose ATmega328/P Following Daniele Ingrassia's Satshakit which is an improved and fabbable
ATmega328/P is a low-power CMOS 8-bit microcontroller
Downloaded the library of the component for eagle and I used Atmega328P.






I follow the data sheet to chose the components and connect them.





I add these components from Fab Library:
ATmega328/P x1
Capacitor 22 pF x2
Capacitor 1 uF x1
Capacitor 10 uF x1
Capacitor 100 nF x1
Crystal (16 MHz) x1
Resistor 499 ohm x4
SMD Buttons x 1
Pinhead x2v
FTDI header x1
AVRISPSMD x1






This is the circuit for the 16MHz crystal, reinforced from both sides with 22 pF capacitors, and connected using labels to the microcontroller.




I chose 2 pin headed one of them for Digital Pin connection, and the other for Analog connection





AVR_ISP pinheaders connect it with the microcontroller.







LED 1 : When I press the button, the LED is on, when I release the button, the LED is off.




LED D1,D2 :I connect it with digital pin. When I send a signal to the digital pin HIGH, the LED will shine.




LED : this LED will work when the VCC and GND are connected it.





Connect the pins for the FTDI cable





I draw a circle and name it (GND)




when I check my design athe GND that wasn't connected to solve this problem I add
Resistor (0 ohm) and connect both side with GND.








Now I have no error in my file, I chose export to export the file as PNG file





Edit the PNG file Using PS- Photoshop software










I use Fab modules to convert the png file to G-code
















This is how the final result looks like:



And now Let's solder it!




Download Files:
Arduino Sch
Outside-Board
Arduino.PNG
Out-side cut .PNG