5. Electronics production “USB Board”¶
Introduction¶
This week is a challenge for me, trying to understand some tips and tricks in electronics, and I have not actually studied this part of science 10 years ago! From high school.
- I started as usual from the session. I liked that Dr.Neil has recommended some documentations of a previous student, I usually start by research and reading some previous assignments so this week is easier than last week in search. I started with Sean Hickey Documentation. I was surprised in his idea and loved that he did not need to soldering. I tried before about four times PCB soldering but the PCB finish is so bad! Really I need this discovery The SPIN “Soldering Pen” Abdullatif Albaroudi Final Project
I think it will be very nice for me.
-
Then I read Ali Shtarbanov Documentation, he spoke at a high level of me. Talk about the resistors values! And he see that he need 150 ohm but the Fab lab inventory does not include 1.5K resistor but we have 1K resistors and 0.5K resistors. So he think using 2 or 3 resistors in parallel.
-
For the Valentin Documentation I liked his concept a lot and his design to remove the rest part after programmed his programming.
-
Then I back to the Dr. Neil’s Board
And read more about the final step that we supposed to end it, The programming.
Here I noticed that, We should remove the 0 ohm resistor that connected the VCC of USB and the ISP device and another solder bridge in the jumper that connected the Reset of the ISP device with the VCC of the USB.
- After that, I noticed that I should to get start!
Our assignment for this week¶
Learn how to use machine to fabricate our PCB and the steps that should be taken to achieve it.
You can review the Assessment for this assignment
But Ohad Meyuhas ‘Our Guru’ recommended to design our PCB from scratch to take our time to learn Eagle because after two weeks we should design a PCB, so three weeks to learn Eagle and our PCB design will be perfect!
Plus that the USB board will be set up this week for use in the following assignments, so it would be nice to use my own design. Or will be bad idea! :D
We will risk and see that!
I’m lucky to have a previous experience from just 4 months in Eagle when I was in Advanced Maker Diploma Many thanks to our instructors Mohammed Falah and Mohamed Kamel
USB Board With Attiny44¶
But Kamel started from first with us this week to review Eagle for lamia So we designed Attiny44 from scratch, so I’m very excited to try Attiny45 by myself to compare them.
References for USBISP with ATtiny45¶
So I decided to take Alex Tocagon documentation as a reference to me. It helps me to design my PCB in Eagle
Also he takes Brain documentation as a reference to him!
So Thank you both :)
Redraw USB Board With Attiny45¶
I noticed that, attiny45 is very smaller than attiny44 and more easy also make the same function that we will used for.
Attiny45 has internal clock, So we don’t need to add crystal or resonator as we made in attiny44.
Technical Process to Product Board¶
To prepare our board to make production we need to follow few steps:
I will explain it from the end of process to the start
-
We need to use a machine can mill our board… for this point always there will be many ways all of them true, depends on the user.
- By using Laser cutter … yes we can use laser cutter for board production and I was impressed for this point and excited to try it.
- By vinyl cutter … There is a especial material for this specific product … [Flexible copper sheets] and we can use it with smoothly way … it makes really amazing results.
- By Roland mill machine… and this is the usual way that we used in our lab to make production to PCBs.
-
So, All of this ways we need to G-code to talk with machines … need a link between our files ‘Eagle or KiCad … else’ and the machine.
-
For all these previous machines the software we will used needs image.
- For laser cutter as we made in computer controlled machine week, we can use PDF, dxf, png or jpg formats.
- For vinyl, we need jpg format.
- For roland mill, we need png format, But it’s necessary to be a monochrome image.
-
Finally, we ended with the start point from Eagle! … We need to export our PCB as image with some specification.
I chose the roland mill machine for this week, Hopefully I could finish my assignment early to try the others machines!
Hide The Layers¶
First, We need to hide the layers to export the image from eagle, it’s very easy steps.
Usually, we used different endmills and different parameters to finish our PCB. Different endmills means different stages means different g-codes.
So, for our case in this PCB, we need to export two images.
- One of them for the traces that will be milled with 1/64 endmill.
- The second for the outline of the PCB to cut our board from the sheet, we used for this process endmill 1/32.
The Final result from Eagle¶
From this step you can follow how to export images from eagle that I explained step by step in the electronics design week.
Fab Modules¶
The fab modules provide a set of software tools for personal fabrication, intended for use with machines common to fab labs.
You can read more about fab moulds
So, this amazing software that we used to generate the g-code to our machine. It’s very easy to use.
We just Upload the image for every stage and
Open Fab Modules >> input format >> image >> select your ‘traces image’
Directly will appear ‘Output Format’ tap >> select Roland Mill
Also will appear ‘Process’ tap >> select PCB traces (1/64)
We have to make sure from the dpi 2400 as we exported from eagle, and the dimension of our board is the same as we designed and fit in our sheet.
Then select the machine version, We have Roland Mill MDX-20.
Then I prefer to use offset 1 instead of 4 in the first to see if all traces will be milled or not…
If we make the offset -1 … it will mill all copper in the board instead of our traces… It will ended with the perfect result but it will take more and more time and reduce the endmill expiration.
Then, Calculate.
We noticed that, there in two axis in the left bottom. This is the origin point that the machine will start in.
Finally we can change offset again to 4… then send…
We can make the same steps for ‘the outline’ image put change the process to PCB outline (1/32)
Machine Technics¶
- First, We have to fix our board well. We used FR1 board and fixed it with double face in wood board.
- choose endmill 1/64 for the first process.
- Edit the x,y,z coordinate in fab modules to be match with the machine coordinate.
- Start process, and keep watching the machine movement and be ready if there is any error, press View Bottom in the machine.
- After finishing the first process, change the endmill to 1/32 then upload the second image in fab modules… Calculate … Start!
- Now your board is being ready.
- The most stage that I loved, that you can wash your board!
Happy watching!
ATtiny45¶
USBISP.Attiny45 from Nada Gamal on Vimeo.
Attiny44¶
USBISP.Attiny44 from Nada Gamal on Vimeo.
Fixing the PCB with new technic¶
The first minute of this video Mahmoud Kotb ‘the technical operations manager’ in Fablab Egypt, learned me a new technic to fix my board… the double face makes the PCB is very dirty and not easy to clean… So, this technic is more clean.
We just put a scotch in the PCB … Then scotch in the plate and fixed each other with glue.
Attiny44 and Attiny45¶
I have been made three of the usbisp, 2 attiny44 and attiny45. I made two boards this week attiny44 and attiny45. Attiny44 didn’t work with me in the programming stage… We thought the USB connector welding is the reason. So I keep working with attiny45. Then In the embedded programming week I repeat the attiny44 again to test the two different boards.
When I tried to program my second board with my programmer!
But it doesn’t work!
Unfortunately, I didn’t take pictures during the welding process!
Because this is my first time to weld SMD components with this small scale … So, the priority for me was to weld it correct with any errors and make it works! and forgot to document this moment!
But I noticed that in the third time!
So the next part of this documentation is updated in the embedded programming week work.
My Three Programmer Boards¶
The Weld Process¶
Usually we started with the attiny and the most smallest components to the biggest..
Programming¶
Actually, I take sometimes to understand the programming process. I think I read the programming steps about 10 times to make it works!
I opened the lecture and followed these steps that documented in the lecture.
And keep trying to do that but also Kamel helped me in the first board.
What’s the different I made instead of this tutorial¶
For the USBISP drivers supported for Windows 7, 8 & XP… my software is windows 10… But, Kamel told me this drivers will work with my windows. So I start to install it… then it supposed that the right window appears during the installation, but the left window that I have.
So I don’t make sure if my drivers is installed or not… I searched a little more in this point and found this issue in adafruit that windows 10 doesn’t need the a third- party drivers. You can review the issue Here.
USBISP drivers issue¶
This picture from the device manger, So the USBISP didn’t define in my PC yet.
So we need to install the USBISP drivers, to be configured in our PC, and this is my big issue here! I change my windows and spend a lot of times to transfer my all data because these drivers!!
I and Lamia searched a lot for USBISP drivers for windows 10 and try to install from different links … but at the end we used this link
I followed all the steps
First the below tab from the tutorials, and the upper tab what appears for me
From option >> list all drivers
Select the programmer that you will use to program USBISP
I noticed that in the WCID is deactivate with cross red … I don’t know what it means…
Also for the driver type … I don’t know which one I need to select … So I tried all of them till found that the right one is libusb-win32
Now the drivers is installed … and my PC can read my programmer.
But the issue that I noticed after all of that, if I disconnected my usb and reconnected it. My PC didn’t define the usb again!
I don’t realized this issue from the first … and we doubt in my windows … Then I change my windows … and followed the whole steps again carefully … but no way I have the same result.
For this step I thought what if I reinstall the drivers again!
Then it works!!
So… every time I used my amazing programmer, I have to install the drivers again!
And if I disconnected my USB during my work and used FTDI, and reconnected the USB… I have to reinstall the drivers again!!
I really have no answer for this point. I searched a lot but don’t have answer!
Disconnected the jumper¶
The Last step in the Programming tutorial is to remove the 0 ohm and the jumper
I asked Kamel why we have to do that?
He explained, we made the USBISP to be a programmer for another microcontroller… So the main issue to be a link between our PC and the another microcontroller ‘ Serial communication’. So in this case we don’t need to power the microcontroller ‘for the second board ‘ with USBISP. So Neil disconnected the VCC pins in the ISP headers. But Kamel prefer to keep the VCC connected. It’s an optional in our board.
So I decided to just remove the solder jumper in attiny44 to disconnect the rest pin between PB3 and PA3. But I keep the 0 ohm in my board to power any board that connected with my USB. Don’t need external power.
And for attiny45 I didn’t disconnect anything … we just have solder jumper common VCC between ISP header and USB connector… So I keep it in my board.