This is my make-through for the week's assignment.
Grab a cup of coffee! Buckle up your seat belt! Enjoy the upcoming greatness!
I have been waiting for this week since I started the MD back in August. I eagerly wanted to understand these little boards with all the small tracks that look like a network and the very small chips mounted on them.
How on earth my smart watch tracks all of my activities.
It has a GPS, WIFI, BT and sleep tracker and a lot more, all of that with its size that comfortably fits in my rest.
Now I am relieved and satisfied that I can name names like PCB, pads, SMD, footprint, ... What I liked the most for this week and also the previous one the hands-on practice way.
It makes me learn too many things and increase my skills at problem solving.
With that being said let’s jump into the interesting stuff.
All Week long
In the lecture on Monday when we started to breakdown and share what we know to identify the board components, that allow me to know a lot of info I didn't know I don't know (which is so hard to know) sorry that was a bit of a rap hehehe.
Also I started to ask questions and link the bits and pieces in my mind.
For this picture, I was overwhelmed when I saw this board for the first few seconds, but now after we're almost done with the week I can confidently say I understand it with 80% better than before.
Even the 20% I am not filling I know how to search and know about it.
Can you see how our instructor looks super cool!! and everyone are either highly focused or pretty sleep not sure hehehe.
I was overwhelmed with this board
Step1: Watching the self-practice videos.
Step2: Getting familiar with Eagle.
Step3: Jump into the work and start drawing my first schematic.
Step4: It was a bit unfamiliar how to find the parts I want to add even with knowing the footprint and the device name. Later I got used to it and worked my way from there specially after the Mid-week 4hrs session.
Step5: As you can see in this picture I forgot to connect the Microcontroller to 5V, and I didn't notice until it raised an issue while I was connecting the board wires and thanks to Askar he noted that.
Schematic with missing connections
Problem: Finding parts in Eagle
Potential solution: Using * before or after the part name, search within the library
Step1: Apply the new searching way to find the parts.
Step2: Ask on our group to find another way.
Step3: And tada I created and understood the schematic.
Final Schematic
Step1: I was fortunate I watched the videos once they got uploaded.
Step2: After I organized my components to ease the wiring process, I used the auto wiring feature.
Step3: I reviewed the wiring and still I had couple of wires I didn't know hoe to get them together.
Step4: The session was about to begin, so I left it and asked Ahmed Ibrahim for a solution.
Auto wiring and the manual wiring
Problem: Complete the remaining wiring after the auto wiring finished
Potential solution: The trick here not a technical one but it's problem solving and observation of the best placing for the components
Step1: Ahmed Ibrahim guided me through some tips and tricks when I showed him what I got in the session.
Step2: The next day, I started with replacing all the components again and didn't use the auto-wiring feature.
Step3: Surprisingly I wired the board right in a few minutes at least that's what I thought.
Step4: When I did the check, I had three wires still not connected.
Step5: Ask for help on the group. First Askar pointed I didn't connect the Microcontroller to the 5V (mentioned above), so I revisited my schematic and corrected it.
Step6: The issue I was facing we had already encountered in the Mid-week 4hrs session, Ahmed Ibrahim pointed to that with a potential solution.
Step7: I observed my design closely and followed the tip and all worked fine.
Need to be bridged
Problem: Bridging the two GNDs
Potential solution: Use 0 ohm resistor to make a bridge
Step1: I used a 0ohm resistor to make a bridge.
Step2: I observed my design closely and followed the tip and all worked fine.
Final Board
Step1: Import our bottom, profile and drill layers into Gerber-V
Step2: Combine our bottom and drill layers into one and export it
Step3: Export our drill layer
Step4: Import into Gimp
Exporting layers from Gerber-V
Step1: Import our bottom, profile and drill layers into Gimp
Step2: Utilize and flip all the three layers
Step3: Export the layers to .png
Step4: Upload to Fab module
Utilizing layers into Gimp
Step1: Import each .png layer
Step2: Specify the output and process for each layer
Step3: Edit the machine data
Step4: Finally generate and save Roland files
Generate and save Roland files
For the part while we were using the milling machine, you can say we did everything the wrong way hehehe. It was like having a hand on practice the wrong things.
We didn't invert the traces and pads color so the machine went cutting off the traces not around them.
We didn't fix the endmill correctly and it went carving a part then it didn't follow and thanks god it didn't break.
Cutting the traces!
Problem: Cutting traces and fixing the endmill
Potential solution: make sure to invert the layers color and tighten up the endmill
Step1: For the soldering part, it was my first time to put my hands on these tools and hold an empty PCB and I have to make it work which I was completely sure that it won't blink and going to blow up.
Step2: It was really really fun, I was panicking that everyone was doing good with their boards and I don't have a clue and just shouting to Asker to come help me and he kept coming and going guiding me through. I am sure I was pretty annoying to him.
Step3: After hour and a half or two hours I managed to finish soldering all the components.
Step4: Asker just plugged the adapter and went bow the LED got burned, I had a short circuit, so I went back and Mohamed El-Sayed helped me to fix it and replace the LED.
Step5: Here it comes the second try and Yaaay it worked just fine another victory in my pocket for this week.
Soldering components
I had zero knowledge with PCB from all sides and didn't know even there is a process this long. I was worried I won't be able to complete the assignment, I am not sure why but I had that feeling. But surprisingly, I did think it through, I did solved some issues by doing research and asking the group. I am really proud I did a technical thing like this more than anything else.
It was very different from the way we prototype using Arduino and breadboard. In there I care about having the right wiring without worrying which wire going above the other one. On the other hand, in PCB I am planning and organizing every single detail which is great. I was using breadboard and Arduino as a black box I don't know what is happening in the background or which component is which. Now I can compare between the same functioning components depending on my customization for the PCB.
What to expect!
Step1: I thought through the parts I need to create this PCB, then started looking within the libraries for these parts.
Step2: I used Fab and Sparkfun libraries to get the parts and started to choose depending on the needed footprint.
Step3: Divided my frame to five section where I connect every section individually that will connect with the others later in the board.
Step4: creating nets and naming them is a great way, so I don't miss up the circuit with too many wiring and it stay traceable.
Step5: One thing that I faced at first is connecting the general purpose header pins. I tried at first to divide them into 6/6/2 without thinking it through. After that I looked to the ATTINY44 in the board, traced the pins and saw which pin do what, then I deleted the old headers and used 7/7 pin headers.
Step6: This way I organized the board in a way that will make it easy to connect the wires.
Schematic for ATTINY44 PCB
Step1: One thing that I faced at first is connecting the I/O header pins. I tried at first to divide them into 6/6/2 without thinking it through. After that I looked to the ATTINY44 in the board, traced the pins and saw which pin do what, then I deleted the old headers and used 7/7 pin headers.
Step2: This way I organized the board in a way that will make it easy to connect the wires.
Schematic for ATTINY44 PCB
Problem: What are the basics I need to follow to connect the general purpose pin headers to the ATTINY44
Potential solution: Check the pins on the IC and start organize your I/O depending on the sides that will make it easy for routing
Step1: I assigned the design rules as we learnt earlier this week before I start routing the board.
Step2: While I was going through the routing process, I tried two different positioning the first one had more than issue to solve so I discarded it and started over.
Organizing parts (1)
Problem: Finding a way to route the parts together
Potential solution: See through each part where it connects and potential placing for it
Step1: The second one went quite easy but still had some tricks that I could over come thanks to the the Mid-week 4hrs session,
Step2: After I finished routing, I applied check using DRC and it pointed to the bridge routing and the drill holes. I went Yaaay.
Before we got the update on the accsignment
Step1: After a while, I got the update that we need to change a couple of things. Thanks god I know every detail about my design so it was easy to add the parts back in the schematic and doing the routing for these two parts they didn't change that much in the circuit but had to make some rerouting from the old parts of course.
Step2: I did a RDC check again and I had no issues. Yaaay finally.
Looks good
Step1: After reviewing my PCB design in the session, I had to replace the power socket with two I/O pins.
Step2: I added the part to the schematic and made the routes in the board.
Final board
Step1: Now to the process that I can't believe we do it hehehe. How on earth we use a painting software to prepare our PCB to be fabricated.
Step2: I exported the CAM files from Eagle, then I head to Gerber-V.
Step3: In Gerber-V I opened the top, profile and the drills layers adjusted the colors and exported to pdf, then I head to Gimp.
Step4: In Gimp, I opened the pdf for each layer then I did some edits (indexing, flip, inverting color, ...) and exported each one as a png, then I head to Fab Module.
Prepared files on Gimp
At first I would like to thank Omar Sinpesy and Amany for helping me out through the fabrication process and re-preparing the layers for printing.
As explained above, I designed the circuit on the top layer, but in Gimp I flipped the pdf layers. That led to the fabrication to be flipped as well.
Omar noticed that and Amany helped me re-prepare the files on Gerber-V and Gimp.
I used to export the files from Gimp in three layer (Top, Profile, Drills) this led to a different sized in the .png files, but Amany guided me and identified why I should export profile and drills in the same layer as well as dividing the drills into two files big drills and small drills.
Fixed the final files
Flipped traces
Problem: Different size and not aligned layers in the .png files
Potential solution: Export profile and drills .pdf layers in the same file
Step1: After editing the files went to Fab modules to generate the toolpath.
Step2: First, imported the top layer. I sat the process to PCB Traces 1/64, speed to 4 mm/s, stock thickness to 1.7, tool diameter to 0.4 mm, cut depth to 0.1 mm and number of offsets to 4.
Step3: I fixed the copper to the bed using double face so it stick firmly.
Step4: Started to adjust the milling head head on a trial and error.
Step5: After the machine finished, I tested the tracks connectivity with the Avometer and it worked fine.
Top - Toolpath
Step1: I had two layers for the drills, small ones for the pads and the big ones to fixing the PCB from corners.
Step2: First, imported the top layer. I sat the process to PCB Outline 1/32, speed to 2 mm/s, cut depth to 0.6 mm, tool diameter to 0.79, and number of offsets to 1.
Step3: Something happened that after drilling 7 holes, the milling head dropped from the machine and got stuck in the PCB. I wasn't near and Noha turned the machine to view mode.
Step4: I re-tightened the milling head and had to re-import a new .png layer with the remaining drills only.
Step5: After that we re-adjusted the milling head height and stated to work again.
Remaining drills
Step1: First, imported the top layer. I sat the process to PCB Outline 1/32, speed to 2 mm/s, cut depth to 0.6 mm, tool diameter to 0.79, and number of offsets to 1 .
Step2: I didn't know the milling head will go around the profile for 4 or 5 times.
Work in progress
Step1: 1hr and 30mins is the time I spent trying to solder the components but it's all a wasted time. I didn't solder any of them.
Not working board
Step1: Replace the ISP footprint to use a long-pad to be able to solder on the surface.
Step2: Re-fabricate the PCB without any holes, adjust the I/O pins and solder them on the surface.
Step3: It got fabricated well, surprisingly I did good work with soldering (I didn't expect that at all).
Step4: While testing, I faced a problem after uploading blinking code that the led didn't work.
Step5: I asked for debugging steps on the group and got some helpful things, but still didn't work.
Step6: Luckily Ahmed Saeed was there and helped me with other steps and found a short circuit and I had to takeout the I/O pins and ATTINY44 to find if a trace or a solder was causing this issue.
Step7: I did found the issue with the I/O pins and solved it easily, then soldered everything back.
Step8: Ta da led is blinking, uploaded another code and it worked fine.
Final board
What I learned this week is...
It was a fun and engaging week with interesting hands-on practice. I really managed to learn and practice on PCB process twice
Deep dive in Arduino
Eagle software
Gerber-V software
PCB design
PCB fabrication
Milling machine
Soldering through hole & smd components