This week we have to assemble a ISP programmer by stuffing a board following this design and instruction from: Building the FabTinyISP. As well as testing the board if it passes a visual inspection (Good traces, viable solder joints, correct components in the right places) and see if the board could accept a program loaded onto it.

Practice

Before i started the assignment I did a Guides Called “Hello Soldering Board”. This guide was to help novice solderers (me) to build confidence and practice soldering. This guide consist of a simple PCB (Printed Circuit Board) with 10 SMD LEDs in an array of 5 parallel lines (2 LEDs in series in each line). With a current limiting resistor in each line. Power is provided by 2 pads which can be hooked to a power supply with crocodile clips. The pads are spaced and sized in gradation of difficulty. Here an image of the Circuit design:

Here is an image of all the components from the PCB, LEDs and the resistors laid out:

Here an image of all to components soldered on to the PCB and being tested using a power supply:

While doing this guide I found it quite difficult to position the LEDs and resistors in place as the pads gradually decrease in size. This also made it hard to solder the components on to the PCB with accuracy as well as being neat. Another problem I often bump into, is with the arrows on the back of LEDs being really small and hard to see. I often make the mistake of placing the LEDs in the wrong direction. Through this mistake I found myself double checking everything before I solder, and learnt that the green end on font of the LEDs is the direction where it should be. I also learnt to be cautious about how much solder I should use to hold the components down.

Overall i found this guide to be very useful especially for beginners who has no experiences of soldering. Its easy to do and understand but challenging at the same time.

Assignment

We were given each a milled cut out PCB (Printed Circuit Board) of the ISP programmer (due to time we wasn’t able to cut the PCB are self). I then went and gathered the other components that are needed for this build which consist of:

  • 1x ATtiny45 (U1)
  • 2x 1kΩ resistors (R1 and R6)
  • 2x 499Ω resistors (R2 and R5)
  • 2x 49Ω resistors (R3 and R4)
  • 2x 3.3v zener diodes (D1 and D2)
  • 1x red LED (D4)
  • 1x green LED (D3)
  • 1x 100nF capacitor (C1)
  • 1x 2×3 pin header (ISP)

Here is an image of the circuit design for the ISP programmer:

Method

  • Before soldering I first prepared the PCB by cleaning it with soapy water, this is to remove any copper oxide and finger oil present on the PCB.
  • I then went and turn the soldering iron on and waited for it to reach its temperature. Once reached, I simply applied a small amount of solder on the tip of soldering iron and removing any excess solder by wiping it on a damp sponge. This is to keep the the tip of the soldering iron shiny as well as clean.
  • I then went and melted a small amount of solder on one of the contacts for each the resistors, capacitors and diodes on the PCB. I then placed the resistors and capacitors on to the PCB making sure they are on top of the solder where I applied it.
  • I repeated this process for both the ISP header and the ATtiny45
  • I then heated both parts of the joints of all the components with the soldering iron and added more solder if necessary. This would have then attached the components on to the PCB.
  • To test the connection of the components I have used a multi-meter to measure its resistance. If the values/reading is 0 then I will know I have installed it properly.

  • To test to see if the circuit works I went and applied 5 volts to the circuit which then cause D4 the Red LED to light up which help indicate that the circuit works so far.

Programming

Note the mac in the Fab lab has the software already installed

Method:

  • I went and downloaded files needed for programming from Building the FabTinyISP and programming a new FabISP Programmer
  • Once downloaded, i open Makefile using TextEdit. Which i then edited the Makerfile as “MCU = attiny45”,  changing the clock speed “F_CPU = 16500000UL” and editing the programmer as “PROGRAMMER ?= subtiny”
  • I Plug the board into the USB extension that connects to the Mac. Extension cable was recommend to remove the strain from and reduce the risk of damage to the built in USB port in the Mac. The Red LED would light up on the board
  • Then i went connected the programmer into another USB extension cable as well as connected the two ISP on the boards with a ribbon cable. LED on programmer will also light up.
  • Now I went and open terminal. Once open I typed “pwd” this is to check the path and then enter.
  • After that i then typed “cd (drag downloaded folder)” and then press enter.
  • Once again i typed/entered “pwd” to check the path. It then showed the path of the folder I just dragged in.
  • I then ran “make flash”. It will display several progress bars while avrdude erase, programs, and verify the chip.

  • Next I ran “make fuses”. (this will set up all of the fuses apart from one that disables the reset pin.)
  • I then went test the USB functionality by checking the new programmer appears as a device called usbtiny in the system info on the Mac. By disconnecting the programmer from my board by unplugging the ribbon cable.

  • I then reattach the programmer and the ribbon cable and I entered “make rstdisbl” (blow the rest fuse)
  • Finally I went and disconnect the VCC from the VPROG pin on the ISP header by removing the bridge on the solder jumper.

  • To test if my programmer works I went Andrew and used his program. With some adjustments we got it to eventually work.

Switch Off

Switch On

Difficulties this week:

  • Had to redo my board. Computer was able to upload the program on to my board however, when it came to testing it wasn’t able to read the program off the chip.
  • The fit of my board and the USB pot was a minor issue but was simply solved by using masking tape.
  • Had difficulties understanding what the coding does and needed a lot of help from peers and from Andrew.

learnt this week:

  • learnt how to solder
  • learnt the basic of programming a programmer
Print Friendly, PDF & Email