Week 5 : Electronics Design

The task this week was to create the schematic, board layout and then mill the simple LED circuit board.

Autodesk Eagle is the circuit-board software that we used > Installing it was relatively easy as it was just a simple installation but to get the correct components for the FAB LAB, downloading the library of parts was done. This is to ensure that all of the pads are the correct size and can therefore be soldered easily.

This is the guide that I used > https://fablabbrighton.github.io/digital-fabrication-module/guides/guide-draw-circuit-in-eagle

Once you know where the library of parts is, it is relatively simple to use, but keeping it tidy is important to have an easy to read schematic and peace of mind that you have connected everything correctly.

Method for creating a new document

File > New Project > Right Click on the project > New > Schematic — Open in new window

Add Part > Search using *part* > All components that have 1206FAB as an option should be chosen

List of parts required is

  • Red LED
  • 1KOhm Resistor
  • 10 KOhm Resistor
  • Un-polarised Capacitor
  • Omron Switch
  • Resonator
  • FTDI Header
  • ISP header
  • ATtiny44

Add all of the components to the schematic then change the values of the resistors and capacitor.

Right click on the component and click value > Type in the correct value so that you can use you schematic for soldering late on and correctly refer to it.

Moving on to Board

Generate Board > click OK on message box

Move components and rotate them to the orientation that is going to best suit the board layout

Change width of the trace in the top bar when drawing the traces

Change the tolerance : Tools > DRC > Clearance

Check errors : Tools > Errors

If any errors are due to the schematic, then that will need to be altered. However if the errors are due to clearance errors and traces slightly crossing, these will show up and can be fixed relatively easily. Most of the time they can be fixed in EAGLE, by either drawing the trace again and choosing a slightly different path, however if the stepping in the movement of the trace is annoying, Adobe Illustrator can be used to alter the traces.

The next step is to move it to Adobe Illustrator: File > Export > DXF > ensure scale isnt change and you save it in a suitable location.

In Adobe illustrator the main aim is to remove all line and text, leaving only the traces, pads and the outline of the board > The traces may need altering slightly from the EAGLE file so this is when you would do that.

This is when you would add a logo if you wanted to.

The outline width should be set to 3-5mm as this the components and the edge of the board enough clearance

The artboard now needs to be set the artwork size > this can be done in a simple step > Objects > Artboards > Fit to Artwork Bounds

This is a critical step to ensure the two tool paths generated have the same origin point and therefore match.

Print this as PDF to ensure the components fit. I chose to increase the width of the pads for the FTDI header to 5mm as they didn’t fit with the printout.

Save as a PNG > tick the box saying use artboard > 1000dpi > save somewhere you can find it easily

Go to > fabmodules.org > upload you PNG by selecting PNG from the drop down menu

> Select Roland Mill > PCB Traces for the traces and outline for the outline > invert the image

> set the x0 y0 and z0 to 0

> Set the yhome, xhome to 0 and the zhome to 10

 

> Set the tool Diameter to 0.4mm for traces ; 1mm for outline > no. of offsets to 0 for a test toolpath

The tool path should be generated when you click calculate

 

This is a critical check to ensure that you board will work > Make sure none of the toolpaths merge together. They can overlap but not merge.

 

Roland Mill

The mill is very easy to set up and has an automatic tool change which speed up the work.

Setting the x and y origin is simply selecting which axis and using the hand wheel to control how far across the cutter is.

Setting the z origin requires more skill > Turn on the spindle to full speed > select z axis > get it close using the hand wheel > change the step distance to reduce how fast the z-axis moves with the hand wheel > get the spindle to just touching the copper ; you should see a small amount of white power appear when you get close enough

Change the tool bit to the correct one for the operation > menu > click over to the one which says tools > select tool 5 for doing the traces > tool 1 for the outline

Load up the file using the blue square in the bottom corner > add your file to the menu and delete any others >

Send to the cnc and ensure that it doesn’t crash by watching it >

Once finished load the outline file and change the tool bit as above > Start the outline and wait for it to finish

Remove the finished PCB using a scraper and clean up any rough edges

Solder the components on as in last weeks blog.

Week 4 : Electronic Production

Surface mount components are very common and are what the majority of manufacturers will use due to the smaller size, compared to through components. It seems fairly easy to use them, although the mounting of these components, via soldering is vastly different to through hole components.

Through hole components have the obvious advantage of being self locating, so it is easy to manufacture. Surface mount components need to be held in place when soldering and so require skill to also locate them and make them straight.

Method

  1. Prepare the board for soldering by washing it in soapy water to remove any oxidation that may have occurred since milling.
  2. Gather all of the components and ensure you know what orientation they are supposed to be.

1x ATtiny45

2x 1kΩ resistors

2x 499Ω resistors

2x 49Ω resistors

2x 3.3v zener diodes

1x red LED

1x green LED

1x 100nF capacitor

1x 2×3 ISP header

  1. Tin the soldering iron by adding a small amount of solder and removing it using the wet sponge.
  2. Tin one of the contacts for each of the resistors, capacitors and the diodes.
  3. Do the same for one of the 6/8 legs of the Tiny Chips and the ISP
  4. Place the components on top of the solder and use a pair of tweezers to push it towards the board, therefore keeping it still. This is the hardest step, as if you have tinned the pad with too much solder then you will find it difficult to hold the component next to the board.
  5. Heat up the solder which you tinned onto the board and you should have attached the component onto the board.
  6. Then solder the other end/legs of that component, going back to add more solder to the other leg/end if there isn’t enough.
  7. To test the connection you should use a multi-meter on the most sensitive resistance setting. This will check continuity between the component. If the reading is 0 or very near to 0 e.g 0.003 then there is a short whereas if there is a reading of around the size of the resistors measurement then you cave it correctly installed.
  8. Check the overall circuit by applying 5v volts to the USB as in the diagram. S1 is shorted then the left LED should light up indicating that the circuit works.

Programming this chip requires it to be shorted and then the programming can begin.

*Update on Programming the programmer* 03/03/2019

Using these supporting blogs – Windows specific Installation

Installing the software was harder than following the links due to the lack of clear instruction on what parts are needed, especially for Git. The link for Atmel GNU Toolchain wasnt correct so I am unsure which I needed to install. I typed what the link was supposed to take me to into google and cap up with this website. Download all the files as a zip and then extract them in the desired folder.

I decided to create a different programs folder so I could better keep track of the software on my computer. I didn’t want to destroy anything.

Installations complete – all of the tools are located in F:UNI ProgrammingPrograms

Updating the path

Control Panel > Advanced System Settings > Advanced tab > Environment Variables

Under User Variables > Edit for Path > See below

Next it to download Zadig and run this to install drivers for the USB > where I got stuck

Windows didn’t like the USB and so every attempt failed to install the drivers.

 

I checked here for shorts between VCC and ground and found nothing amiss so it is a possibility that my PC isn’t compatible and wont recognise the USB.

Checking software installations

> Type make -v in GitBash

> Type avr-gcc –version                                  FAILED

> Type avrdude -c usbtiny -p t45                 FAILED

UPDATE 2 > 04/03/2019

Going into the Fab Lab today helped so much after the failed attempts at home. The main different being using an iMac rather than a windows computer. Mike in the Fab Lab also says that Linux works very well, so maybe a possibility of having a separate partition on a hard drive to set up a Linux OS on my PC.

The steps are as follows for Mac with the software installed:

  1. Download the firmware for the programmer > http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/
  2. Open the Makefile in a text editor
  3. Customise the make file > Edit the line with MCU = attiny45
  4. Customise the clock speed > Edit the line with F_CPU = 16500000UL
  5. Edit the programmer used to program your board > PROGRAMMER ?= usbtiny
  6. Plug in your board using a USB extension to not mess up your computer USB ports as well as the programmer > connect their 2 ISP headers with a ribbon cable in the correct orientation
  7. Open the Terminal > type pwd to check path Enter
  8. Type cd (space) (and drag the downloaded folder in) Enter
  9. Type pwd to check > should be the path of your folder Enter
  10. Type make flash > should come up with loading bars if working Enter
  11. Type make fuses > should come up with loading bars if working Enter
  12. Unplug both > re-insert your board > check mac recognises device in the system information > should show usbtiny
  13. Reattach programmer and ribbon cable
  14. Type make rstdisbl  > blows reset fuse > should come up with loading bars if working Enter
  15. Remove solder bridge if successful and you should now have a programmer

The programmer was then successfully tested using Andrew’s code to a board containing an LED and switch.

Multiple programs were tested and all were successful.

Board that my programmer could program