Redraw one of the echo hello-world boards or something equivalent, add (at least) a button and LED (with current-limiting resistor) or equivalent input and output, check the design rules, make it, test it.
Group Assignment
Use the test equipment in your lab to observe the operation of a microcontroller circuit board (in minimum, check operating voltage on the board with multimeter or voltmeter and use oscilloscope to check noise of operating voltage and interpret a data signal). view page
Learning Outcomes
1) Select and use software for circuit board design. 2) Demonstrate workflows used in circuit board design.
Individual Assignment
Autodesk Eagle
EAGLE is a scriptable electronic design automation (EDA) application with schematic capture, printed circuit board (PCB) layout, auto-router and computer-aided manufacturing (CAM) features. EAGLE stands for Easily Applicable Graphical Layout Editor.
EAGLE contains a schematic editor, for designing circuit diagrams. Schematics are stored in files with .SCH extension, parts are defined in device libraries with .LBR extension. Parts can be placed on many sheets and connected together through ports.
The PCB layout editor stores board files with the extension .BRD. It allows back-annotation to the schematic and auto-routing to automatically connect traces based on the connections defined in the schematic.
EAGLE saves Gerber and PostScript layout files as well as Excellon and Sieb & Meyer drill files. These are standard file formats accepted by PCB fabrication companies, but given EAGLE's typical user base of small design firms and hobbyists, many PCB fabricators and assembly shops also accept EAGLE board files (with extension .BRD) directly to export optimized production files and pick-and-place data themselves.
EAGLE provides a multi-window graphical user interface and menu system for editing, project management and to customize the interface and design parameters. The system can be controlled via mouse, keyboard hotkeys or by entering specific commands at an embedded command line. Multiple repeating commands can be combined into script files (with file extension .SCR). It is also possible to explore design files utilizing an EAGLE-specific object-oriented programming language (with extension .ULP).
FAB library contains the design of the various SMD conponents that are available in our FABLAB, And we have to load this FAB library into the software.
First I had to download the FAB library from our the gitlab FAB cloud.
Then I opened the Eagle software and created a new project.
Now Click on the New Project and open create schematic, so that a new window for making the schematic drawing will open. Click on the 'Library' on the taskbar on top, and click on the 'Library Manager' from the drop down bar.
From the Library Manager window go to the 'Available' library option and browse the loaction where the FAB library is been saved.
Now the new FAB library get loaded to the Eagle software.
Learning Eagle
I'm a person with no idea about electronics and circuit designing. So for me designing a circuit is a new concept. I watched many tutorials and the local instructor helped me with the basics of electronics, designing and also showed me how to use the software and various tools.
As a first attempt I decided to design a simple circuit using a power source, a resistor and a LED. I used the FAB library SMD coponents.
I inserted all the required SMD components for my circuit into the schematic design page.
Now using the NET tool I defined the circuit. Now my circuit is closed circuit. You can check the circuit using the SHOW tool, also the ERC tool can be used.
After completing the schematic design, save the file. To create the board design, go to 'File' on the taskbar and click 'Switch to board', Now a new window will open to make the board design.
Now I arranged the SMD components the way I want.
Using the 'Route Airwire' Tool I joind the components to make the traces.
1) Redraw one of the echo hello-world boards, add (at least) a button and LED (with current-limiting resistor)
The individual assignment is to add a Switch and an LED to to this circuit and program it, so that the when the switch is ON it provides an input to the microcontroller and the output is the light from the LED.
In order to redraw the circuit I used the Autodsk Eagle software. I started a new project in the software and opened the schematic design. I then added all the required SMD componenets.
1) VCC
2) GND
3) Resistor
4) Capacitor
5) ATtint44
6) FTDI
7) ISP
8) LED
9) Tactile switch
I made the connection using the 'Line' tool and 'Name' tool.
How to find the Resistance for the LED (R1)
A light-emitting diode (LED) is a two-lead semiconductor light source. It is a p–n junction diode that emits light when activated.If we apply a current that is greater than the desired value of an led the junction temperature will increace because Heat = I^2 x R x t ,(I = current through Led,R = Resistance of conductor,t = time ) .So if the junction temperature increas it may lead to the fast deterioration of the juction or complete breakdown of the device so it is importent to maintain the current through the led . the easiest and simplest way is to use a series resistor.
The formula to calculate the correct resistance to use is R=(Vs-Vf)/I
where Vs is the power supply voltage; Vf is the LED forward voltage (voltage drop) across the LED; and I is the desired current of the LED
From the above table the continuous current for an LED is 20mA
From the above graph the voltage required for a RED LED at 20mA is comming around 2V.
The above figure is a typical led connection where .Rs is the Series resistance ,Vs is the source voltage,Vf is the forward voltage of the LED(also referred to as the "voltage drop") ,If is the safe current through the LED.
So we have,
Vs = Supply voltage = 5V
Vf = 2V
If = 20mA
Rs = (5-2)/0.02 = 150 ohms
The closest resistor having a greator value than this in our lab is 499 ohm. I hope this may work with a reduced brightnes.
I named the resistor for the LED as R1(499).
After completing the schematic design, I saved it and moved to the board design.
I then placed the components away from each other and checked whether the airwires cross each other. I rotated and moved the components so that there is minimum crossing of airwires.
As per the default setting the widths are set to 6mil. This thickness cannot be achieved using our Milling machine. The design rule can be changed from the 'Design Rule' in the 'Edit' option on the taskbar.
For routing the connection I used the 'AUTO ROUTE' tool. I got 77.3% completely optimized.
The autorouter could only optimize 77.3%, The rest of the connections could not be routed because the airwires are overlapping or moving from one end to other end crossing over some components. This complexity of the circuit can be optimized by connecting the airwires to different legs of the components. The pictures below shows how I optimized the connections.
I then obtained a completely optimized circuit.
The writings on the board design are for our understanding, These writtings must be eliminated before we give it for milling. So for eliminating the writings go to 'LAYERS SETTINGS' and on the 'VISIBLE LAYERS' window enable only the Top layer for the traces.
To disable the 'PAD NAMES' and 'SIGNAL NAMES' on the board design, go to 'OPTIONS' on the taskbar and select 'SETTINGS'. On the 'SETTINGS' window click on 'MISC' and disable the PAD NAMES and SINGNAL NAMES as shown.
Now I obtained the traces without any writtings.
To export the file design as png file, Go to 'FILE' on the taskbar and click 'EXPORT' and select 'IMAGE'. Then a window opens and browse the destination, make it monochrome and change the resolution to 1000dpi.
To obtain the outline for cutting the PCB out, take 'LAYER SETTINGS' and only enable the dimensions.
After obtaining the Outline export the file as png as the same way we exported the the traces.
The TRACES and the OUTLINE for milling.
2) Make it
I milled out the PCB board by using the milling machine. Click on the link to know how to use the milling machine and the MODS
For testing the "Hello Echo board" I connected it to the computer using the "Tiny ISP micro-controller" made during Electronics Production week.
Make sure that the ground (GND) of both the boards are connected to each other.
Open the terminal and type "avrdude -c usbtiny -p t44
The avr device recoganized the micro-controller is ATtiny44 and my "hello echo world" board is ready to use.
Using Arduino software I programmed the LED to blink in my Echo Board, and here is the output