Fab Academy 2014

Week 14: Output Devices

This week's assignment is to add an output device to a microcontroller board, and program it to do something. For this task I chose to create a LED array.

First download all files from the Output Device week on the Fab Academy class schedule.

Interior

Traces

C code

Makefile

Place all downloaded files into a folder on your desktop, label the folder something like "led_array"

Use the traces and interior files to mill traces and cut out the board using the Roland Modela. Once traces have been milled and the board has been cut, use the board layout below and the list of components to solder and populate the board.

Components needed:

(5) RES 499 OHM

(1) RES 10K OHM

(20) RES 0 OHM

(20) LED SMD

(1) CAP 1UF

(1) IC 5V VREG

(1) ATTINY44

(1) 9V BATTERY HOLDER W/ WIRE LEADS

Here's what the board should look like after soldering:

After the board is fully populated, power the board with the 9V battery leads, and connect the AVRISP2 programmer to the LED Array board making sure the light on the programmer is green.

 

Once connected, navigate to the folder created on your desktop through the terminal window.

cd

cd desktop

cd led_array

Next type:

sudo make -f hello.array.44.make

if you are successful - you will see this response from the system:

Philips-iMac:led.array philipgonsalves$ sudo make -f hello.array.44.makePassword:
avr-objcopy -O ihex hello.array.44.out hello.array.44.c.hex;\
            avr-size --mcu=attiny44 --format=avr hello.array.44.out
AVR Memory Usage
----------------
Device: attiny44

Program:     368 bytes (9.0% Full)
(.text + .data + .bootloader)

Data:          1 bytes (0.4% Full)
(.data + .bss + .noinit)

Next type:

avrdude -p t44 -c avrisp2 -U flash:w:hello.array.44.c.hex

if you are successful - you will see this response from the system:

Philips-iMac:led.array philipgonsalves$ avrdude -p t44 -c avrisp2 -U flash:w:hello.array.44.c.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9207
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "hello.array.44.c.hex"
avrdude: input file hello.array.44.c.hex auto detected as Intel Hex
avrdude: writing flash (368 bytes):

Writing | ################################################## | 100% 0.13s

avrdude: 368 bytes of flash written
avrdude: verifying flash memory against hello.array.44.c.hex:
avrdude: load data flash data from input file hello.array.44.c.hex:
avrdude: input file hello.array.44.c.hex auto detected as Intel Hex
avrdude: input file hello.array.44.c.hex contains 368 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.12s

avrdude: verifying ...
avrdude: 368 bytes of flash verified

avrdude: safemode: Fuses OK (H:FF, E:DF, L:62)

avrdude done.  Thank you.

You should see the LED's on your board starting to cycle through.