August 2010 Archives
August 15, 2010 8:19 PM
Puppet Master Final Project Page Updated
by Anna Kaziunas FrancePuppet Master final project page with links to all my Fab Academy work:
http://as220.org/~anna)

August 14, 2010 6:21 PM
Shopbot Project - Modular Shelving
by Anna Kaziunas FranceI designed a very simple set of modular cube-type shelves that can be stacked side by side or on top of each other to form a larger shelf or bookcase. Inner shelves will be attached with metal hardware, as will the back and sides of the shelf
August 14, 2010 2:24 PM
Diploma Completion Checklist Update - 08.14.2010
by Anna Kaziunas FranceAt this point I have completed all of the Fab Academy assignments to the best of my ability and time constraints.
Note: The shopbot project file that I will be posting shortly was not actually cut due to AS220 not having a shopbot and scheduling issues at the other shopbots in the area.
- See all my fab academy blog posts
- I am still frantically working on updating the final project page
Page 1 of 4 depicted below.
August 14, 2010 11:08 AM
Unsuccessful Modela Troubleshooting - Partially Successful Switch to Roland Vinyl Cutter
by Anna Kaziunas FranceI wish that I could relate tips for troubleshooting the Modela milling machine in this post - but I have hit a brick wall. (However, I recommend you try the steps below if you are troubleshooting your own milling machine.) My boards have been milling extremely hairy for weeks - punctuated by a workable board or two out of 50 or so milled.

I have tried:
- changing the bit
- changing / tightening the set screws
- moving the position of the spindle (from high to low - low to high)
- scraping the bed with razorblades to ensure that the boards are level (we accumulate tape and glue on the bed sometimes).
- moving the position of the copper to be milled on the bed (sometimes this helps and but I can not replicate the same results in the same place twice.)
- I have tried using different batches of whatever copper stock we have left in the lab.
- I read the manual - no real help there - mostly Modela specific software tips.
- I tried booting into Windows (we usually run the machine using Ubuntu) to see if there was a “recalibration” or “troubleshooting” program or setting in the Modela software - I couldn’t find anything to run that was machine based.

When I first began using the Modela back in January - I often had these types of problems, but as I became better acquainted with the machine, the boards came out better overall, with an occasional hairy board. However, in the last few weeks I mill almost exclusively mangled boards with the occasional usable board being produced.
As I am completely out of time - I thought I would try to cut my remaining infrared prototype boards for my final project / networking on the vinyl cutter out of flexible copper sheets. The boards are very tiny - I am not sure I can get them off off the sticky background without destroying them. I cut many multiples to use as spare parts for when parts get torn. Hopefully this will work and I can finish my projects.

August 12, 2010 8:47 PM
Very Basic Beginner Assembly Tutorial III: How to Use Avrdude
by Anna Kaziunas FranceFirst - If you have not already compiled your program
See the Very Basic Beginner Assembly Tutorial: How to Use Gavrasm to compile an .asm flie
If you have compiled your program (created a .hex file)
Note: If you do not yet have avrdude installed or if you are a windows user and need avr studio - see Lady Ada’s tutorials for detailed information on how to download, setup, configure and use these programs. Lady Ada’s AVR software installation tutorial:
Once your AVR software tools are installed:
Again - Lady Ada has excellent detailed tutorials on how to use avrdude check the out for details on what the all the commands are and what they do - I will just give the very basics here to help you program a chip.
Open your command line interface and navigate to the directory that contains the file you want to flash to the microcontroller.
Connect your AVR programmer to your computer - I prefer the usbtiny (also created by Lady Ada and available at a reasonable price from adafruit studios).
If your board has an resonator / external clock you will need to set the fuses first before attempting to program the microcontroller. You must do this first. However, once the fuses are set - you do not have to do it again. The fuses are set only once. You can reprogram the microcontroller as many times as you want after the fuses are set.
example to set fuses:
parts used in this example:
- 20 MHz clock
- bsd cable programmer
- microcontroller - attiny44
avrdude -p t44 -c bsd -U lfuse:w:0x7E:m
You need to change the parts in the code above to match the parts you are using in order for it to work. Ask you instructor if you are confused.
example to set fuses: parts used in this example:
- 10 MHz clock
- usbtiny programmer
- microcontroller - attiny45
avrdude -p t45 -c usbtiny -U lfuse:w:0x7E:m
4. If you have set the fuses already or if your board does not have an external clock - here is how to flash / program the microcontroller.
generic example to flash microcontroller:
avrdude -p microcontroller -c programmer -U flash:w:program.hex
example with actual data:
parts used in this example:
- usbtiny programmer
- microcontroller - attiny44
avrdude -p t44 -c usbtiny -U flash:w:freqrx3.hex
August 12, 2010 8:21 PM
Very Basic Beginner Assembly Tutorial II: How to Use Gavrasm to compile an .asm flie
by Anna Kaziunas FranceThis tutorial instructs you on how to compile an assembly language file (.asm) into a .hex flie using Gavrasm (Gerd’s AVR Assembler). the .hex file can then be uploaded to a AVR microntroller using Avrdude (or another program.)
1. Check to see if you have Gavrasm installed.
Open your command line interface and type:
gavrasm
If Gavrasm is installed you will see (your version number may vary):
+------------------------------------------------------------+ | gavrasm gerd's AVR assembler Version 2.5 (C)2010 by DG4FAC | +------------------------------------------------------------+
2. If Gavrasm is not installed you will get an error.
You can download and install Gavrasm from here: http://www.avr-asm-tutorial.net/gavrasm/index_en.html.
*Note: if you are running a Mac OS (especially a pre-intel / PPC - Power PC Mac see my tutorial on where to get the compiled Gavrasm for PPC Macs or how to compile it yourself. *
3. If Gavrasm is installed — or once you get it installed:
A. navigate to the directory where the file that you want to compile is located.
- if you are unfamilar with unix commands: s To list the files in your current directory type:
ls
To change directory / navigate into a specific listed directory type (where directory name is the name of the directory you want to move to):
cd directoryname
To move upwards in the directory tree structure type”
cd ..
If you know the pathname of the directory that you want - type in the pathname of the directory preceded by “cd”
ex:
cd /Desktop/mydirectory/mydirectory2
you can find more about general unix commands b doing a general internet search.
B. After navigating the correct directory - type:
gavrasm filename.asm
where “filename.asm” is the name of the assembly file you want to compile.
4. Gavrasm will compile the file for you and produce a .hex file of the same name as the .asm file.
Warnings:
Gavrasm will inform you if there are warnings. For the most part you can ignore the warnings. Ask your Fab Academy instructor if they are something you should be concerned about.
Errors:
If there are errors in compiling your file - Gavrasm will refuse to create a .hex file and will throw a bunch of error messages at you. Use these error messages to fix the problem.
If you don’t understand them - google the error or look at the datasheet for the microcontroller that you are using. See my tutorial on “Datasheet Tips”. Ask your instructor if you are confused - odds are they have encountered this many times. You must fix the errors in the program before it will compile.
5. You can now use your AVR programmer and Avrdude to flash your microcontroller with the .hex file you just created.
August 11, 2010 8:30 PM
Very Basic Assembly Tutorial I: Where to Get Gavrasm for the Mac OS
by Anna Kaziunas FranceHaving problems compiling Gavrasm on your Mac? Here is where to get Gavrasm (Gerd’s AVR Assembler) pre-compiled binaries for the Mac OS.
OS X 10.4.11 - Tiger (Power PC)
Download Anna Kaziunas France’s compiled version
OS X 10.5.x - Leopard
Download Kelly Snook’s compiled version
OS X 10.6.x - Snow Leopard
Download David Mellis’ compiled version
Windows & Linux
Pre-compiled binaries for Windows and Linux are available from the Gavrasm homepage. http://www.avr-asm-tutorial.net/gavrasm/index_en.html
August 6, 2010 2:15 AM
On Self-Replication
by Anna Kaziunas FranceAugust 5, 2010 2:34 PM
Complete and Working --> Modified Hello Echo + Button + FTDI v.2
by Anna Kaziunas Francebr> br> br>
Fab Academy Embedded Programming Assignment:
- add (at least) a button to the serial echo hello-world board
- modify the serial echo assembly program to respond to the button
I modified the hello serial echo board (my modified echo board version2 - see previous posts) to respond to a button and added an FTDI header so I could use it as a substitute for the internet 0 serial board. (I have a Mac and therefore no serial port).
The behavior is that the LED is always on - but when the button is pressed, it turns off.
Shawn and I modified Elliot’s reprogramming the echo board code.
Here is the code:
; Modified.Hello.Echo.Blink LED.44.asm
;
; blink LED when button is pressed
;
; Code Created At FAB ACADEMY AS220
; by Shawn Wallace & Elliot Clapp
; Last Modified 08/05/2010 - Anna Kaziunas France
;
; Permission granted for experimental and personal use;
.device attiny44
.org 0
cbi DDRA, 1
sbi DDRB, 2
loop:
sbic PINA,1
sbi PORTB, 2
sbis PINA,1
cbi PORTB, 2
rjmp loop
Here is How to Get the Board Running:
I use an usbtiny programmer.
Copy the above code into a text file and save it with YourFileName and .asm extension. Compile it using gavrasm:
gavrasm YourFileName.asm
Compiling the file will create a .hex file.
First - set the fuses on your board:
avrdude -p t44 -c usbtiny -U lfuse:w:0x7E:m
Second - flash the attiny44 with the program code you just compiled:
avrdude -p t44 -c usbtiny -U flash:w:YourFileName.hex




