5. Electronics production

Group Assignment:

  • Characterize the design rules for your PCB production process

Individual Assignment:

  • Make an in-circuit programmer by milling and stuffing the PCB, test it, then optionally try other PCB processes

GROUP ASSIGNMENT

This week I worked on calibrate the CNC Machine so I work with a Circuit Pattern, also I work on the ISP Programmer PCB around the ATiny44 microcontroller.

1. Calibrating the CNC Machine

First is necessary calibrate the height of cutting tool of machine, I use a multimeter and wire to check the continuity, and measure the height when the cutting tool touch the PCB

2. Cutting the Pattern Test

In this work, I design a Schematic of some wire in Autodesk Eagle some wire with diferent width.

Pattern_Test.sch

Pattern_Test.brd

After, I design the PCB of the Pattern Test with different width of wires, from 3 mills until 50 mills

To work in Fabmodules tools I need export the PCB design in monochrome image and high resolution, so I use the follonig parameters in export option in Autodesk Eagle:

The monochrome image has only two colors, black and write, you can see in the picture:

So I use in fabmodules.org

I open internet explorer and load the image PNG format, I select the file and press ACCEPT button to load:

I must invert the image color because the white part is validated part:

Now, I choose the output format to ROLAND MILL because I use the MONOFAB SRM-20 from ROLAND company:

Afterwards, I choose the process to PCB traces (1/64) because it is the format to MONOFAB machine:

Now, I configurate the parameter to work the traces of the PCB:

    Machines = SRM-20
    x0 = 0
    y0 = 0
    z0 = 0
    cut depth (mm) = 0.025 mm
    tool diameter (mm)= 0.2 mm 
    number of offset = 1
    

Then I press the CALCULATE button to calculate the cutting trajectory, and I press the SAVE button to save the MONOFAB’s files, it load to the machine:

The process cutting is similar to the INDIVIDUAL ASSIGNMENT, this part you can see there; the cutting of the Pattern Test is done:

We test the copper tracks that were cut to make a comparison with the size it should have:

Measurements were made on all generated tracks

To calculate the measurements in mm, convert them into mils or thousandths of an inch we have the following formula:

mils = mm x 1000 / 25.4

The result of the measurements and conversions is the following table:

Item Measures (mm) Converted (mils) Reference (mils) Error (%)
1 0.00 mm 0.00 mils 3 mils - 100 %
2 0.20 mm 7.87 mils 5 mils + 57 %
3 0.25 mm 9.84 mils 8 mils + 23 %
4 0.40 mm 15.74 mils 12 mils + 31 %
5 0.50 mm 19.68 mils 16 mils + 23 %
6 0.60 mm 23.62 mils 20 mils + 18 %
7 0.75 mm 29.52 mils 24 mils + 23 %
8 0.90 mm 35.43 mils 30 mils + 18 %
9 1.05 mm 41.33 mils 40 mils + 3 %
10 1.35 mm 53.14 mils 50 mils + 6 %

INDIVIDUAL ASSIGNMENT

1. Design the PCB

For the manufactured FABISP I used the Archived Design in FABACADEMY, I changed the design because I want to improve it and make it smaller and more portable

FabISP_v1.0.sch

FabISP_v1.0.brd

First I design in Autodesk Eagle the Schematic and the PCB

I design the PCB on the Bottom layer:

Define the description of the Pinout:

To export the image for the cutting machine, We need select the correct layer:

The image should look like:

Then we process the design with fabmodules’s web:

Fabmodules’s web calculates the trayectory of the cutting machine:

Open the VPanel Software, it control the Monofab SRM-20 machine:

Calibrating the initial position of work:

Turn ON the spindle of the Monofab:

Wait the starting of the spindle until the upper 8000 RPM:

Preparate and load the cutting file in the button CUT:

Load the file and OUTPUT to cut the design:

We can see the process:

We fabricate the PCBs:

I have some samples, I will choose the best two; one to work without an anti-solder mask and the other I will print an anti-solder mask on a UV printer:

2. Soldering the PCB without anti-solder mask

I preparate the SMD electronic component:

I started to weld from the smallest component, which in this case are the resistors, capacitors and LEDs; then I install the integrated and finally the connectors

A tip to make a good solder is to start with placing a little tin on a pad then solder the pad with the component helping me with an internal pressure clamp, because it makes the process much easier.

Finally the welded plate ends this way:

3. Programming Firmware

For the programming of the FABISP I must pay attention to programming the firmware and the fuses:

I use the USPASP programmer to load the firmware to FABISP board

I installed the eXtreme Burner Software to install the firmware in the microcontroller

When The Extreme Burner Software is loaded, I choose in Chip->Attiny44; it is to work with this micontroller:

Afterwards, I choose the load option in File->Open Flash; it is to load the firmware to Attiny44; I explore the file to firmware path:

The firmware is loaded, and you can see in the picture:

I think that is the most important part, I colocate the fuses, because if the fuses are not the correct it does not work, in the picture you have the secuency:

So I program the microcontroller, I click in Write -> All menu, and the programa detects and programs the chip:

So when I plug the FAPISP the system detect the board:

But the system does not have the FABISP driver, and I must install manually

So I must install the official driver

I can download the official driver in https://github.com/adafruit/Adafruit_Windows_Drivers/releases and I can install manually:

I must choose the USBtinyISP because it is the created board

So I click on Install button and the installation started:

So I must re-install manually the driver:

The system find the driver automatically, I click these:

So the system recognizes the driver and there is not the error again:

Finally the created board FABISP is configurated and ready to use:

4. Testing the USBtiny

I open the Arduino IDE

And we can see the demonstration of your work, when the load goes wrong is because the wires do not connect:

5. Creating soldermask with UV Printer

In addition, I did a test with a UV printer to create a PCB with an anti-solder mask, in this case I used a UV printer COLOR IN from a china company, the process did by in a external service, it does no have our FABLAB

We can see printing the anti-solder mask:

The result is here:

I choose the best PCB to solder:

The process was succesful, and we can see the solded PCB board

We can see all solded PCB board:

6. The Successful PCBs

Also the board to work are these:

7. Failed 1: Soldermask with UV Paint

Other way to create a anti-solder mask is applying the UV paint over the inital PCB and curing with a UV light:

Probally I did not work well and the PCB was not cover all, I failed with the soldermask with UV paint.

8. Failed 2: Solder Mask with Stencil and Hot Oven

I prepared only the Dimension and tStop layer from Autodesk Eagle:

We can see the antisolder mask:

I export the image with DXF file in Autodesk Eagle software:

I cut the antisolder mask in CO2 laser cuttin machine in transparent stencil:

I cutted three samples to test:

I took the PCB and anti-solder mask to work, with liquid tin covered the holes in the stencil

The liquid tin does not cover correctly the pads; so I failed with the process:

When I try colocate the SMD components the pads are across together, and I failed the process to generate the stencil

Designed Files

Description Files
Pattern Eagle Schematic Pattern_Test.sch
Pattern Eagle Board Pattern_Test.brd
Pattern Eagle Image Pattern_Test.png
Pattern Router Monofab SRM20 Pattern_Test.rml
FabISP Eagle Schematic FabISP_v1.0.sch
FabISP Eagle Board FabISP_v1.0.brd
FabISP Eagle Image FabISP_v1.2.png
FabISP Router Monofab SRM20 FabISP_v1.2.rml
FabISP Attiny44A Firmware FabISP_Attiny44A_Firmware.hex