ELECTRONICS PRODUCTION
HOME ASSIGNMENTS FINAL PROJECT

ELECTRONICS PRODUCTION

5.WEEK

GROUP ASSIGNMENT

PREPARATION

First of all my knowledge of the PCB production was below zero before the lecture, so I was going in this assignment with full focus and dedication. But of course there was a lot of confusion at the beginning :). Our task for this week was to build our own FabISP programmer and try to make it workable. In this assignment we are going to use different tools, so lets start from the first step in making in-circuit programmer…

1.EAGLE

For designing my PCB board I have to install EAGLE, design software by Cadsoft Computers and it’s suitable with Windows, Mac and Linux. EAGLE is acronym for Easily Applicable Graphical Layout Editor.

After the installation it is time to pick all components that I’m going to need for making this to work so the picture of all needed components is below. The preview of the BOM(Bill of Material) is available after you pick up the component, that my colleague and I had to discover by ourselves over the internet and by looking into the live components. To access the BOM window I have to go to: FILE-RUN ULP and in the search bar type “bom”, press open and the window with BOM will appear.

BOM

To access the library the direction is: “Edit-Add…” or faster way is to press on the left tool bar icon with green plus and sign for pluger.

ADD

This is the library of all available components that you got with the EAGLE, but there is not always all components that you need so you have to search trough the internet to find that missing part/s and to download it. Colleague Patrick and I didn’t find the ATTiny 45 in library so we searched and find it on DIYmodules. To add the file in EAGLE I have to: “Edit-Add-Open library manager-Browser” and pick downloaded file.

This it how it looks when I added all required parts on connection scheme and connect them on base of theBrians model.

sch

After the check I can go to Board layout: “Window-2Board”(green icon “BRD”). Now comes the hardest part for me in making my board. At first I was just looking in the monitor and was confused, a lot. But with a lot of help from my instructor Tobias, I figured out how it works and what I should do and what not.

So this is how it looked before instructors pointers…

first try

And this is how it looks now…

finished

2.MILLING PCB ON LPKF

LPKF MILL

To mill the bord I used LPKF ProtoMat S63, that is suitable for almost all applications of in-house prototyping. This type of mill in our HRW lab works straight from CAD data to process boards. Features include camera which aids the user with front-to-back alignment for double-sided and multilayer PCBs, and an automatic tool changer for expedited board production. LPKF ProtoMat S63 uses CircuitPro software that is shown below.

LPKF MILL PREPARE

Usage of its software is simple…File/Tamplates-Single sided Top-Process Planing Assistant-Edit Circuit Board(set to: One-sided Top; Material-FR4/FR5; then click Ready). After this I have to choose data from Free Format and select all files with Upper Case endings, now my board is loaded and have to select “Cutting Generator” and select “Isolation method” here I need to choose Single; Pads double and type milling depth. Before starting milling there is couple of steps…Choose “Circuit board fabrication assistant, than I need to press “Start” and “Proceed”. After which the new window will open of the positioning the milling machine, where we pick place with the mouse the place where the board is going to be milled. The whole preparation process is finished so now I can save this CAM-job as “.cbf” file. Now the LPKF starts to picking up the tools and starts to mill.

MILLED BOARD

This is the look of my board after the milling. I have to cut the edges with the pliers firs, to detach the board and than I can go to the cleaning process.

3. CLEANING MILLED BOARD

One important step before soldering the components is to clean up the PCB board. We have thisLOTLACK SK10in our lab to fluxes and lacquer-like protective resign for printed circuit boards, but before I sprayed thin layer of that, I polished it.

SK10
CLEANNED BOARD

4. PLACING COMPONENTS ON PCB

For this group assignment I decided with my colleague that I’m going to examinate theLPKF Protoplace S(well known as “Pick and Place machine”). That is the step in making my FabISP PCB board. For me that was the stresses part of this weeks assignment because you have to be very careful and calm. First of all I had to get to know with the machine and it’s work principles. The LPKF Protoplace S is semi-automatic pick and place system for professional assembling of PCB-s, it allows much quicker assembly than with the tweezers. It is possible to place various components including fine-pitch down to 0,4 mm (16 mil). Precise placing of fine-pitch components is ensured by a x/y/z locking mechanism, micro table fine adjustment and automated placing.

Pick and Place

So after I designed my PCB in Eagle and mill it on LPKF mill and cleaning the board and spraying with “LOTLACK SK10”, there comes the process of placing every component on the board. But before placing all components on their place I need to put the solder paste on top of the places where the components should come, just the little drop so the paste doesn’t touch other routs.

Here is the close-up of the part with the solder paste and the enjection needle. The removable dispenser provides precise dispensing of pastes or glues in manual or automatic modes. Air pressure regulation with time control and the non-drop vacuum function guarantee precise flow, quantity and timing of media dispensing. By pressing the padle on the flore with the foot the machine is compresing the air trough the tube tu the solder paste and extrude it out. The flow of the paste can be regulated on the machine and it depends how big is the board and the parts of the components that should be soldered. Operating air preassure is 0.1 with 4bar.

Solder paste

And here is the close-up of the suction needle that is placed right behind the solder paste extruder. Operating vacuum of suction needle is 0-0.8bar.

Suction needle

Another important part of the LPKF P&P is turntable, it’s bad picture but that’s the black round table beneath the LCD screen. It uses for putting the components in the little compartments for better organization and faster work.

P&P magazin

When all components are placed on board we have to put the PCB in the reflow oven, which is the next step…

5. CURING THE SOLDER PASTE

For the soldering I used LPKF ProtoFlow E, it’s the ideal oven both for leand-containing and for RoHS-compliant lead-free reflow soldering, curing of the paste in the plated-trough holes, and other thermal processes that need to be controlled precisely. First the oven needs to PREHEAT than the PCB is placed in the oven and the REFLOW starts for 60sec, where the curing of the soldering paste happens, when the time was over I opened the lid so the board and the ProtoFlow E can be cool down.

OVEN
PREHEAT
REFLOW
CURED PASTE

Final step of making the board is to check is everything soldered correctly. For checking the PCB and the soldered parts I used the Lynx Stereo Microscope.

MICROSCOP

Everything seams good and now the board is ready to be programmed…

FINISHED BOARD

PROGRAMING

Think this is my first touch with real programing, at the beginning I was so frustrated with this part of assignment because I love to build, not programmer. But I gave it a chance and throw myself to work.

So let me show you how I did it…of course I wouldn’t succeeded if there were no Brians page with all tutorials and explanations how to do it. Windows got so many steps for this part that I needed to read Brians tutorial about 3 times and got so many errors while parallel working on programing my FabISP, but this should be done only once and I’m really glad that I made so many mistakes, I taught a lot trough those mistakes.

Steps for successful programing the programmer with Windows are:

1. INSTALL GIT
For me this is the step that I passed because I installed “Git Bash” at Week 2(Project management). This is what Git Bash looks like when you open it.

GIT

2. INSTALL ATMEL GNU TOOLCHAIN
Here is important to extract file inside your “Program files” and here is web site where to find toolchain, just tipe "GNU toolchain" and instal version for your computer.

3. INSTALL GNU MAKE
At this point I’ll refer to Brians site, because he has direct download link for it. And is important to accept default location, which is “C:\Program Files 8x86)\GnuWin32” for me and suppose for most of Windows users.

4. INSTALL AVRDUDE
Next thing to do is to install avrdude and place it like toolchain in Program Files, so its again “C:\Program Files” for me…and of course extract it in here.zip file

5. UPDATE YOUR PATH
Until this point everything went perfect and I was so happy about it, but then I needed to set PATH and at first was really confused because I couldn’t get the window like on Brians page. Tried it several times but nothing, than realized that I can just add the missing Paths one after another and don’t have to be one beneath another. To put Path go to: “Control Panel>System>Advanced System Settings>Advanced(tab)>Environment Variables” and the windows got opened where I need to add Path in “User variables” or make the New one like I did.

Those are three values that needs to be edit:

C:\Program Files\avr8-gnu-toolchain\bin

C:\Program Files (x86)\GnuWin32\bin

C:\Program Files\avrdude

PATH

6. INSTALL DRIVERS FOR PROGRAMMER
Now the order was to install driver to my programmer and again I followed Brians instruction and download ZEDIG. When I opened window I select programmer that I’m going to use and set the drivers like on the picture and press “Reinstall Driver”. Ofcourse don't forget to plug in your programmer first.

ZEDIG

7. SANITY CHECK
To be sure that I done all, needed to open Git Bash and run several commands: “make -v”; “avr-gcc –version”; “avrdude -c usbasp -p m48”(that’s the programmer that I’ll use, commands variates on programmer that you are using), if you see on this one massage like on the last picture than it is oke, that means that avrdude successfully found the programmer but failed to talk to the target board because there is nothing connected to programmer. And here are the pictures in order for each command and what massage you have to get to be sure everything is fine.

tinysanity
sanitytiny

8. FIRMWARE
First need to download firmware source code (that I’ll put in download section) and extract that folder, after which I need to run command “make” in GIT Bash to create .hex file in that folder, so after that command I got “fts_firmware.hex” file.

9. PROGRAMING THE ATTINY45
In folder where we previously made .hex file is also .make file which I need now for next step. Recommended text editor for programmers is Notepad++ and for this last steps I need to open .make file in Notepad++ and change my programmers name. After saving that, there was only two more steps. Open git bash in that folder and run “make flash” to erase targets chip and program its flash memory. When that’s done, there is one more command “make fuses” that is going to set up all fuses except reset one…but…when I just thought that’s done, there has to be that one problem at the end. After putting “make flash” error shows like on picture bellow. Checked all connections again but nothing, same error as before.

error

Then asked my colleague Patrick if he could borrow me his laptop to give it a try, at first it was strange to work on macbook, but with his help I even got use to it. Because he got everything prepared from his work, it took me a short time to program my FabISP. It’s really great that macbook got most of it preinstalled. So I ran the commands “make flash” and “make fuses”. And both commands were accepted without any problem.

device manager
device manager

Now as instructed I disconnect colleagues Atmel AVR and my FabISP and connect only FabISP to computer with mini usb connector to se if the computer is going to recognize it. It did recognize it and now I could remove the solder on place where it was acting like jumper. After that I connect it once again to check is all good and it is, checked at “Control Panel>Device Manager” where FabISP should be shown.

device manager

In the end this was amazing assignment and it was great to had an opportunity to work on MacOS also and to see difference. Now I can proudly use my programmer to program other boards for next assignments.

EASY EDA

After finnishing my assignemt for this week, I wanted to try one more CAD software for making PCBs. Than searched on internet and got to this very interesting one and it's onlyne so it diesn't have to be download. It's Easy EDA. Online open soarc CAD.

And it's simple to use it, it also got tutorial with basics right away when you open it. Just like the example below.

easyedar

To put the component you want, just need to pres and drop when you want and it's easy to find components toolbar, it's on left side of the window. Traces for connecting components are on right side but you can move them to the place where they are not getting in your way. After finishing schematic, BOM(bill of materials) can be found on top of the winow, there is icon that says "BOM". To transfor it to board design, have to go also on top of the toolbar where is icon to transform to board design or even to upload finnished board design.

easyedar

In board design you can like in EAGLE connect components, remove them, change their names and values, set the settings to auto rout, so it's lot easier for you and quicker to conect everything. The layers can also be changed to get better priview of your board.

Think this is a great online CAD software, also easy to use, good eplanations in tutorial righ away.

FABISP EAGLE .zip