5V at the USB port without connection to PC

When the Arduino Duemilanove is connected via USB to my PC and the board is externally powered at the same time, the PC cannot boot. I have measured the voltage at the fuse F1 and found +5V even if the PC is disconnected. That means the MOSFET NDT2955 is always switched on. This was noticed at my 4 Arduino boards. Two of them were built-in, but the others were never used before, only now for this check with a not-switched 9V wall power supply. The mesured voltage at the Gate of the MOSFET was 0V when USB was connected and 3.75V when only externally was powered. The labeling on the MOSFETs are 340 A. Was the NDT2955 replaced?

As the discussion in the German forum showed, this is strange.

I just had a look at two of my boards: Using 7.5V at the barrel connector closes the transistor reliably (15MOhm) When I go down below 7 Volts the regulator is no longer able to uphold the 5 volts, the system voltage goes down to to 4.7 volts and the transistor switches through.

This is as exspected, as the comparator sees Vin =(barrel voltage -0.6)/2 against 3.3 Volts. Having a very high load (500mA) your barrel voltage might fall below 7 volts..... It seems there isa grey zone between the the regulator working correctly and the comparator already giving up between 6.8 and 7.1 Volts

Thanks for the tests.
What is the labeling on your MOSFETs? Perhaps they have changed the transistor and nobody has noticed a misoperation up to now. But this is incredible. So many boards worldwide in action.

It is a RZY2955 on my boards (China made) note the number 2955 can also refer to a bipolar transistor, but this one is fine.

When you said 340A I became a little bit uneasy…
The only thing I find is an IRF340 … This however is a N-channel MOSFET, whereas the 2955 is a P-channel MOSFET…
Can you find out what is really on your board? Where did you get them from in the first place…

By means of a magnifying glass I have again looked on my four boards. All MOSFETs are labeled [ch8222]340 A[ch8220]. And their housing isn't a SOT-223 with one or two Drain pins. I don't know the type of package, it is 3.1 mm x 1.4 mm. On the backside of the two Arduinos which are [ch8222]free[ch8220] and never used before they have glued on a paper or plastic sticker. On the first is printed CM6865 and on the second CB1280. All my 4 boards were bought here: http://www.watterott.com/index.php?page=product&info=413&xab0df=m93u7ep77l28ik6jf0np4unl91 But the IRF340 is a N-channel Power MOSFET and comes in TO-3.

Do you have an idea how we can proceed? If I would exchange the 340A for a NDT2955 it would only be a half solution. And I am planning to build further on controller like this: http://www.david-laserscanner.com/forum/viewtopic.php?p=12366#p12366

It could be something like this http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=FDN340PTR-ND But that would work - I think....

I myself bought well working things through watterott... But he is a distributor only... @Laser scanner: Good work!

I remember you said you measured the typical 3.7 volts from the comparator output... Being P-MOS this means 1.3 Volts against (+); every MOSFET will close at that low gate voltage. And it is not really possible to solder an SMD transistor reverse...

Now I have exchanged the 340A for a DMOS transistor BS250. It was just lying around. And now it works. The only lack due to its relative high R-DS-on is that the 5V on the board is only 4.6V. But for my application the board is externally powered anyway. And then the 5V are really 5V. I will try to find a transistor with a lower on-resistance than the BS250. But not something in SMD. Do you know one?

By the way: A better controller than that one of the link above is completed. It has a connection via USB to receive motor impulses from the PC in synchronism with the captured camera frames.

Maybe you find something here? P-MOS is awkward.... It has to switch through at 4.5 volts! http://www.mikrocontroller.net/articles/MOSFET-%C3%9Cbersicht#P-Kanal_MOSFET

According to SMD Codebook Page 3 (useful site!), an SOT23 marked “340” should be a FDV340P, which is indeed a P-channel MOSFET, according to many web pages. But I can’t find an actual datasheet! (and no mention of “340A”)

See my posting #5.. And both should work... Or is the gate voltage situation (-1.3 volts to close it) to tight??

Thanks guys for your help. I will try to find a suitable FET for a replacement. Unfortunately the best suitable transistors are SMD or TO-220 and not like TO-92.

I have taken up the thought of deSilva and investigated the switching behaviour of the MOSFET ...340A. The Drain voltage was measured with respect to the applied Gate voltage. The Source pin was connected to +5V. Two measuring series were made. One with 100[ch937] load at the Drain to Gnd and the other without any load. With load: Gate voltage Drain voltage 4.36 0 4.11 0.55 4.08 1.07 4.04 2.12 4.01 3.14 3.6 4.96

Without a load: 4.68 0 4.43 1 4.18 4.99

This means that the MOSFET on the Arduino cannot switch off with a Gate voltage of 3.75V from the comparator LM3580. In the datasheets I found for the NDT2955 a Gate Threshold Voltage of typical -2.6V and for the FDN340P -0.9V. But it isn't clear that a FDN340 is on my board.

So this looks like an awkward design fault. They overdid in the strive for low gate voltage :-)

I just wonder why the comparator outputs those 3.75 volts rather than something closer to 5 Volt...


I see.. the LM358 is not a true rail-to-rail opamp. Is goes down to ground but not to Vcc.. Max input is Vcc -1,5 volts = around 3.5volts, which is than buffered by the voltage follower..... This works in combination with a "typical" logic level MOSFET but not with that super low gate voltage type.. As they say: "The better is the enemy of good " :-)

So another workaround would be to change to a pin compatible rail to rail dual opamp....

Now we have an official statement from Gianluca Martino, a member of the five-headed Arduino team.

I had written this request to the Arduino Blog:

[ch8222]Since the Arduino Duemilanove is equipped with a (FDN)340 instead of the original MOSFET NDT2955 the switching-off of the 5V isn[ch8217]t still working. See my posts: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284034373 I have noticed it at 5 boards, labeled: Made in Italy, designed by tinker.it[ch8220]

Gianluca Martino replied:

[ch8222]The power Switch is intended for switch the supply from one power source to another and not to remove the 5v from the USB port. This is necessary to keep the ftdi live for an insertion of the USB.[ch8220]

Let me sum up: The fact is, the precursors of the Duemilanove, the Diecimila Arduino and the NG Arduino were equipped with Power Jumpers: http://www.ladyada.net/learn/arduino/lesson0.html And it was necessary to set it in the right position by hand before starting.

The new Duemilanove has an automatism which should do this hand job for the user by switching a MOSFET. And the producer of the boards wouldn't had introduced it if it wouldn't be necessary. And as long as they have used the NDT2955 all was working perfect. But now with the FDN340 it doesn't work! And we know the reason why. Then it would have been cheaper to substitute the MOSFET by a simple wire bridge.

It would be interesting to know the opinion of the hardware specialists of this forum regarding the statement of Gianluca Martino. And of course of mine.

Needless to say, I second your statement and I can feel with your troubles.

In one of my standalone versions the supply has to be external, as also higher voltages are involved. When connecting to a PC the 5V logic becomes activated but not the rest of the system. This had led to problems, as it is sometimes forgotten to switch the mains on, as it seems to work, though with unclear limitations. To prevent extra indications and checks I have used the (alas I have to say: better designed) Seeeduino boards. But it seems their newer versions also sport auto-power selection (?)

Nevertheless - to my limited understanding - the use of a very low voltage MOSFET without changing the comparator to a rail-to-rail type is a mis-design. I am very unhappy about the reaction from the Arduino team....


please be patient and let Gianluca time to answer this thread, we are all working around the clock for the official presentation in NYC on September 23rd.

That is why I wrote an answer quoting Gianluca the other day.

As mentioned, more news to come on this topic, please stay tuned.


Hi All, Sorry for the long time. - The mos is an FDN340P. It replaced the NDT2955 in order to benefit of its lower Rdson (110mOhm) at an lower Vgs (-2.5V), in order to work better with a non rail to rail OpAm Will do some test today and show up with results tomorrow.

Thank you for pointing this out. Please send me any suggestion or special request about this in order to fix it as soon as possible,

Ciao Gianluca

Please send me any suggestion or special request about this in order to fix it as soon as possible,

Thank you, Gianluca - but we have already. A very low voltage P-MOSFET will in fact NOT work better with a non-rail to rail comparator. As the current comparator will never exceed 3.7V the FET MUST close at -1.3V which the new one does not!

I'm seeing a similar issue in the opposite direction. When connected to USB I am seeing voltage on Vin.

When only connected to USB, I measured measure 5.06V on the 5V pin. The Vin pin measured 4.54v. This happens on the Uno and my 2009-board. An older Diecimila I have laying around (that uses the jumper pins instead of auto-switch) does not have the problem.