Week 4 - Electronics Production

Assignment

Individual assignment

make an in-circuit programmer by milling the PCB, then optionally trying other processes

Group assignment

characterize the specifications of your PCB production process

Link to group page

Process

To complete this assignment I’ve chosen to craft a FabTiny* board designed by Zaerc in the Amsterdam FabLab.

Specifically, I’ll make the ‘Bas’ 0.3 version (named after Bas Whitagen), which runs on 5V and is considered by Zaerc himself the best option for all-purposes beginners. Zaerc made a [webpage with the full documentation of this project(http://fabacademy.org/archives/2015/doc/projects/FabTinyStar/) and some specific design note of the ‘Bas’ version can be found at this link. Zaerc also mantains an on-going tutorial that follows every part in the fabrication of this board, which was very helpful to understand some of the darkest steps in the laborious process of crafting an ISP programmer.

Understanding the specifications and preparing the milling files

From the project website, I downloaded the electrical schemes and started to analyze every single file. The following image is the one that I used to understand the overall architecture and the components I would later solder.

FabTinyStar layout

The peculiarities of this board are that it uses more components than the average of other ISPs (for example, it features a couple of useful LEDs and an unusual 8 pin socket) and that its layout is a bit more intricated than the usual PCB board, leaving no parts of the surface unused (hence also saving a lot of milling time).

After retrieving the PNG file of the traces layout, Using Fab Modules node-driven application I was able to produce the milling file necessary for running the Roland SRM-20 in our lab. Inside this module, you just have to upload your PNG file through the node named read PNG and all the necessary variables are already set according to your needs. For my project, I just had to check that the mil traces (1/64) block inside the set PCB defaults node was selected and that the origin values inside the Roland SRM-20 milling machine node were set to 0 mm, furthermore I had to connect this node to the newly made module file by linking outputs file and inputs file blocks.

linking modules

When the node graphs is set pushing the calculate button inside the mill raster 2D module is enough to create and download a file with the RML extension.

Modules overview

For the board cutting file, after instructors’ suggestion, I separated the outline image in two separate file: one for the two small holes on the right and one for the real outline.

However, at the moment of preparing the milling files, this process gave a bug for which I couldn’t find a solution regardless of the changes I would adopt. Essentially, the application would run an endless loop after requesting the calculate order.

I’m sad enough to state that no one in my lab could find in short time a reason for this behaviour, but however once I turned both images to 90° the issue was solved and I could download my proper files.

Keep in mind that for the outline files in the set PCB defaults node, the mill outline (1/32) box should be selected. This will set the parameters to the proper values for cutting the board instead of carving it.

Milling

Preparing the milling machine required me to tape carefully the PCB board of the board of the machine and checking well if it would stand flat over it. After turning it on, I moved with the head machine of the machine with its software over the area I desired to start milling, but before pursuing in this operation I had to zero the coordinates and adjust the height of the mill.

In our milling software, there are essentially two ways of moving the head manually: continuosly, for rapid movement across the board, and by steps of ratio 10/100/1000, for slower and more controlled movements. This second option is almost essential for accomplishing the following operation without risk of damaging the drill tip.

Once you’ve chosen the x,y coordinates to start the milling process, you can push the Set X/Y button in the software to zero them. The same operation had to be done for the z, meaning that you have to lower manually (slowly and by heavily controlled steps!) the milling tip over the board and after you’ve reached an height that is just enough, you have to manually un-screw the tip from the spindle, push it slightly over the PCB surface and the screw it back.

zeroing

This operation has to be done very carefully, especially with 1/64th of inch tips because they’re very fragile and can be damaged with the slightest lack of attention.

After that, you can submit the Set Z command, prompt you RML file to software and initiate the milling process.

milling

When this operation was done, I carefully cleansed the surface of the board from dust and residuals of the just finished milling with a brush.

cleaning

Then I proceeded to change the tip to a 1/32nd of inch and start to drill holes and cut the outline.

When the machine finished to cut, I removed it from the board, once again with a lot of care to avoid bending or breaking it, and washed it thoroughly with water and soap

After a visual check, the very trained eye of our instructor Pietro Rustici was able to notice that board had some issues, i.e. it presented parts that should have been carved but instead were still connected to the main layer of copper.

wrong board It is possible to notice the flaws in the lower central part and the lower left part

This issues was visible also through the view of the coordinates generated by the Fab Modules, because in fact it was not a matter of the board being misaligned or the milling tool flawed that prevented these circuits to be properly etched, but rather a miscalculation that, being this my first milling experience, I wasn’t able to notice.

Pietro and his kindness once again were helpful enough to show me an “out-of-the-box” way to test if a milling file has been calculated properly by the Fab Modules. In the mill raster 2D module, if you set offset number to 1 and tool diameter to a measure slightly but significantly smaller that the actual one, you can generate a file might be eventually able to route the tool in all the position you want it to go.

fine tuning This solution is proposed also in the official milling tutorial by Zaerc

This gimmick was very, very helpful in my situation, and managed me to solve it, but it must be used carefully since prompting to the application a tool diameter smaller than the one you’re going to use might incur in traces too small to be worked on.

Running once again the milling machine, this time with the updated file, it gave the result I wanted.

right board

The board required no manual fixing, except for the thin layer of copper left in front of the two middle usb pin that could easily interfere with the data transfer. After a simple swipe of metal cutter, the board was ready to be soldered.

Soldering

I don’t feel like I can give a lot of explaination or useful tips in this part of the work, because essentially this was my first time at soldering anything and I totally sucked.

After finding all the needed items, printing out a scheme of the layout, firing on the soldering tool to a temperature of 320-325° C and taking a long, calming breath I placed, lost, placed again, misaligned, re-aligned, covered in solder blobs, rescued from solder drowning, removed, replaced, misplaced, lost again, almost burnt and eventually soldered every component dozens of times before calling it done and for having finished this job without accidents, I’ve to thank only two things: providential luck and the precious copper braid.

copper braid

This useful tool comes in rescue when you’ve soldered a component in wrong place or if you’ve covered a too large surface in solder and you don’t want to surrend to milling a new board. You place the tip of the braid over the interested area, push your hot soldering tool on it for a few seconds and then remove it. Doing so, most of the solder should have stuck to the braid and been pulled away. You can repeat this process as needed until you get your traces disconnected or your components free to be lifted.

While using the braid, just pay attention to not hold it with your bare finger, since it heats rapidly and can burn you very badly very quickly.

Result

The final result of this very fatiguing work is the tiny board below.

final result

It’s not as horrible as I would have thought it would have ended (especially during the soldering) and the connections seem to work just fine. Although, to be honest, most of its aesthethic elegance is due to the competence of its original designer.

In the weeks following this assignment I was able to flash this programmer and use it - as exposed during week 8 - but for a very brief period, unfortunately, since it burned soon after…

The following are the files used in the various processes:

Gist & Further development

Although the milling process is a pretty straightforward activity, it is made by many subtle parts and parameters that when need customization they require a good knowledge of the underlying functionings. I think that a little more time spent on understanding the Fab Modules and all of its components can save a lot of headscratches in the future for trivial but well-hidden issues.

Soldering is not a simple pratice, but it is surely a rewarding one. That is for two reasons, the first is that you can see directly for yourself how something is composed and understand how it works, especially with a little knowledge in electronics, and the second one is that it is actually a very satisfying process if you can follow through all the newbie shakes and frustrations.

Since my final project will surely require some electronics, I highly valued the lessons of this assignment and surely will come back to it often (especially to soldering).

Tools and software used