UP | HOME

Week 6 Assignments

Table of Contents

Week 6 - Electronic Design

For this week assignment, we have to modify the helloBoard to include a LED and a button. We used Eagle to modify the design, milled the board using Roland Modela and the assambled it.

Some background info

I had some previous experience using Eagle from a workshop offered by Tomás Diez and Yago Torroja on Arduino Shield development a year and a half ago at Medialab-Prado. In the beginning I found the interface navigation utterly confusing, being unable to refocus the board and zooming without too much control. I soon realized I had updated my operating system since the last time I used eagle and that there have been some changes on trackpad usage. I googled it and discovered MacOSX Mountain Lion requieres Eagle 6.0x or higher to offer regular motion gestures. After the upgrade I could control the program in a much more comfortable way.

Back to the basics

To complete this week's assignment I wanted to understand in detail the processor connections, to advance embedded programming contents and also to learn more about the sample board supplied. I located attiny 44 datasheet at Atmel's web site. I discovered at section 10.2.2 how to configure an external clock and I was able to relate it to our setup on Hello Board.

Using Anna's tutorial as a guide I went to through the command line, using some basic commands to add all components to the schematic and to be able to trace the different signal paths.

add led1206
add resistor1206
add 6MM_SWITCH6MM_SWITCH

Always remember to move componets using the cross, otherwise some weird artifacts will happen and parts will move unlinked from the upper level component:

cross.jpg

It's possible to use the command show to hightlight components or paths. This command will be also very useful to troubleshoot board problems in the future, following signal continuity on copper paths. I also renamed some nets and components to get a better overview of my board layout.

clock.jpg

Net/signal highlighted

show vcc

showvcc.jpg

show clock

showclock.jpg

show isp

showisp.jpg

show ic1

showic1.jpg

I exported the design from Eagle as a monochrome image at 500 DPI to mill it in the Modela. I added some letters to the board using GIMP , but they were quite small and only some of them remained after the milling.

Here is my final version including the surrounding area:

finalboard.png

finalboardborder.png

Instead of soldering it using a soldering iron, I tried to learn new techniques like using solder paste, based on this Waag society tutorial. For my final project I need to prepare lots of boards so I'm basically trying to address this problem in every step of the learning process.

A friend of mine suggested me to create an stencil to help me apply the paste in a better way. Using Eagle this is a quite straightforward process:

  1. Create the desired circuit
  2. Click on the layer button. Select None and activate back the tCream layer. This layer is just the pads were paste should be applied. (Note: this won't work for boards like the fabispkey were some pads are not marked on the design because they are common ground
  3. Use the print command to get a pdf with the design. Select no scaling, top left alignment, remove the caption option and print it to file
  4. Print that file on the Epilog Laser cutter using a heavy paper with this settings: vector only, speed 100%, power 18% and autofrecuency. Remember to check the line width or otherwise you'll get a rastered stencil instead of a working one!
  5. Stencil is ready to be used!

stencil.jpg

I applied the paste and soldered using a Dremel versatip soldering iron/air I had laying around. The results are quite better than in previous occasions as you can see in this photo:

finalboardsoldered.png

As an additional tip, it's possible to export a Bill of Materials from the top menu, including all parts, positions an orientations. Here is mine, in case you want to replicate this board:

Partlist

Exported from helloEcho.brd at 01/03/13 12:52

EAGLE Version 6.4.0 Copyright (c) 1988-2013 CadSoft

Assembly variant: 

Part     Value          Package    Library      Position (inch)       Orientation

C1       1uf            C1206      rcl          (0.58 0.91)           R0
CLOCK    RESONATOR      EFOBM      fab          (0.15 0.74)           R270
IC1      ATTINY44-SSU   SOIC14     fab          (0.45 0.64)           R270
ISP      AVRISPSMD      2X03SMD    fab          (0.5 0.24)            R270
JP1                     1X06-SMD   SparkFun     (1.455 0.66)          R90
LD1                     1206       01_FAB_Hello (0.13 0.315)          R270
R1       10k            R1206      resistor     (0.36 0.91)           R180
R2       499            1206       01_FAB_Hello (0.185 0.54)          R0
R3       10k            1206       01_FAB_Hello (0.72 0.37)           R270
S1                      6MM_SWITCH 01_FAB_Hello (1.165 0.205)         R0

Basic reference commands (from Anna's tutorial)

Eagle has a command line (just start typing commands) - basic commands include:
add = opens up the libraries so that you can add components in Schematic view
always choose the 1206 components
these are the ones that have 12mm x 6mm packages
move = moves an item
net = makes a logical connection
junction = adds a junction
value = addes value to components (i.e. ohm rating)
name = names a component
label = displays the name of a component in schematic view
copy = copies an existing component on the schematic.
rename pieces you copy
route = used in Layout view, this tells you if you need to add a connection (follow yellow lines)
ERC = electronic rules check; this ensures your board will actually work (use in schematic view)
DRC = design rules check (in board view) - keep all the default settings (16 mil is fine); it should display a "no error" message in the bottom left hand corner of the screen
group = groups components in Layout view together; if you right-click, then you can choose Move: Group to move the grouping
rats = in board view, tells you if you have airwires
rip = deletes connections in layout
show = after typing this, select a component to see information about it displayed in the bottom left corner of the screen. Also, if you type show + [name of component] you can see that component highlighted. You can use this to see all the ground traces, for example.
text = allows you to add text to your board. You can also edit the exported .png file in The Gimp to give text and black and white line images. I recommend adding text in The Gimp.)
info = then click on text to get properties of the text

Date: 2013-02-27 Web

Author: César García Sáez

Org version 7.8.03 with Emacs version 24

Validate XHTML 1.0