The assignment of this week is about designing or re-draw the echo-hello world board and adding at least a button and LED with current limitting resistor
I started this week assignment by downloading Eagle software as it's very known to create new circuit design and PCB layout
After downloading the software, Starting new project and creating new schematic under the project
Eagle has so many components under many libraries. Sometimes you have to include or add new libraries to use the components. I added FAB Academy libraries to use the components
The main components that I'm going to use, the same components that make the helo-echo board in addtion to at least LED, Button, and current limiter resistor
- 10kohm resistor
- 1 micro F capacitor
- XTAL 20MHz crystal resonator
- Attiny 44 Microcontroller
- 6 Pins header
- FTDI header
After collecting the components, I started connecting the components using net from the tool bar or label to arrange the connections and get clear schematic diagram
The reason of connecting a resistor with LED to limit the current drawing from the microcontroller in order to protect the LED and the microcontroller. As for the resistor with the push button, I used it to protect the microcontroller once I press the button so no huge current will be back to the microcontroller due to short circuit condition
There are two types of connecting the resistor in this case, Pull-up resistor and Pull-down resistor. The one that I'm uisng is Pull-up. As long as the resistor connected to the Vcc source
Then and by switching the schematic to board, this can be done by clicking on the (generate/switch to board) icon or button. I arranged the parts and connected them to get traces as one layer PCB
I arranged the circuit one more time before exporting the traces
Exporting the traces as dxf. I want to make sure that the traces will be milled perfectly before transferring the file to the machine. I going to check the paths and the distance among them using illustrator, taking to the account that the bit I have is 1/64" So, the space between each trace to another should be more than 1/64" to do the milling in the right way. And this is logic absolutely
I added my name to be milled as well. The result is the following:
Planned to use Carvey machine, it's easy and can do this work as requested. First, opening the software, it's web-based called Esseal
The first page allows you to import the designs using different formats such as SVG, PNG ...
Sellecting the image trace to use png traces and upload the circuit. By dragging and dropping the traces
Setting the material, to be PCB. Also, the dimenssions for PCB board that I'm going to use
As I said, the bit that I have is 1/64", Sellecting the bit
Now, seeting the depth that I need to go down by. I tried sometimes, I used 0.1 mm as I saw it's good. Also, It will be filled, that means I will keep only the paths, and eveything else will be milled
I can see what will happen before running the machine, by checking the simulation
The final step is to check the cutting settings, there are 3 main prameters: Feed rate, Plunge rate, and Depth per pass. I will define them in simple words
Feed rate: The speed of the spindle travelling x or y direction in the material during milling
Plunge rate: The speed of the spindle travelling up or down in z direction during milling
Depth per pass: What is the depth for each pass, for example, if I will go down in the material 0.5 mm and the depth per pass is 0.1 mm. So the spindle will move 5 times each path to reach 0.5 mm depth
Now, clicking on the carve to start making the board. It took more than an hour
Then, I did make the outer path to be cut. It will go down 1.2 mm and dpth per pass is 0.6 mm so it will go two times. Finally it's ready
I collected the parts that I mentioned above to start soldering
I did finish the soldering, now the components are soldered very well as I tested that by multimeter as well
Now, I want to program it to do something, in order to make sure it’s okay and can receive the code. I’m planning to use an Arduino as ISP to transfer the code to my board. To do that I have to upload a sketch to the Arduino at first called ArduinoISP. This code allows the Arduino to work as programmer to upload the codes to different microcontrollers. The code is available and it’s one of the examples that Arduino IDE program has. I clicked on File then Examples then ArduinoISP then ArduinoISP
I uploaded the code to the Arduino by clicking on upload icon. Then it shows done uploading. Disconnected the Arduino cable and started connecting the board. I need 6 main wires to be connected with Arduino as the following
I connected the board to the Arduino
I need to define the Attiny boards in the IDE program, to do that I did the following steps
To add such boards (it’s recommended here to have Arduino IDE 1.8.5) , I clicked on Tools, then Boards, then Boards manager. I searched by typing Attiny word
And then, it will become installed as shown above after clicking on install. Now, I chose the board as ATtiny24/44/84. And using the processor is Attiny44 and the clock external 20MHz
Now, the code is ready to be uploaded. I connected the Arduino usb cable
I did simple code to make the LED turning on and then turning off with delay
The LED pin that was connected is 6 (PA7) So I called it in the code 7. The code has two main functions, the first one is void setup which has the pinMode function to decide the inputs and outputs pins. The second function is called void loop, where the commands will be repeated forever. I wrote 4 main commands to be in the loop, first to turn the LED on, then delay 1000 ms then to turn the LED off, then delay again 1000 ms (means 1 second)
I uploaded the code and checked the results, it is working perfectly, I connected FTDI cable to power the board
Download Files' Links: