FTDI and 3v3 pin current output

Hi everyone

I was driving two small DC motors with my Duemilanove through the external 9V power supply and the 3V3 pin when I noticed the Tx Rx lights blinking for no reason (USB was not connected). I shut it all off and it turned out the FTDI chip had become quite hot. I'd assume that's not normal behaviour.

Running a single motor worked just fine. So can the 3v3 only be used for small currents? If so how can I hook up my motors to use the external power supply and not damage the Arduino?

How much current do these motors draw? According to the spec page, the 3V3 supply can only provide 50mA.

The FTDI chip could have been damaged by a spike from the motor (unless you had a diode to protect against this.)

:o

The motors draw 500mA at full power. Luckily I had diodes in place to protect the Arduino, but why hasn't the FTDI chip burnt is beyond me. Not that I'm complaining :smiley:

What worries me though is this. The following is an excerpt from a Starter's Guide that came with my Arduino from Earthshine Electronics upon which I based my circuitry.

The digital pins on the Arduino give out a maximum of 40mA (milliamps). The 3V DC Motor requires around 500mA to operate at full speed and this is obviously too much for the Arduino. If we were to try to drive the motor directly from a pin on the Arduino serious and permanent damage could occur.
Therefore, we need to [ch64257]nd a way to supply it with a higher current. We therefore take power directly from the 3.3v pin on the board, which takes its power in turn from the DC regulator on the board which takes power from our 9v Power Supply. A DC regulator is
the larger black object next to the DC in jack and all it does is take the input voltage and reduce it down to 5v. It is good for 800mA of power, which is more than we need for our small DC motor

That quote is bizarre. 5V is not enough so we use 3.3V from the FT232??? That makes no sense.

The 3.3V output from the FT232 is definitely not meant to source any significant amount of current, certainly not enough to power a motor. I wouldn't be surprised if the FT232 is damaged or is going to start "acting funny" soon.

There are lots of examples for how to (safely!) control motors using external power supplies on the playground:

http://www.arduino.cc/playground/Main/InterfacingWithHardware#Physical_Mechanical

--
Check out our new shield: http://www.ruggedcircuits.com/html/gadget_shield.html

I think the idea behind that was not to exceed the 4.5 V max voltage for the motors.

Anyway, what about using the 5V pin for "high power" applications? What is the max output current there when using external power? (I can't seem to find it on the Duemilanove page)

Also, I'll notify the author of the kit about this so that other wannabe arduino fans don't destroy their boards

Anyway, what about using the 5V pin for "high power" applications? What is the max output current there when using external power? (I can't seem to find it on the Duemilanove page)

500mA if powering via USB, and ~800mA theoretically if powering via external power (but at this current, the regulator (and thus the board) will get VERY hot unless heatsinked.

(a) I suspect this is a typo, and a very bad one

We therefore take power directly from the 3.3v pin on the board, which takes its power in turn from the DC regulator on the board which takes power from our 9v Power Supply.

There is no 3.3 Regulator on the Arduino board, though on some shields.
The author MUST mean 5V here!!!

(b) 40 mA from an AVR pin.... dear, dear - can't this fairy tale stop somehow... What the datasheet wants to say is that you should not generate more than 100mW of heat per pin.

The inner resistance of an output pin is around 60 Ohms.

  • Connecting a 100 Ohms will result in 37mA flowing and the voltage drops down to 3,7 V (has to, as its 100 Ohms).
  • Connecting 50 Ohms results in 56 mA and the voltage drops down to 2.8 volts.
    If you like you can make a shortcut, resulting in 75 mA , which is a little bit high and the chip becomes warm (converting around 300mW into heat internally)

From the FT232RL datasheet:

3.3V output from integrated L.D.O. regulator. This pin should be decoupled to ground using a 100nF capacitor. The prime purpose of this pin is to provide the internal 3.3V supply to the USB transceiver cell and the internal 1.5k[ch937] pull up resistor on USBDP. Up to 50mA can be drawn from this pin to power external logic if required. This pin can also be used to supply the FT232R's VCCIO pin.

This is well known an not considered a "voltage regulator" - I still think it is a typo. One would not refer to the FTDI in such wording as the author above did.

In fact I do not understand the intention of the last two postings....

This is well known an not considered a "voltage regulator" - I still think it is a typo. One would not refer to the FTDI in such wording as the author above did.

Well the FTDI datasheet for the FT232R refers to it as a "3.3 Volt internal LDO Regulator" if their figure 2.1 block diagram drawing. Just beware of it's 50ma current limit: http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf

Lefty

For a discussion of how much current you can draw through the arduino's on board 5V regulator see:-
http://www.thebox.myzen.co.uk/Tutorial/Power_Examples.html