5. Electronics production

This week is about electronic production. The basic intent of this week is to understand what a circuit is, the different types and components of a circuit board, milling a PCB and soldering. The area of electronics and its production was completely new to me. To begin with I started from the basics of Electronics. Terms of electtronics were quite alien to me. I started diving into the world of electronics step by step. The assignnment for this week was to make an ISP. Which includes various parts and processes.I don’t know how things will progress , let’s hope that every thing will be fine :)

Group Assignment:

  • Characterize the specifications of your PCB production process.

Individual Assignment:

  • Make an in-circuit programmer by milling the PCB, optionally trying other processes

What is a PCB?

PCB is an acronym for Printed Circuit Board. It is a board that has lines and pads that connect various points together. Before the advent of the PCB circuits were constructed through a laborious process of point-to-point wiring. This led to frequent failures at wire junctions and short circuits when wire insulation began to age and crack.

Solder is the metal that makes the electrical connections between the surface of the PCB and the electronic components. Being metal, solder also serves as a strong mechanical adhesive

Group assignment

In the the group assignment we are required to know our machine capabilities by milling some test samples already given on fabacademy website.

You can check this link

Individual assignment

As it was required For this week’s assignment, i need to make an in-circuit programmer. mill the board, stuff it with components and program it.

What is the FabISP?

The FabISP is an in-system programmer for AVR microcontrollers, designed for production within a FabLab. It allows you to program the microcontrollers on other boards you make.

To do this, there are 6 main steps:

  1. Preparing files.

  2. Preparing your machine.

  3. Mill your board.

  4. Cut your board.

  5. Solder components.

  6. Programming the board.

Now. let’s begin with milling the board!

Preparing files:

So, for the traces, we already had FabISP traces and outline cutout ready to download from here

Files were downloaded in png form

Png traces

Png cutout

I used Fabmodules online at FabModules to upload the .png images successively and to generate the G-code for the CNC mill to mill the traces and to mill the outline shape of the PCB.

Preparing the machine

Use double sided tape to fix your piece of copper on the machine bed.

  1. Mount your mill bit carefully in the collet.

  2. Start moving your machine to the start point you want using “X min, Ymin” and “Move to Xmin and Ymin” features.

  3. Zero your Z axis, and this is by moving your machine to the bottom carefully using the down button.

for accomplishing the following operation without risk of damaging the drill tip,you have to lower manually (slowly and by heavily controlled steps!)

When you are close to the copper sheet (around 0.5 mm), loosen the mill bit and allow it to slip slowly till it touches the surface of the copper. 5. Now the last step is to choose the G code that you have already prepared and send it !

I n my case i have already ^prepared my two G codes for the traces and the cut out as showing bellow

first i had to open fabmodules , then open the png file and fix the parameters, calculating the tool path and downloading the G-codes file for the CNC to start working .

I had to repeat the same process with the cutout png file

Solder components

I soldered the parts to the PCB, using the schematic and board image below as a reference for component values and placement.

Here it is the final result , i think i did it well :)

Programming Board

The first step is to download

Git

WinAvr

Zadig-USB.

zip file

Connect the arduino to the computer

Go to the arduino software : file ->example ->Arduino ISP (This code will transfer the arduino into prgrammer)

Disconnect the arduino and go to the notepad file , this file is made for the ISP that ‘s why we need to make some changes so it becomes able to work with arduino .Before that you need to extract the Zip files that you downloaded previously

The first change is to modify the MCU=ATtiny85

The second change is the programmer=SK500V1

The third change is the port com6 and the spped 19200

save changes .Connet the arduino with fab isp using jamper cables following the connections bellow and reconnect the arduino to the laptop

Now, you need to reopen the same folder as before and right click on the mouse and select git bash here .

You need o write the two commands LL to check your position and make to check files

After checking that every thing went alright with the two commands you need to enter new ones but before that, you need to use a USB HUB,to connect your arduino and your ISP together and then to your laptop

Open git and write special commands to program the ISP using arduino

make flash to send tje code to program the ISP

make fuses to upload settings

make rstdisbl to disable one of the pins to work as a reset

You see your ISP LED blinks so you can confirm partially the ISP programming ,

and yes the LED lights so i felt a little bit sure that i did the steps correctly .

Now Disconnect your arduino from the USB hub as well as all the jumper cables and keep only the ISP connected

Use the Zadig software to instal the driver for the ISP

It can makes some time but it works at the end :)

1- Search for USPtinySPI

2- Click on Install Driver

nowthe driver is installed so the Fab isp is well programmed

to check if the ISP driver is installed you can go to

device manager->libsub-win32devices and find USBTINYSPI

so we finished our first programming board ISP using the arduino

Programm new ISP with my programmed ISP

Now i will use this programmed board to prgram a new ISP

i had to follow same steps as before

Dowwnload the same zip file as for the arduino and my ISP.

extract it and open it’s folder

Right click with the mouse on MaKE file and select open with NOTEpad .This time the only change i have to do is

MCU = ATtiny85

Save modifications then connect both of the FAB ISP to the laptop Using the 6 pins isp cable

Open the Zip file and right click open git here to write the following commands

make

ll

make flash

make fuses

make rstdisbl

Go to Zadig and choose USB tiny SPI , this time you don’t have to install the driver , it is already installed

Every thing worked perfectly and i programmed the new ISP