Polyfuses explained

From eLinux.org
Jump to: navigation, search

A "polyfuse" is a fuse made from a polymer. It is a fuse that after it has "blown" will self heal; that is after several days, it will (almost) behave as if nothing has happened.

The USB specifications say that all USB ports must be protected, but the protection may not be permanent, that is may not require human intervention to recover. There are two ways to do that. The first is to use a polyfuse, and the second is to use a chip, called a current monitor and protection chip. The latter is quite expensive so the RPI uses polyfuses.

There are three polyfuses in a RPI. One is used to protect the whole board; this one is rated 1.1 Amperes, and is the device marked "F3" on the back of the board. There are also two smaller polyfuses, one to protect each USB port. These have a very low rating of just 140mA.

A polyfuse "blows", just like any regular fuse, because there is running so much current through it that it heats up. In a regular fuse that means so much current causes a thin wire to simply melt; in a polyfuse it means that a small piece of conductive (polymer) plastic gets so hot that suddenly its resistance increases dramatically, so that it gets hotter still, and things escalate to a point that the resistance goes so high that most of the current stops flowing. After the current is turned off, a long time after the fuse has cooled down the fuse slowly regains it original state and in the end becomes conductive again.

With the USB polyfuses something special is going on, because these are designed to "blow" very quickly, with just a few 100mA. Because they blow with very low currents does not mean they need less energy (heat) to blow. Therefore they need more voltage across the fuse itself, as P = V x I (Power equals voltage times current). If they need more voltage across them, it means that with the same current running through them they need to have more resistance (V = I x R). Voltage equals current times resistance (yes, Ohms law). Thus it means that the lower the "blow current" (given the same mechanical size of the fuse) the fuse needs to have more resistance, so much resistance in fact that for normal currents the resistance becomes noticeable.

If a regular current of something like 100mA runs through it the voltage across the fuse can be something like half a volt. This means that the USB device gets half a volt less, so if the board gets 5.0 Volt, the USB device (when it uses 100mA) gets just 4.5 Volt. Normal 5V logic will not work reliably, as it can tolerate no more than 5% undervoltage (0.25V), so at less than 4.75 Volts the device is being operated below design. Luckily the USB specification orders the manufactures of simple USB devices, such as keyboards and mice, devices that typically work behind a passive HUB (that gets its power from the computer, not from a separate PSU) that they should design their device so that it can work with the voltage behind a hub. Now it so happens that the design of such a passive HUB describes that the 5V should pass through a diode, so that devices connected to such a hub cannot feed back energy back into the PC, which can happen if they are USB devices with their own power supply.

So elementary USB devices, so called "single current unit devices", where "1 current unit = 100mA", are required to still work if their power voltage is one diode drop (0.6 Volt typically) lower than 5V. That means keyboards and mice should still work when they only get 4.4 Volt, not the normal 4.75 Volt!

This is ONLY true for these devices, NOT for devices like sound cards, or WiFi adapters or external hard drives, that can use up to 5 current units (or 500mA); these may require 4.75 Volt to operate.

Coincidentally this means that these low power devices also work with the voltage available behind a USB polyfuse, which is typically 4.5 Volt, as we saw before, but other devices need 4.75 Volt, and therefore won't work with 4.5 Volt. Powered hubs work with 4.5 Volt, because they do not use that voltage for their own power. However, many powered hubs have their input 5V line connected to their own 5V from the PSU, so that they could also work from the power given by a PC. This can cause problems as the hub might (try to) feed the PC, but due to the polyfuses, fail. Other hubs (more strictly designed according to USB specifications) do not connect the 5V from their input cable, but might "look at it", and only turn themselves on if they see it, so that they are off when the PC is off, to conserve energy.

The choice of these high resistance polyfuses has been the cause of many problems, because many people do use the PI for something other than its intended purpose, that is only with a wired keyboard and a mouse, they try to connect WiFi adapters and such, which may fail.

If a polyfuse has been triggered ("blown"), its resistance can increase so much (and for several days) that even 4.5 volt isn't reached, and the keyboard only gets say 3.5 Volt. The device will likely fail, by e.g., start repeating keys, etc.

The main power input fuse is much less problematic, but it too can misbehave in similar way. Especially if for whatever reason it has gotten hot, such as prolonged soldering to it. So do not heat any of the polyfuses unnecessarily, but cooling them down also doesn't do any permanent good. It is not how cool the polyfuses are that helps them recover, as it is a chemical process, not a mechanical process. Letting them have a rest in a cool place might help a "bad" polyfuse recover, but if they get hot again, the effect is undone again.

Some people who insist on using unsuitable USB devices on their RPi have thought of shorting the polyfuse, a process nicknamed a PiPass after a "bypass operation". Simply bridging the fuse will lead to another problem. The RPi will reset when you connect a USB device. The correct solution is to leave a little bit of resistance in place, say 0.5 or 1 Ohm. Soldering a 1 Ohm resistor over the offending USB polyfuse will usually fix the voltage drop problem.

As of the end of August 2012 some users were reporting that newly arrived RPi boards were fitted with 0 Ohm resistors for the USB polyfuses F1 & F2, and Liz of the RPi Foundation confirmed that it was official RPF policy to remove the offending fuses. However F3 still limits the total input current to about 1A.