First let me state that I'm starting this thread purely out of "academic" interest, not because I have any real issue with the typical FTDI chip used for USB interface on Arduinos.
I'm starting to explore alternatives to embedding an FT232R onboard. The obvious alternatives:
Get an official FTDI-manufactured cable
Use a breakout, such as the Modern Device USB-BUB
Hack a non-FTDI phone cable and dig up drivers
What other options are there?
Is it possible to hack a standard Duemilanove to "borrow" the FT232R?
Are there other USB-UART chips out there?
Is there merit in using a "real" microcontroller that happens to have USB and UART onboard? For instance, the Benito:
That looks promising, since (if I'm interpreting the page correctly) you could use it as a USB-UART interface to program bootloaded AVRs in Arduino clones, AND you could use it to burn bootloaders (right? or am I missing something?)
Is it possible to hack a standard Duemilanove to "borrow" the FT232R?
Yes. Just jumper a wire between the ground pin and the reset pin, that will keep the AVR processor dormant and you are then free to utilize the pin 0 and 1 serial data lines. Accessing the FTDI DTR signal, if you need it, is a little more difficult as it doesn't appear on the shield pins, however you could solder a jumper wire to the DTR trace coming off near the FTDI chip.
Microchip, TI, Cypress, Silicon Labs, Prolific, and more all offer chips that either implement the Serial/USB function or are general purpose controllers with USB and Serial interfaces aimed at being programmed for that function...
Beware somewhat; many do not include host-side driver software, and when they do it may be for windows only.
We used the CP2102 in a product and deeply regretted. The drivers are NOT updated as rapidly as FTDI. We received blue screens occasionaly. The part was also very sensitive to board noise.
Isn't there a MAX 232 chip? I think I have one in a USB to serial doodad. Should work, and it must be very small because it fits in the space between the USB Jack and the Serial Port
I used the CP2102 quite successfully on both the PC and the Mac.
Then the Mac's Snow Leopard came along and the auto reset function would no longer work. I got in touch with Silicon Labs who said they would update the drivers in a month. That was over 9 months ago and apart from one update saying it had been delayed I have herd nothing since.
Looks like I hadn't correctly weighted the driver "issue."
Anyone here played with the Benito? It looks interesting - could be used instead of an FTDI breakout board, and it's a standalone microcontroller, too. . .
Again, I'm not really in this because I have a critical need to solve, it's just that it seems a shame that the ONLY ways to get an Arduino/ATMega programmed from a modern PC are to either drop $15 - $20 for a cable/breakout board, or deal with a relatively fine-pitched SMT chip that costs as much as the AVR itself.
Again, I'm not really in this because I have a critical need to solve, it's just that it seems a shame that the ONLY ways to get an Arduino/ATMega programmed from a modern PC are to either drop $15 - $20 for a cable/breakout board, or deal with a relatively fine-pitched SMT chip that costs as much as the AVR itself.
If you dont mind losing the Serial stuff, you can always use USBasploader.
I have even written a replacement for the Serial stuff over USB, but it unfortunately causes too many issues to be useful.
it's just that it seems a shame that the ONLY ways to get an Arduino/ATMega programmed from a modern PC are to either drop $15 - $20 for a cable/breakout board
Dude, it has been very few years since the only way to do this involved hundreds of US$. Oh, and it was frequently it was either a one-shot deal (OTP) or only lasted until you cycled power (RAM based).
... SMT chip that costs as much as the AVR itself.
Which costs a whopping US$3.50.
The TSSOP package of the FTDI is a legitimate problem for hobbyists, but in all other respects the FTDI is a great solution: well-written, cross platform, free drivers; good hardware; minimal external device count; options for bit-banging; etc.
There are projects that use an ATmega (or some other AVR) as the USB interface. After lots of work, they can be as good as the FTDI already is.
Dude, it has been very few years since the only way to do this involved hundreds of US$.
Yes, and it's also been those same few years since a 5 MP camera like the one in my free cellphone would have cost a few hundred bucks! I'm sorry if my desire to learn about (potentially cheaper) alternatives has offended your sense of historical perspective.
Thanks to those who have proposed options, I have some reading to do now. I mentioned the Benito in my first post up top but no one commented - has anyone used one?
If you dont mind losing the Serial stuff, you can always use USBasploader.
This is something I'm trying to do. I know how to program a hex file to my AVR running USBaspLoader using AVRDUDE. However, I don't know how to get the Arduino software to run the correct AVRDUDE command. (I need to change the "-P" option to "-P usb", and I don't see a way to do this from within "hardware/boards.txt".)
However, I don't know how to get the Arduino software to run the correct AVRDUDE command. (I need to change the "-P" option to "-P usb", and I don't see a way to do this from within "hardware/boards.txt".)
You have to point it to some serial port still. Still works too.
Hey your right! AVRDUDE doesn't seem to care about the port being wrong. However, I needed also to add the disable_flushing option. Here is my new entry to boards.txt: