Week 8: Electronics Production

Assignments

The assigments for this week are:
Group Assignment
Characterize the design rules for your in-house PCB production process
Individual Assignment
Make and test the development board that you designed to interact and communicate with an embedded microcontroller

Group Assignment

For the group assignment, we are to characterise the design rules for our in-house PCB production process.

The machine we used in the Singapore Polytechnic Fab Lab is the Stepcraft. We characterised that machine and learned a lot about PCB milling from instructor Steven.

This is my first time milling a PCB and it is a new experience for me. Additionally, as I was milling my board back in Science Centre, using another PCB milling machine (i.e., LPKF Protomat E34), I had the benefit of comparing the workflow of two different machines. Although there are some differences between the workflow of these two machines, I found that the attention to details in millling a PCB are needed for both machines.

Overall, I find it an interesting experience and is something I will like to do it again.

Full documentation can be found in the Group Assignment Page.

Make and Test the Development Board

For the individual assignment, I made and tested the development board that I designed two weeks ago during the
Electronics Design week.

The machine that I used to make the board is the LPKF Protomat E34.

Preparing the File

To begin, I launch the Ciruit Pro software and imported the DXF file of the circuit design into it.

Next, I edited the DXF file, first by selecting the circuit and click to choose Convert to closed path, then by clicking again and choosing Convert to polygon.

After the two setps above, the circuit was presented as bold lines.

The next step is to select the outline of the circuit and click to select Assign objects to layer > BoardOutline. The outline was then shown as yellow line.

In the same manner as above, the circuit was assigned the Toplayer.

For the holes to be drilled, they were assigned to the layer DrillPlated, when I should had assigned them to DrillUnplated. Also, the circuit design did not present the holes as full circle, which interfered with the software's ability to determine the appropriate drill bit to be used. I should had edited the circuit design a bit to have the holes presented as full circle.
The end result of these mistake was that the holes were not being drilled by the machine.

After the layers were assigned, the steps that followed was to generate the toolpath. For that, I went to select Toolpath>Technology Dialog... at the top. The Technology Dialog windows then popped up and from there I selected the insulate and contour routing options I wanted.

The software will then compute the toolpath and resquired tool. Here the mistake I made regarding the drill holes surfaced, as the software was unable to determine the drill bit required and I had to select it by myself.

After I selected the drill bit for the holes, I saved the toolpath.

Milling the Board

Finally, I was ready to start milling the circuit board. For that. I selected Wizards > Board Production Wizard... at the top. The Board Production Wizard then popped up, giving an overview and step-by-step instructions what to do.

I am using a used FR4 board, so I carefully selected the placement of the circuit board for the milling

The machine did not have an auto-sampler, so I have to manually change the milling tool according to the instructions.

Except for not being able to drill the through holes, the milling went smoothly.

Below is the picture of the completed circuit board. For the holes, I drilled it manually using a mini bench drill when 0.8mm drill bit.

Testing the Board

The next part was to solder on the electronic parts. Using a fine-tip soldering bit, I was able to solder on the electronic parts without much issue, albeit not very well soldered. Before I solder on the pins, I did a check to see whether the electronic circuit was working. I uploaded a sample blink sketch from the Arduino IDE to the Xiao board to make the LED blink, but it didn't work. I did a few checks, including using the multimeter to check the continuity and resistance of the circuit, and also creating a breadboard circuit with the Xiao board, but could not pinpoint the issue.

Then, instructor Steven suggested I check the Xiao board sockets by tapping the 3V3 and GND from the Xiao board to the socket. I tried that and found out the issue was the socket for GND. After some re-soldering, I was able to power the LED.

I then inserted the Xiao board back to the circuit board. This time it works.

After the success above, I uploaded another sketch to control the LED using the pushbutton. This time round, I fouund a break in continuity between the 3V3 pin and the pushbutton. Therefore I have to solder on a short piece of wire to bypass the breakage for the pushbutton to work.

After that, I soldered on the remaining pins and ready the board for the next assignment.

Design Files

DXF file of circuit design from Week 6.
Blink sketch for testing the LED.
Pushbutton sketch for testing the LED.