5. Electronics production

CNC PCB and Soldering the component

Aims

I have a hate love relation with the electronics. I am very eager to learn about it. In fact it was one of the topics that made me to do the fabacademy in the first place. Despite of this eagerness, my knowledge of this field is zero. So this week have been very struggling.

To reduce this pressure for myself, I reduced my expectations and put my objectives to just learn the process of making a board and how to use the machines regardless of knowing learning the names of the components or knowing how the designs works. I know it is very dumb but I need to regulate the information flow into my tiny head! :))

Group assignment

The group assignment asked us to characterize the design rules for PCB production process that for me was very confusing on that point. But after we got to know about electronic design I understood the aim of this assignment. However, in my option it is very hard to separate these two from each other. So at the time we measured the limitation of the machine with 1/64 inch end mill.

Fig01

As you can see in the image the distance between 2 trace cannot be smaller then 0.15 mm. Also the result for the thickness of the traces is failed be smaller then 0.08 mm.

Moreover it would be the best if you consider the current that will pass through this traces. For instance to have more thickness on the power lines and maybe less for data.

What is micro controller?

aside of complexity, microcontroller is a integrated circuit which has CPU (computation processor unit), memory and programmable memory (probably something similar to computer RAM).

This controller usually have been used in the input/output system without so much processing. like switch and relays.

how does it works?

So as many other electrical machine, this creatures also are very stupid and we have to tell them what they suppose to do. As a result, we have to program them for the specific tasks. Interesting but how we are gonna do that?

To my knowledge, this controller has limited amount of memory and processing power to handle an OS. Thus we need to upload the program in a compiled version (binary). Furthermore, we need to initiate the chips (boot loader) to understand that how to sore, run, and communicate.

why we need the programmer?

Until know we have an alien creature that we can communicate with it. cause we do not have any common language. therefore we need to create another creature which can understand our language and able to communicate with our microcontroller.

There are many farmwears and languages to communicate with these microcontrollers such as:

  • FTDI(Future Technology Devices International)
    • convert RS-232 and TTL serial transmissions to USB signals
  • ISP / ICSP
    • integrated system programming

Blindfullness

Since now, I do not care how this communication going to stablish but I now that I need this programmer in up coming weeks. all that I of my focus is on how to use mod to generate the file for high accuracy CNC machines. How run to setup and use the machines, also how to find the component in the lab, and at the end how to solder these tiny pieces.


mod

Thanks to all the other generations of fabacademy mod is really easy but a bit confusing tool which can generate the RML(Custom Gcode for SRM20) for these specific milling machines. I shared my steps below:

I have used FTDI board designs that has been done by Neil for this practice. You can find them in the following link.

Fig01

Fig01-open a program in mod

Fig02

Fig02-choosing the design for milling

Fig03

Fig03-Set the tool and milling strategy

apart from the dimensions the most important part of this process is choosing the right strategy for the milling path according to your design. there are two options * climb * conventional

Fig04

Fig04-Set the origin

Fig05

Fig05-Calculation

If you want to put multiple board on a same stock this is the place to setup all Keep the jugging Z value 2mm to avoid extra traveling time If you are sending multiple files make sure the home position is not to far from your origin

Fig06

Fig06-Export

Fig07

Fig07-Trace that has been calculated in Mods

milling PCB

After preparing the files we are going to prepare the machine for the milling. First make sure that you prepare the file for the right machine. sounds stupide but better to check. here I am using SRM20.

Pick a stock and put the double side tap on it to keep it stable on the sacrifice board. Tip: Try to put the tap diagonally Also try not to touch the capper side of the PCB because it make the board dirty and rusty during the time. Align the PCB with one side of the machine bed so it would be easier to set the origin.

The milling bits are insanely thin and fragile keep extra caution while mounting it. After mounting the 1/64” bit on, move the machine in x and y direction to set the arbitrary zero for xy plan for your PCB board. Then bring the bit down and unscrew the bit from router and allow it to slid down on the board. Be extra careful to not drop the bit on the board after setting the Z zero. move the bit up and turn on the spindle and send the machine to Z origin to check if the machine will cut the board. After this test you move the machine up and upload the files for the tracing.

Fig01

Fig01-Put the double side tap

Fig02

Fig02-mount the PCB on board

Fig03

Fig03-Zero the machine

Fig04

Fig04-SRM-20 interface

Fig05

Fig05-Cut the trace

Fig06

Fig06-Some fails in cutting the outer shape

Fig07

Fig07-Some fails in FTDI cutting trace.

I thought first it was because I used conventional cutting instead of climb. But even after re-doing it in climb and losing some traces, there are other parameters such level of the CNC bed or cleanness of the board surface can affect the production process. Also I believe that the Ft230xs footprint can be adjusted a bit so the thickness of the remaining trace would not be as small as it is now.

Fig08

Fig08-Cutted boards

Components

seams very simple but it can be very confusing mostly when you have to convert the units to find the right component. Here I mention conversion for Capacitor and SMD resistor in case I need it.

Capacitor

  PF = 1000000
  nF = 1000
  uF = 1
  F = 0.000001

resistor

The best practice is to write the name of the component on a piece of paper and stick the components there. Because most of them are very small and would be easily lost.

Soldering

Pootch! looks very hard but I had a lot of fun. I was scared about this parts of the production. But I realized this is the most culm part it.

Fig01

Fig01- Make it work any how tutorial

couple of tips:

  • start from inner and smaller component and go toward the outer bigger one

  • firs melt some trace on the copper then try to attach the component*

  • some component has a specific direction(diode, microcontroller, etc.)

Fig02

Fig02- Starting the soldering

realizing that its not safe to have the camera close to the soldering iron!!

Fig03

Fig03- Final result

Fig04

Fig04- The board successfully connected to AVR MkII

programing ISP

I am not sure if I should doc it here or in embedded programming. However, since I did this to proof that my board is working I added here. For this I have used one of the past student documentation.

It was very hard process to flash the ISP programmer with windows OS. main problem was to install the frame ware for the AVR MkII so windows can recognize it as an external device. So I did every steps that was in the documentation but I was getting error when I was running make fuse command. The error was saying that the usb device is not being recognize.

Then I realized I have to manually install the driver and then mention that this is a usb device so the windows can understand.

Fig01

Fig01- Clean the previous make file

Fig02

Fig02- Make hex file

Fig03

Fig03- Make the fuse which took me a lot of time

Fig04

Fig04- Flashing the ISP

Safety first

remember that you holding a very hot object with approximate temperature of 200-300 degree be extra careful. Keep the soldering iron always on its stand and do not forget to turn it off when you are not using it.

Final Project Contribution

For my final project I did 2 almost complex bard which I documented in the following link.


Class Note:

boot Loader

first time they are empty

experimenting with memory might eras the memory

Protocol to talk:

FTDI

micro controller and micro processor difference:

micro controller has integrated memory micro controller doing one tasks

micro processor out micro processor doing multiple things

integrated circuit computer

soldering: start form small component

some component has the orientation - micro controller look for a hint to find the orientation from the datasheet

  • diod look for cathode and Anoud

soldering different power

PCB

why we need them?

PCB milling and bath

flex PCB not reliable

PCB CNC you isolating the cupper surface

Single side and double side connecting the different layers by ribbon

End-Mill

software for generating the g-Code for CNC

ISP

esp32 chip

ATtinyXX ATmega ATtiny