BACK

Week 5 - Electronics production

After quickly brushing up some basic concepts in electronics, our instructors proceeded to demonstrate the Roland Modela machine to us. It was a surreal experience to mill my own Printed Circuit Board (PCB) and solder the components on it. We referred to Brian's webpage 'Building the FabTinyISP' to make our programmer.
Group assignment:

1. Characterizing the specifications of our PCB production process

Individual assignment:

2. PCB fabrication
3. Soldering and assembling the PCB
4. Checking and debugging the PCB
5. Programming the PCB


Watch the video below for a quick walk-through..

Hero shots of the week


Free HTML5 Bootstrap template
1. Characterizing our PCB production process
Free HTML5 Bootstrap template
2. After milling my PCB
Free HTML5 Bootstrap template
3. After soldering the components on the PCB
Free HTML5 Bootstrap template
4. Programmed successfully!

Characterizing the specifications of our PCB production process

Free HTML5 Bootstrap template
1. The Roland Modela MDX-20 is a 3D milling machine, that is used in Fablab for milling wax and PCBs.
Free HTML5 Bootstrap template
2. The metal base board of the machine can move only in the XY-directio. The 'View' mode brings the base to the front for a better view, while pressing it for the second time takes the board back to the original position.
Free HTML5 Bootstrap template
3. The X and Y positions can be specified through the Fab modules software, while the Z-origin of the tool can be set only with the controls on the machine panel.
Free HTML5 Bootstrap template
4. Sticking the PCB (Cu thickness=0.08mm) on the sacrificial layer (overturned PCB) on the metal base of the machine.
Free HTML5 Bootstrap template
5. Placing a soft cushion while fixing the tool, to prevent it from breaking in case of any fall.
Free HTML5 Bootstrap template
6. The different end mill tools used for the Roland Modela. Image from Amit Yadav's page in Fab academy archive.
Free HTML5 Bootstrap template
7. The allen key is used to tighten the tool. Make sure to tighten on both sides of the tool equally by alternately screwing with the allenkey on the two holes. The 1/64 inch tool is used for tracing while the 1/32 inch tool is used for cutting the outline of the PCB.(PC: Roland MDX-20 user manual). Check if there is enough distance for the spindle to move down while setting the tool position."
Free HTML5 Bootstrap template
8. The 'Fabmodules' page is opened and the input is chosen to be an image(png) file.
Free HTML5 Bootstrap template
9. The image file was downloaded from the Fab academy webpage for this week's lecture 'Electronics production'
Free HTML5 Bootstrap template
10. The output format is chosen to be Roland mill (.rml)
Free HTML5 Bootstrap template
11. The process is chosen to be 'PCB traces (1/64).
Free HTML5 Bootstrap template
12. The machine is chosen to be 'MDX-20'.
Free HTML5 Bootstrap template
13. For PCB tracing (1/64) process, note that the cut depth is 0.1mm and the tool diameter is 0.4mm. Click on 'Calculate' and then 'Send' to start milling.
Free HTML5 Bootstrap template
14. This is the outline image for cutting, also taken from the Fab academy 'Electronics production' webpage.
Free HTML5 Bootstrap template
15. For cutting outline, the 'PCB outline (1/32)' process is chosen.
Free HTML5 Bootstrap template
16. For PCB cutting (1/32) process, note that the cut depth is 0.6mm and the tool diameter is 0.79mm. Click on 'Calculate' and then 'Send' to start milling.
Free HTML5 Bootstrap template
17. The job status is displayed on the screen when the machine starts milling.
Free HTML5 Bootstrap template
18. The 1/64 inch (or 0.016") tool on our machine could not trace the lines of thickness 0.001" and 0.01".

PCB fabrication for the FabTinyISP

The same process as described above was followed for our individual assignment to mill the PCB for the FabTinyISP, following Brian's tutorial.

Free HTML5 Bootstrap template
The image file was downloaded from Brian's tutorial 'Building the FabTinyISP'.
Free HTML5 Bootstrap template
This is the outline image for cutting, also taken from Brian's webpage.
Free HTML5 Bootstrap template
A selfie while the machine is milling. Check the video at the top of this page for the video record.
Free HTML5 Bootstrap template
Looks good!

Soldering and assembling the PCB

Soldering seemed very difficult at the first go but got easier and was even fun, once I got the hang of it. The trick is to heat the board with the soldering rod and place the lead on it. As the lead melts, place the component in the required orientation with the tweezers. Use the soldering rod again to smoothen the soldering.

Free HTML5 Bootstrap template
These are the images from Brian's page that we used to select and solder the components at the appropriate positions and orientation on the PCB.
Free HTML5 Bootstrap template
Picking the required electronic components from these arrays of little drawers felt like shopping for items on a recipe ;).
Free HTML5 Bootstrap template
The required items have been picked and pasted on a paper to easily retrieve for soldering.
Free HTML5 Bootstrap template
The end result after soldering. Check the video at the top of the page for the action.
Free HTML5 Bootstrap template
The extra copper in the front of the pad is removed with a pen-knife.

Checking and debugging the PCB


I used the multimeter to check that the circuit is connected and all the solder joints are in place. The black and red ends of the multimeter were placed at two different points in the circuit. If the circuit was complete, the values would change and a long beep would be heard. The video clip of this can be seen towards the end of the video at the top of the page.

My circuit seemed to be intact when checked with the multimeter. However, when the PCB was plugged into the PC, both the red and green LEDs lit up. This is a bug as only the red LED should light up now. The green LED should light up only when the programme is loaded into the PCB.

Vinod, our instructor, helped me by checking the circuit with the multimeter again. He noticed that the forward bias voltage value across the two diodes D1 and D2 was over 700V on my PCB whereas it was ~650V in the other functional PCBs.We tried changing the diodes - didn't work. Then Vinod removed the IC and noticed that one half of the IC (3 pins) had not been soldered completely. He soldered it back and then the problem was solved! I wondered then why the multimeter debugging had not revealed this issue. Vinod said that the pressure applied by the multimeter pin would have pressed the IC down and completed the circuit. When the multimeter was taken off, the circuit would have been incomplete. This was quite an eye-opener.

Programming the PCB

I connected my PCB to our instructor, Yadu's programmer, such that the same connecting wire connected the first pin of one board with the other (check the video at the top of this page). The programmer was inserted into my PC. I had downloaded 'Crosspack' on my Macbook. I also downloaded the firmware source code, as per the instructions on Brian's tutorial. I didn't have to edit 'Makefile' as it already had the line
PROGRAMMER ?= usbtiny

Free HTML5 Bootstrap template
1. I opened the terminal from within the firmware source code folder and typed in 'make flash'. However, it displayed an error message :' Could not find USBtiny device'. This issue was resolved when I used another programmer which fitted more tightly into the PC's USB port.
Free HTML5 Bootstrap template
2. 'make flash' command to erase the chip and flash it with the new hex file was processed successfully.
Free HTML5 Bootstrap template
3. 'make fuse' command to set the configuration fuses was processed successfully.
Free HTML5 Bootstrap template
4. Plug in the PCB directly into the PC. In 'About this Mac>System Report' the details regarding the 'USB' were displayed. As per Brian's tutorial, this implies that the PCB is now programmed.
Free HTML5 Bootstrap template
5. Connect the PCB to the programmer again and connect the programmer to the PC. In Terminal, enter 'make rstdisbl' to disable the 'reset' function in the PCB, so that it can now be used as a programmer.

BACK