Boarduino w/ pololu usb avr programmer on ubuntu

Can’t find a setup that works for this. I have tried a few methods but would like to see a step by step on how to get this to work. A friend of mine will have the same problem whenever he gets around to putting his boarduino together.

I am using:
DC version of the boarduino from adafruit atmega328.
pololu usb avr programmer item #1300
ubuntu 10.04
arduino software 0017 or 0019 (tried both)

If someone had gotten the pololu programmer to work with the Duemilanove, (no bootloader programming), it should be the same setup. It wasn’t my initial goal, but I would like the additional programming space.

I have several projects that I have done with the standard Duemilanove using the atmega328. Can’t find a way to get the arduino ide to see the pololu programmer, which is showing up as a device ttyACM0 and ttyACM1 and seems to be working as far as the OS is concerned.

Since I don’t have the USB port or the FTDI 6-pin programmer, I have no way to know if the boarduino is working properly (green light is on). I do have 2 boarduinos and I do a lot of surface mount soldering, so I am fairly confident that they were put together properly.

I have posted the same on adafruit and arduino forums with no luck so far.

Any help would be appreciated.

About a year ago, I figured out how to get Windows + ArduinoIDE0017 + Pololu USB AVR Programmer + Atmega328p working. This is how I did it and hopefully these instructions will work for you. If they don’t work, it’s probably because things have changed between version 17 and version 20.

To program a ATmega328-based device (such as the Pololu 3pi Robot, Orangutan SV-328, Baby Orangutan B-328, or Boarduino) using the Pololu USB AVR Programmer, please try this:

At the end of boards.txt in the arduino-0020/hardware/arduino directory, add this:

board328p.name=ATmega328p (20 MHz) via ISP Programmer
board328p.upload.using=avrispv2
board328p.upload.maximum_size=32768
board328p.build.mcu=atmega328p
board328p.build.f_cpu=20000000L
board328p.build.core=arduino

This will add an option to the Tools > Board menu of the Arduino IDE called “ATmega328p (20MHz) via ISP Programmer”. If your target board runs at a slower speed, you should change f_cpu and name appropriately.

At the end of programmers.txt in the arduino-0020/hardware/arduino directory, add this:

avrispv2.name=AVR ISP v2
avrispv2.communication=serial
avrispv2.protocol=avrispv2

These three lines define the “avrispv2” programmer referenced in boards.txt.

When programming you sketch, be sure to select the correct serial port (most likely /dev/ttyACM0) in the Tools > Serial Port menu and the correct board in the Tools > Board menu.

Let us know if this works for you.

–David

That did work in XP.

specifically.

#####
##Add this to the top of the boards.txt file.
#####
board328p.name=Boarduino
board328p.upload.using=avrispv2
board328p.upload.maximum_size=32768
board328p.build.mcu=atmega328p
board328p.build.f_cpu=16000000L
board328p.build.core=arduino
#####
#####
##Add this to the bottom of the programmers.txt file.
#####
avrispv2.name=AVR ISP v2
avrispv2.communication=serial
avrispv2.protocol=avrispv2
#####

and tell the arduino ide to write to com3 (Pololu usb AVR Programming Port) in hardware manager. Still no joy in Ubuntu. Tried linking the ttyACM0 to ttyS0 that the ide is looking for but I am pretty sure that is a one way link and I will have to play with that; just gives me errors. I am a few steps further than I was a day ago. Thanks for taking the time to help.

I’m glad it worked for you in Windows XP!

Why is the Arduino IDE in Linux trying ttyS0? Does it have a Serial Port menu where you can select which COM port to use, just like it does in Windows? Did you try “ln -s /dev/ttyACM0 /dev/ttyS0” to make your link? I think the Arduino IDE uses avrdude behind the scenes to actually do its uploading, so if you could show us the exact command line it is using to invoke avrdude, that would be great, but I’m not sure how to do that.

–David

Yes it does have a drop down menu for serial ports but it doesn’t see ttyACM0, it only sees ttyS0.
I tried:
‘ln -s /dev/ttyACM0 /dev/ttyS0’ from the command line.
more specifically:
‘sudo ln -s /dev/ttyACM0 /dev/ttyS0’ because of that whole ubuntu super user.
and all possible variants playing around with the order and I really didn’t know if I should be linking ACM0 or ACM1. None of them worked and I haven’t had time to play with it since then. When I get a chance I will mess with it and post the results.

Hi, i was reading your post on using the PGM03A polulu avr isp to burn an arduino bootloader onto a atmega328, i have the 3pi robot and the isp works great with avr studio etc, but recently i’ve made the single sided serial version of the arduino severino (with eagle) all the soldering/tracks etc are good, the chip is an atmega168 that is brand new, when i try to burn the arduino bootloader onto the chip i dont get much success, although avr studio recognises my chip, the sketches dont seem to upload to the board, would anyone be able to help me with this please?

specifically would there be commands like the ones david e grayson wrote about changing boards.txt and programmers.txt but instead of atmega328 for the atmega168?

Hello.

According to bhasha.co.cc/pdf/arduino_severino_manual.pdf You don’t need to change your boards.txt, you need to select Arduino Diecimila as your board, if you are using the ATmega 168. You will need to add the lines to the programmers.txt and select the correct bootloader burning option that uses the programmer.

- Ryan