<<<< go back
The assignment for this week is about producing a Printed Circuit Board (pcb). The "green cardboard" in digital devices (for non technical people). The functionality of a pcb is connecting electrical components in a compact way in such a manner that they are electrically connected to each other. This can be done on a composite board (in this case phenolic and paper). On top of this board there is a solid thin layer of copper. By using a fine milling machine the copper can be removed selectively. A copper wire trace will remain on top of the composite board linking the components together. After milling the next step is "stuffing”. This means soldering all the necessary components in the right place. When this is done in a good way, the next steps are programming the chip and using the board. For this week we have to make an in-circuit programmer (ISP). In the video below I explain what the function of an ISP is. For this moment it is not clear to me why an external micro controller is needed to program another micro controller. For this moment I will just accept that it is necessary.
We had the possibility to choose from four different designs made by David, Andy, Valentin and Zaerc. In the picture below the different versions are displayed. Without knowledge about electronics it is quite difficult to make a rational choice between the four designs. I base my choice on two aspects. The designer Zaerc works here at the Waag in Amsterdam, so if I have questions I can ask him directly and two; on the design from Zaerc I see useful components like two switches and two LEDs. This will probably be an advantage in use compared to the others.
The pcb on the right is called FabTiny*ISP (design from Zaerc).
At the Fablab (de Waag ) in Amsterdam we have access to a Roland milling machines for PCB’s.
To mill an embedded pcb you have to mount a blank plate of FR-1 material on the machine. Because the mill goes through the material, a sacrificial layer in between is needed to avoid damage to the machine base. The attachment of the blank plate and the sacrificial layer is done by double sided tape. You have to make sure the different plates are very clean and burr free. If there is old tape in between or a burr in between there will be problems in the Z-direction from the mill. The mill will not go deep enough. Cleaning of the plates is done with a spatula and sticker remover.
Two milling tools are available for this process. For the small details a diameter of 1/64 inch is used (0.4 mm). For cutting out the board a bigger diameter of 1/32 inch is used (0.8 mm). For both milling tools it is important to adjust the height in the Z-axis. How to do this? - assemble the milling tool as high as possible in the clamb - use little torque on the allen key to tighten it - drive the mill to a good location above the blank plate, with the software - hold the tip of the mill with two fingers and release the screw with the allen key - make sure the mill does not drop down on the copper plate, this will break the tip of the mill - tighten the screw with the allen key ( just a little torque) - now the milling machine is ready for cutting.
There are two ways to operate the milling machine. (1) Use the online fabmodules.org or (2) Use the previous version of fabmodules which is not online. After some exploring of the first option we decided to use the second option. This software is available on the computer next to the milling machine.
Two files are needed to mill the pcb. One file for the traces and one file for cutting out the outline. You should start with milling the traces and after that cutting out the board. The pictures below are needed as a *.png file. The black lines are cutting areas and the white lines are copper traces.
The software asks for the following parameters: - x position mm - y position mm - z-depth mm - jog height, this is the clearance between the mill and the copper layer, when moving the mill 2 mm - tool diameter 0.4 / 0.8 mm - overlap, this is a ration thom the milling traces 0.5 - number of offsets, chose here -1 to mill all the material - depth of the cut, when milling the outline (0.6mm) - Thickness of the material (1.7mm) - A few other parameters are there, they can stay on the default setting
The movement of the mill will be displayed graphically on the screen. This way it is possible to check if all traces are cut out like they should be cut out. Adjust the settings if necessary.
In the picture and video below the milling proces is displayed. Small pieces of copper and paper-dust will stay on the copper plate. Because the high rpm of the mill the cover of the machine should be closed.
After milling the first thing to do is removing the milling dust with a vacuum cleaner. With the view-button the plate will be transported to the front of the machine. With a spatula or a screwdriver the milled pcd can be detached from the machine base. Be careful not to damage the blank plate or the milled pcb.
Here is it clear that the machine settings for the number of offsets was not on -1. If it was on -1 this little piece of copper should have been removed in the milling process. It was easy to remove this piece of copper manually with my thumbnail.
Check the traces visually and or with a multimeter, using the resistance + sound function.
It is possible that there are burr on the edges of the copper traces. With a piece of sanding paper this can be removed from the board. After sanding the board must be washed with soap and water. This is necessary for the next step the soldering of the components.
What can go wrong in the milling process: - when the number of offsets is not on -1, not all the copper is milled away. This can cause a shortcut on the powersupply of the usb connection. Rather serious problem when this occurs - if the blank plate or sacrificial layer is not glued right with double sided tape. Of is there is dust or dirt in between the plates, there is an angle problem. The Z-axis is not at the right height. This results in milling traces that are not through the thickness of the copper. Basically a useless pcb. It is possible to redo the milling at a greater depth, by adjusting the Z-axis.
Our Fablab in Enschede does not have a milling machine for copper plates. In the coming weeks we will probably have to make a lot of pcb’s and our time at the Fablab de Waag in Amsterdam is limited. To solve this problem I saw two solutions. In our workshop we have a nice big Roland milling machine Desktop size but much bigger than the one in de Waag. Unfortunately our workshop manager is not flexible and afraid for metal on this machine. For this moment it is a no go there. Luckily there is an other solution in the department of electrical engineering. They have a very nice LPKF milling machine there for making pcb boards.
On monday I did a test with this machine. It works a bit different. The software can not work with *.png files and the machine is not part of the fabmodule.org. With electrical design software it was possible to transfer the png file into another format (bmp). There was a scaling problem and the pixel resolution turned bad. For this test I decided to continue and mill the board. The machine has many different tools and they change automatically. The dust is taken away automatically with an integrated vacuurmcleaner. This method is not ok for future use, but this can be solved. We are going to use Eagle software to make schedules and design boards. From this software files can be exported in the right format for the LPKF machine.
In the video below I show how the machine makes the board automatically. The board is not milled out completely. The last connections are cut open with manual pliers.
Below a picture of the milling machine in action.
After milling de-burring and washing it is time for soldering the different components. To do this first the different components are collected and organized. In the design file a bill of materials tells what components are needed. In the component library from Fablab de Waag all the components were organized very well.
To avoid mixing up all these little components I used a paper layout with the names of the parts. If you have to transport this, the advice is to use tape to keep them in place.
The soldering method was explained as in the pictures below. First melt some solder on one attaching point on the board. Then place the component in the right orientation on an angle on top of the solder. Melt down the solder and push down the component. Solder the other side of the component. Tip: think about how the both materials conduct the heat in the proces.
Because the components are very small and the soldering iron I used was rather big I use a magnifier to look at what I was doing in the soldering process. Even with a magnifier I found the orientation of the diode components hard to see.
The soldering went very well. In one place I used a little too much solder so it shortcutted two copper tracks. With the copper wires I could remove the excessive solder by melting it down into the copper wires.
After soldering I thought I was ready and I actually made a big mistake. Without measuring I connected it to my laptop. Later I heard from Zearc that this can potentially destroy the motherboard of the computer. So for future projects I recommend the instructors to explain that the board should be measured before connecting to the computer. After the warning from Zearc we measured the board on shortcuts. It turned out there were no shortcuts so the soldering and stuffing of the components was well done.
Finally a wire band with two connectors (six wires) had to be made. The brown wire is the first wire in the schedule. In the copper tracing the position of the brown wire is indicated with a dot.
After measuring the pcb I cleaned the whole board with water soap and a brush. With hot glue I reinforced the connector and the switch. On the leds I added some hot glue as well for the special light effects. Hot glue has the disadvantage that you can not measure it any more and de-soldering is not possible any more.
Now the board is ready for programming. But how to do this? I have a windows laptop and in the instructions a read some serious warnings in my opinion. For this reason it was decided to install the programming from a Lenux system an other laptop. With the help of Sander and Zearc we executed the following instructions.
The codes that we used to program the micro controller on the Fabtiny ISP are written down in This document.
I have to install the trail version of Ubuntu on my windows laptop.