Programming
Steps for programming FabISP:
- Install the necessary software for your operating system and download the firmware.
- Then you edit the Makefile.
- Set the fuses / program the board
- Verify that the board is working properly
- Then you need to open up the jumpers to make it a programmer.
I ubuntu, Installing the software consist of the following commands-
Open Terminal and type:
sudo apt-get install flex byacc bison gcc libusb-dev avrdude
Then type:
sudo apt-get install gcc-avr
- type "y" when asked to do so by your system
Then type:
sudo apt-get install avr-libc
Then type (may already be installed):
sudo apt-get install libc6-dev
Download and Unzip the Firmware:
Move to the desktop
cd ~/Desktop
Download the firmware from the Fab Academy Electronics Production page.
wget http://academy.cba.mit.edu/classes/embedded_programming/firmware.zip
Unzip the firmware
unzip firmware.zip
Connect the mini USB connector of the FabISP into computer and a separate pogrammer to the 6-pin
programming header. (another working FabISP or the ATAVRISP2, a USBtiny, an AVR Dragon, etc.).
Edit the makefile using command: nano makefile
A window will open containing the Makefile. Go to the line that says:
AVRDUDE = avrdudthe e -c avrisp2 -P usb -p $(DEVICE) # edit this line for your programmer.
since i was using Atmel ice, i changed it to:
AVRDUDE = avrdude -c atmelice_isp -P usb -p $(DEVICE)
Now typed the following commands and check each results:
make clean
make hex
make fuse
make program
This is where i encountered a problem, during burning fuse. i got following error:

since i was new to soldering and electronics in general, i couldn't figure out the problem. My fabmate daniel found the problem after some checking. It seemed that i had added a 10k resistor inplace of 0 ohm jumper and the jumper inplace of resistor. So i desoldered both components and resoldered them correctly.Then i tried making fuse again and was succesful his time.
After that, programming the board was also succesfull.
I finally got a working FabISP!!!
