Is my FTDI fried? Can I still program and serial monitor?

I accidentally hooked a 12V power supply to a breadboard power rail, not realizing that the 3.3V pin with connected to it. The sketch on the Arduino still works (it reads an analog sensor and displays the reading on an LCD) but I cannot Serial Monitor it or push new sketches to it. I have tried the USB on 3 computers with 3 operating systems, un/reinstalled FTDI drivers and tried the Loop-Back Test.

So, this is what I want to know:

  1. Does it sound realistic that applying 12V to the 3.3V could do that?
  2. Is there any way I can still hack on this thing until the replacement comes in? (I have USB->Serial dongles and an atmel stk500, but know very little about AVR.)

Please advise.

I thank you in advance!

  1. Yes, especially if FTDI internal regulator was the source of the 3.3V.
  2. Connect Serial lines to D0, D1. In the IDE, select File:Preferences, turn on Verbose outputs. For downloads press Reset when the IDE shows "Compiled xxx of 32xxx bytes." May take a couple of tries to get the timing right. Worst case, remove the resistors that sit between the FTDI chip and the '328P to keep the FTDI part totally off those lines.

BTW, this is a Duemilanove w/ ATMEGA168.

I'm not understanding your instructions for #2. I'm assuming I at least have to connect the serial ground to the Arduino ground, right? Are there other connections needed?

For the sake of others I want to make sure that this is clear.

Take What is a Serial Port? as source of info...

Male connector: image attached

Pin Purpose Signal Name
1 Data Carrier Detect DCD
2 Received Data RxData
3 Transmitted Data TxData
4 Data Terminal Ready DTR
5 Signal Ground Gnd
6 Data Set Ready DSR
7 Request To Send RTS
8 Clear To Send CTS
9 Ring Indicator RI

I think you are suggesting this mapping:

Serial 2 -> Arduino D1
Serial 3 -> Arduino D0
Serial 5 -> Arduino Gnd

  1. Is that it?
  2. Will that allow me to both program and use Serial Monitor in the IDE?
    2a. If not, would using the ICSP header via Atmel STK500 be an option?

seriport.jpg

Hmm, let's back up a step - I was thinking you had an offboard USB/TTL Serial adapter, not a USB/RS232 Serial adapter.
DB9s like you pictured usually have RS232 levels on them, with Rx & Tx swinging from -10V to +10V - that will kill the arduino pins.

So, for 1, 2, you need to obtain the correct 0/5V signals.
Something like this
http://www.nkcelectronics.com/rs232-to-ttl-converter-board-33v232335.html
to interface with your USB/Serial cable

or any of the FTDI breakout board type modules would be more direct.
CP2102 modules are also easy to use - find one of the BAITE modules that has DTR broken out so you can use it software resets during downloads.
Plug in a USB/USB cable, and connect the TTL level signals to your board.

2a. Programming via ICSP header would work (via File:Upload Using Programmer), but not for serial monitor.

If you look at the Duemilanove schematic, you will see resistors between the FTDI chip and the 168 pins for D0, D1. If the FTDI chip is really fouled and interfering with serial operations, then removing those resistors is one way to isolate the FTDI chip. The other way is to cut the traces, or to remove the FTDI chip.

I'm sorry for the confusion. I DO in fact have the keyspan usb serial adapter so, yes it should be a level 5v, correct?

If I successfully use my keyspan to write to the board, I may purchase the FT232RL chip to replace the fried one.

So, back to the pin connecting question. Is my mapping above correct? I will give it a shot tonight if you say it is.

I appreciate your thoroughness about the RS232 levels. I think that information may save someone who may stumble upon this thread.

Put a meter on the Rx, Tx pins make sure they are sitting at 0, 5V and not +/-10 or so, if so you should be okay.
The other thing you might find is the levels are inverted - I interfaced to a box with TTL serial, but the output was inverted. Had to add an inverter to my design (just used an NPN transistor and a resistor). Took me several nights before I realized what it was.