A while ago I took my two existing Arduino board’s and upgraded them to the Atmega328 chips. I purchased them preprogrammed from Adafruit.com. I then went on to create an interactive talk box for an art show using Adafruit’s wave shield. It was a great learning experience and an awesome introduction into physical computing.
Now, I’m on a mission to take my existing flash skills and leverage them into developing Arduino Flash Installations. I did some research and found the As3Glue library, which is an ActionScript 3 library that enables communication between Flash/Flex/AIR applications and Arduino boards. I also found some examples to get me up and running. I was hyped, I was ready to dig in and get busy knocking out a flash framework for my Arduino Apps.
WATCH OUT NOW!
I grabbed my Duemilanove and plugged it into my usb. I opened up the Arduino IDE and navigated to Tools->Serial Port. and selected the usb port (mac) /dev/tty.usbserial-XXXXXXXX. I then navigated to Tools > Board menu and soon found that there was no option for my Duemilanove w/Atmega328 board. I then proceeded to check my version of the Ide, which happened to be version 0013, which was the recommended Ide at the time for the Adafruit Waveshield. Hmmm..I thought, maybe the chip is bad, so I unplugged the Duemilanove and plugged in the Arduino Mega. Once again to my amazement there was not an option for that board either.
What do I do now? Why isn’t this plug and play?
I proceeded to select the Duemilanove (168) option and try to upload a sketch. The monitor started to spit out vulgarities, the most offensive being -programmer not responding. Well duh, it’s obvious the Ide is corrupted, or maybe I did something earlier in the day to deserve the heartache.
I did what a normal frustrated engineer would do, No…. not debug it, just uninstall the Arduino Ide and upgrade. Well, that could have been an option, but all the information I acquired to set up AS3 Glue uses the Arduino_0013_serProxy. I proceeded to uninstall my version of the Arduino Ide and downloaded the Arduino_0013_serProxy for mac. I then installed Arduino_0013_serProxy , and installed the FTDIUSB drivers and prayed for the Arduino Mega or the Duemilanove w/Atmega328 boards to be in the Tools > Board menu. Well my prayers were not answered. Damn!
The situation actually got worse now my usb serial ports where not being recognized. Great! I then proceeded to Google and crawled through endless Arduino and robotic forums resulting in zero items related to my search. OK…time to debug.
First thing to do is get my usb serial ports working again. Easy, I thought, just re-install the FTDIUSB drivers. WRONG!
At this point, if you’ve made it this far or if you are going through the same heartache, I have the solution.
Lets just fix the problem:
(1) uninstall the FTDIUSBSerialDriver.
On a mac PPC G4 the file you want to remove is located at :
Navigate to your Arduino_0013_serProxy folder, click into your drivers folder and re-install the FTDIUSBSerialDriver_v2_1_9 (if your on a mac PPC G4 version). The other driver is for intel based macs.
Your mac will reboot to register the driver.
Plug in your Arduino board and start up the IDE. Now you should be able to select your usb serial port as mentioned above.
(2) What the hell is going on with the Tools > Board menu?
If you just joined the Arduino club, you would not be privy to keywords to find the solution. Back when the Arduino v12 was out there where a few people already tinkering with the board and had upgraded their Atmega168 chip for an Atmega328 chip. I had to dig deep in the WWW to find this out. I happen to come across an old posting where one of those insane robotic dudes where complaining about the Atmega328 chip and the boards.txt. Naturally I went hunting in my Arduino Ide and found the boards.txt.
You should do the same, you will find it in your Arduino folder under hardware, open it up. You will be able to decipher the code, well guess what it is at least. The boards.txt from my understanding, handles the options for the upload sketch command. In theory you could add a new micro-controller but, supporting a new micro-controller would also require editing the main library source code.
In our case the Arduino Mega or the Duemilanove w/Atmega328 are “certified” boards, so we shouldn’t have any problems in regards to support.
My next step was to go to the official Arduino site and download the Arduino Ide version 16. I unzipped version 16 navigated to the boards.txt and took a gander at the code. I noticed that both Arduino Mega and the Duemilanove w/Atmega328 were listed. I navigated back to the hardware folder of my version of the Arduino Ide(13) and replaced the boards.txt with the boards.txt of Arduino version 16.
**NOTE, if you purchased your Atmega328 chips separately from Adafruit before Feb 2009, like I did you will have to change a setting in the boards.txt. It seems that Lady Ada chips are running at a different speed, so update this line atmega328.upload.speed=57600 to be this atmega328.upload.speed=19200.
I then plugged in my Arduino Duemilanove w/Atmega328 board back into the USB port and opened up the Ide, low and behold there was the options I was longing for.
Now for the validation test. Grab an led insert it into pin13 and upload the File>SketchBook>TestBlinkie. Then upload the sketch to your board. The led should start blinking/pulsating.
I have yet to test this out with my Arduino Mega, I have a feeling I may have to update some libraries, I’ll update this post if that is true.
I hope this helps someone, because It was a pain to track all the info down in bits and pieces to end up with the results I wanted.