3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Getting started with ubuntu and the AVR dragon

Getting started with ubuntu and the AVR dragon
Here's what i did to get started using the AVR Dragon to program ATMEGA8 microcontrollers using ubuntu (This is aimed at beginners, I myself am also being a beginner, so any improvements from more experienced users are greatly appreciated).

After finally switching my laptop and computer over to ubuntu permanently, i found no software that would support my PIC microcontroller programmer and after a few vauge and useless attempts to reverse engineer it (i'm really not that good at electronics, i wake up in the night wondering why i'm not doing a degree to become a tree surgeon), i finally thought "sod it" and splashed out a bit of my student loan on an AVR Dragon after seeing there was an open source c compiler for AVR microcontrollers and supporting programming software, also there's some absolutely wicked projects people have done with them.

It then promptly got discarded in my box of bits for a couple of months (i like to think it was laying dormant in its lair......its a dragon, get the pun?)

so anyways, here's how i got it working, this will probably work with most flavours of ubuntu that use synaptic (you can probably do it on any version of linux if you compile it from source and whatnot, i like synaptic because its easy) and its more a collection of information from various sources, but should hopefully get you up and running!

I realise there are other instructables for getting started with avr microcontrollers, but i couldn't find anything that applied to my situation, so i hope this is at least a bit of help to somebody.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Getting the software

getting the software
in this instructable i wont be using any IDE (integrated development environment, think netbeans or visual basic) or make files (i don't understand them, maybe one day i will), so its mainly gonna be done via the command line and the text editor of your choice.

there are 2 main pieces of software i'll be using

gcc-avr
this is the gnu c cross compiler for avr microcntrollers. A cross compiler is needed because we're compiling code for a microcontroller on an architecture (personal computer) that cannot run the compiled code.
This will take the code you write in c and convert it into a "machine readable" format (loads of 1's and 0's) which can then be put onto a microcontroller.

avrdude
This is what puts the code onto the microcontroller, it connects with the avr dragon and transfers the Hex file (the compiled code) onto the microcontroller.

to install these pieces of software go:
system -> administration -> Synaptic Package Manager
search for gcc-avr and then avrdude and mark them both for installation, then install! simple.

if you want to use the command line you could try
sudo apt-get install gcc-avr
sudo apt-get install avrdude
« Previous StepDownload PDFView All StepsNext Step »
23 comments
Aug 12, 2008. 6:27 AMcollard41 says:
wouldnt it be alot easier to use windows (like normal people) and use AVR studio 4. after all it was desgned for that.

anyway JTAG is like an emulator for PIC but it is in the chip. you connect the corresponding ports on the chip and then enable the JTAG in the programming and then using AVR studio you can view the states of the file, working and EEPROM registers as it advances through the program. this would help with debugging.

and also, dont you find Assembly code easier to write in, maybe its because i learnt it in assembly code.

if you want to learn more about AVR or PIC programming buy these books, they are fantastic, if you are interested you can learn it in a week! here are the links to amazon AVR and for PIC

Note: Written by same author. PIC book written when he was 16 and AVR book was written while at University at the age of 19
Feb 18, 2011. 11:35 AMscottinnh says:
>"wouldnt it be alot easier to use windows (like normal people) "

Is that a troll?

You do realize this community seems strongly open source, and you just don't get that in a Windows community. Windows doesn't even do anything until you spend a whole lot more buying shareware.

Besides, not all of us are so rich that we like buying new scanners and printers every time a new version of the OS comes out (can't tell you how many times I had to do that before I said enough was enough, no more Windows,).
Jan 15, 2008. 4:50 PMgmoon says:
It's nice to know that avrdude now works with USB in Linux (I've got a Dragon just sitting around, next to an unused STK500...) But I normally just use my $5 parport DAPA cable on a breadboard with Xubuntu. (We don't need no sinkin' dedicated programming boards...)
Feb 16, 2011. 5:55 AMpfred2 says:
Yeah USB is icky for hacking!
Jan 16, 2008. 7:38 AMgmoon says:
That's a crucial point: my current desktop doesn't have a parport, either. And yours is the first demo (explicit, with photos) I've seen of using the ISP from the Dragon on an external board, AND making it work with Linux. So good job.
Jul 11, 2008. 4:35 AMssokolow says:
Unless you're using a specialized kernel driver, you should probably be able to do whatever you need with a USB-to-parport adaptor. I haven't needed one, but I did notice that there's at least one driver for them on Linux while I was doing the usual `make menuconfig`.
Mar 11, 2009. 2:02 PMgeeklord says:
Is this + this an easy way to get into AVRs?
Mar 13, 2009. 2:10 PMgeeklord says:
Thanks! I think I'm going to go with the USB programmer from atmel off of digikey for $35 instead of hunting for a computer with a parallel port. Are there any good AVR coding tutorials that you know of? Maybe one set up like the Arduino website's reference page, that one is handy.
Feb 16, 2011. 5:48 AMpfred2 says:
You can get really good parallel port cards for about $15. I personally wouldn't use a built in parallel port on a machine if I was connecting prototype electronics circuits I'd made to it anyways. $15 parallel port cards are easier to replace than computers! Though knock on wood I haven't blown one up yet myself.

http://img407.imageshack.us/img407/1168/stepbench.jpg

The gray sub D cable is plugged into one in the picture. Then signals from my home brewed buffer are running one of the worst loads out there, an inductive stepper motor controller running at a couple of amps.

So as they say, it works here!

http://www.youtube.com/watch?v=cgbeyNNBZ68
Jul 24, 2010. 9:36 AMKemo0o says:
Good stuff .. But I see that running codevision under Wine is more easier BTW I'am going to give it a try
Feb 8, 2009. 5:29 AMOuZo says:
that code only compiles with avr-libc installed! sudo apt-get install avr-libc maybe you could edit this in on step 1
Sep 24, 2008. 10:51 AMjonathanjo says:
Thanks so much for the -B 10 note: I had exactly this problem, and couldn't work out what was going wrong.

This was the error message -- though the device signature would come back differently each time:

avrdude: Device signature = 0x3f00ff
avrdude: Expected signature for ATMEGA168 is 1E 94 06
Double check chip, or use -F to override this check.

NB: the wrong signature would always be runs of 1s and 0s, never completely random.

-B 10 fixed it straightaway.

Thanks again.
Sep 24, 2008. 11:37 AMjonathanjo says:
hi itch thanks for such clear help. attached is a video of the oscilloscope trace of the pulse-width changing. thanks again.
Jul 31, 2008. 4:12 PMjaem says:
For AVRs, the KontrollerLab (http://www.cadmaniac.org/projectMain.php?projectName=kontrollerlab ) IDE is quite nice. It's KDE-based, and comes packaged as i386 RPMs and DEBs.
}{itch, if you still have PICs lying around like me, check out http://home.pacbell.net/theposts/picmicro/. There's programmer software there for the PICKit2, which is the cheapest "official" USB PIC programmer available from Microchip. Unfortunately, development has stalled, and the latest firmware for the programmer is only supported by the latest alpha of the software. It might be worth a try,though.
Jul 31, 2008. 4:13 PMjaem says:
darn - missed the comment further down.
Jul 8, 2008. 5:32 PMUltraMagnus says:
There is also KontrollerLab, which is a GUI program for AVR
Jan 15, 2008. 4:34 PMLinuxH4x0r says:
Nice. I don't think i'll be doing pic anytime soon
Jan 15, 2008. 2:48 PMGorillazMiko says:
Dang, looks difficult, but nice job.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
59
Followers
10
Author:}{itch