1. First electronics-related lesson of the FabAcademy 2015 program that I will start doing with a delay of almost 6 months with respect to the official FabAcademy of the year. Never too late! This first lesson, consisting in the production of an In-System Programer (ISP) with a Roland Modela milling machine and surface-mount components, was done as part of the Fab Academy Light program, given by Emma Pareschi at FabLab Amsterdam. 


    First of all. What is an In-System Programer?

    An In-System Programer is a device that allows you to program logic devices, micro controllers and other embedded devices externally, rather than requiring the board to be programmed beforehand. The bridge between the computer and your board.

    There are commercial ISP's and even different models built within the FabLab community. The model chosen for the exercise is the FabTiny ISP designed and optimized by Zaerc, which I have heard will become the standard ISP for the upcoming edition of the Fab Academy.

    Why a surface-mount device?

    Surface-mount technology is the FabLabs' choice for producing electronic circuits. SMT is neat and much more reliable than breadboards or through-hole PCB's, as well as safer and cleaner than the itching process (electronic circuits can also be printed with conductive ink, sewn with conductive thread using an embroidery machine or cut from copper foil using a vinyl cutter, among others).

    Milling the board

    The milling of the plate on top of which the components will be mounted is made with a Roland Modela, a small and very precise milling machine. The starting point is a FR1 plate, consisting of a thin layer of copper sandwiched with a sort of cardboard (other models with glass fiber instead are less safe). Using the compiled version of the FabModules, the only thing one need is a PNG picture with the black and white traces to be milled.

    I started with a leftover plate that was already installed in the Modela. The available space in it was enough for the size of the ISP, but I had to flip the image since the space available was vertical rather than horizontal. I loaded the file with the traces, and milled them. So far so good. But here is where I made my first beginners mistake: I confused the end mills and installed an extra big one with the settings of a smaller one for the outline cut, which resulted in the following: a totally ruined board with really burry edges.



    It was time to start again, and this time, I need to do it from scratch. Here is where I made my second beginners mistake: I did not only remove the plate that had been milled, but also the sacrificial layer that lays in between the board and the bed. Now I had a lot more work to do: cleaning the bed and the sacrificial layer (using a scraper and sticker remover), placing them all together with the new plate (using double sided tape) and milling the board again.








    Using another piece of leftover plate and the given PNG, I run the work using the 1/64" end mill for the traces and the 1/32" for the outlineThe default settings of the machine were used, except for the Offset, that was set to -1 to assure the complete removal of the black parts of the drawing (in this case, given the simplicity of the board, this detail didn't have a significant effect on the increase of machine time).








    Well I actually made another mistake  When I noticed that I couldn't remove the board from the plate I realized that due to my emphasis on bringing the head of the milling machine as close as possible to the board, the system almost touched its limit point, making it impossible to go deeper than the 0 point I had set. Fortunately I just had to redo the z-callibration, stick out the end mill a little more this time and run the job again.


    Once the board is milled and detached from the plate, it is important to wash it with water in order to remove the fat from the hands, which causes corrosion on the long term.

    Another good practice is to check wether or not there is a short in the board (trails are connected when they should not be) making use of the multimeter in sound mode, checking systematically all the possible combinations and making sure no unwanted current transfer.

    Don't forget to clean the milling machine with the hoover and place the things back.

    Stuffing the board

    Stuffing the ISP board seemed like a nice yet challenging activity with a good  amount of craftsmanship involved, and indeed it was. Given the small size of the components I opted for keeping them together on a piece on paper with double sided tape, in the order specified by the bill of materials (BOM) to avoid confusion among the quite similar components.



    The option I chose for keeping the board fixed while working on it was using the double sided tape. Making it a little dirty with your hands you make sure that detaching it to move it around is not so difficult, while keeping it stuck to the table just enough. The other option was to hold it using the circuit board holder, using a piece of paper to avoid scratching the surface.



    It is wise to lay all the components on top of the board before starting the soldering, so as to asses what is the most clever way of mounting them. In this case I have an example of a finished ISP next to me, so I could see which parts have difficult access at the end and started by soldering them. As a rule of thumb, it is wise to start the soldering process with the components placed in the middle of the board, and go on towards the edges.


    In general the soldering process went well and I managed to make quite nice and clean connections. Except for one in which I bridge two trails. The perfect opportunity to use the PCB pump, an utensil that helps your remove a wrong soldering point by creating vacuum for a fraction of a second right when the tin is melted.


    Needless to say, I burnt myself with the iron a couple of times. The experience would not have been complete otherwise!

    The last step was to check with the multimeter again wether there was a shortcut or the board had been milled properly. Unfortunately there was one, between VCC and GND, fixed a few weeks later by desoldering and soldering again a few of the components. But when trying to check wether or not the microcontroller was "alive" using the command avrdud -c usbtiny -p t45 in the Terminal, this didn't respond. Replacing it fixed the problem, and so I went on with programing the ISP.



    Programing the ISP

    Following Zaerc's tutorial is at least... challenging. It focuses on the programing with an Arduino UNO and it is not easy to "decode" (hehe) how to do it with another ISP. So I use instead Loes' pdf instructions, in which she explains really well the steps that can be skipped from Zaerc's tutorial. As Loes does, I keep the "vusbtiny" folder locally in my computer, so the final directory to be introduced in the Terminal (preceded by the command cd - change directory-) looks like:

    cd /Users/Ismael/Documents/ID/Electronics\ \&\ Arduino/FabAcademy\ 2015/Week\ 1\ Electronics\ Production/vusbtiny.

    The last step (the only that cannot be undone) is meant to "seal" or "lock" the ISP so it can only be used as that... an ISP. It is not mandatory, but recommended.

    Important note: when copying the commands from Loes' instructions to paste in the Terminal, make sure they are in one single line and not in two as they appear in the pdf (write it yourself or adjust it in a text editor before pasting it to the terminal).

    And voilà! Done!


    1M€ question: What is the slide switch for?

    Actually the purpose of the slide switch on the ISP is to switch ON and OFF the power source from USB , so one doesn't have to plug and unplug the ISP every time when toggling between ISP and FTDI. Useful!



    0

    Añadir un comentario

Datos personales
Datos personales
Archivo del blog
Cargando
Tema Vistas dinámicas. Con la tecnología de Blogger. Denunciar abuso.