FTDI 3.3V breakout getting very hot with custom ATmega328 circuit!

I’ve been working on a personal project for a little while where I wanted to use an SMD ATmega328P clocked at 8Mhz, running at 3.3V, to control some LEDs (through a ULN2003 array).

I burned the “Arduino Pro Mini (3.3V, 8mhz) w/ ATmega328” bootloader onto the chip using a small TFQP breakout board I had (an ExtraCore with caps, resistor and resonator attached). I used an Arduino Duemilanova with ArduinoISP loaded on it, and it seemed to work fine (no errors came up in the console, RX/TX lights flashed, took about 30 seconds).

I soldered the ATmega328 and 8mhz resonator onto my circuit board, then connected my 3.3V FTDI Basic breakout to the FTDI interface. Immediately the RX/TX went solid and the FTDI chip started getting really, really hot. Without connecting the FTDI Basic to the board, I have a new COM port in Arduino, but as soon as I connect it to the board, that COM port is dropped.

Can someone please look over my schematic to see if I made some obvious n00b error? What could be causing this behavior, and what can I do about it?

I can post the PCB design as well, if that helps

It’s not clear to me how you are powering the board. You have a 3.3vdc on-board regulator that takes a +5vdc input voltage, where is the +5vdc coming from? If the intent to power the board with just the 3.3vdc coming from the FTDI I don’t think it can provide enough current to power the board, and will run too hot trying to carry that load current. I think your solution is to not wire anything to the 3.3vdc connection on the FTDI breakout and provide +5vdc to the on-board 3.3vdc regulator.

Lefty

Good point - I am powering the board through an external DC barrel jack hooked up to a 5V power supply. Alligator clips are used to connect the barrel jack to the 2-pin Molex terminal for now, but Molex housing will be used later.

Currently, only the 3.3V regulator (with caps), ATmega328 and resonator, and ULN2003 are soldered to the board. I’d expect current draw to be very low because of this, but maybe I’m underestimating it all.

To test your idea, I used M-F jumper wires to connect all the FTDI pins except 3.3V to the board, then tried to upload a sketch. No communication. I then tried to power the board with the external 5V, but the same thing happened.

My understanding was that the FTDI interface could power the core for programming purposes, which is what the 3.3V line is for. I didn’t think I had to power my board externally while programming over FTDI.

I’ve attached a couple of photos of the PCB set up - maybe something looks out of place?

I’ve also attached an image of the PCB from Eagle, to see if anyone can spot an obvious routing or layout error.

Not sure what you might have done, but the 3.3vdc maximum current rating for the built in 3.3vdc regulator inside the FTDI chip is like 40 or 50ma only and if the chip got hot I suspect you over amped the FTDI chip. Try running the loop back test just on the FTDI basic module by itself while not wired to your 328 board.

Lefty

Just so I'm sure, the loop back test you're referring to is using a wire to connect the FTDI Basic's TX and RX lines together (and nothing else), then sending a message to myself via the correct COM port. Is that about it?

h4t:
Just so I'm sure, the loop back test you're referring to is using a wire to connect the FTDI Basic's TX and RX lines together (and nothing else), then sending a message to myself via the correct COM port. Is that about it?

Correct, jumper send and rec signals on the ftdi, plug the ftdi usb into the pc, it should acknowledge the connection, open the IDE, select the proper com port number and then open the serial monitor. Anything you type in to send window and press send should be echoed back into the receive window of the monitor.

Lefty

Alright, just gave it a shot - it seems to echo perfectly fine. I type something, then hit "Send" and immediately see the message in the Serial Monitor. Seems like the FTDI Basic is still kicking.

Any ideas about what to check next?

h4t:
Alright, just gave it a shot - it seems to echo perfectly fine. I type something, then hit "Send" and immediately see the message in the Serial Monitor. Seems like the FTDI Basic is still kicking.

Any ideas about what to check next?

Good, so nothing was getting hot on the FTDI module?

Next I guess is wire to your processor board, but don't wire the ftdi's 3.3vdc pin to anything and then power your board with some other proper external DC voltage source. Then see if the FTDI 'drops out thing' doesn't happen. If that is all good try and upload a sketch. Are you using the FTDI's DTR signal through a series .1ufd cap to the chips reset pin to enable the auto-reset the arduino IDE uses to upload sketches?

Lefty

Yep, the FTDI module did not get hot this time.

I only have the 5V barrel jack power supply at by bench, but I use it all the time for other projects.

I reconnected the FTDI via jumper wires to the FTDI interface of the board, except for the 3.3V pin. When I try to upload a sketch, it compiles, then goes to upload (the TX LED blinks on the FTDI Basic), but then it stalls. The RX light never blinks and I eventually get the following error:

avrdude: stk500_getsync(): not in sync: resp=0x00

Feeling around, nothing is getting hot on the board or the FTDI.

I definitely have a .1uF cap in series with the reset pin, as well as a 10k pullup resistor. Check out the schematic and PCB layout I posted above, maybe I don't have the routing right?

Check out the schematic and PCB layout I posted above, maybe I don’t have the routing right?

It’s a little hard to follow that schmatic but you may indeed have a mixup in the send and rec lines. The signal named TX on the FTDI wires to the arduino Rec pin and visa versa.

Compare your wiring to the older arduino board that also used a FTDI device:

Lefty

Dang, it was my intention to make the schematic easy to read - I have a much harder time reading rats nests like the one in the PDF you linked to. What can I do to improve it?

I tried swapping the RX/TX pins to my board and uploading a sketch, no dice.

Then I removed the external power and plugged in the 3.3V line again (with the RX/TX lines swapped). It worked :slight_smile:

Thank you so much for catching my error, I was not thinking about that at all!