Charging Neo Freerunner via USB port

Paul Jimenez pj at place.org
Fri Apr 18 20:20:58 CEST 2008


Hi Michael,

   This is a good start, very informative.  Some good additions, I think,
would be: 

  * Why does computer/usb charging max out at 500mA? is that a
  limitation of the USB spec?

  * you mention 'other manufacturers' that 'identify their own chargers'
  with various resistors... if I have one of those chargers, is there a
  way to get the phone to ID it?

  * for hacking purposes it would be good to document what other mfrs
  chargers use and how easy they are to hack into moko fastchargers.
  This should be a wiki page and community driven, of course, but you
  could get it jump-started with whatever info you have on this issue.
  I, for one, have a small pile of motorola chargers with mini USB on
  them that I'm more than willing to hack into moko fastchargers given
  some basic instructions.

  * you/we should make the charging status *VERY APPARENT*. People are
  going to be unhappy if they plug it in and it doesn't charge when they
  think it will (consider the case of a cheapo usb hub that won't supply
  the power), but this can be avoided if the phone makes it obvious when
  it is or isn't charging.

Just my pair of pennies,

  --pj

On Friday, Apr 18, 2008, Michael Shiloh writes:
>Hi everyone,
>
>With input from the experts who designed the system, I've tried to 
>document precisely how charging works on the Neo Freerunner.
>
>I welcome your feedback:
>
>
>
>The Neo Freerunner charges the battery when 5VDC is provided at the USB
>port, whether from a computer USB port or from a dedicated USB charger.
>
>The Neo Freerunner can charge most rapidly when it can pull 1 Amp from 
>the power supply connected to the USB socket. However, not all chargers 
>or computers can provide this much current.
>
>When the Neo Freerunner detects that power has been provided at the USB 
>port, it will attempt to draw only 100mA. This minimum is mandated by 
>the USB standard. This amount of current is insufficient to both power 
>the Neo Freerunner (or even just its backlight) and to charge the 
>battery, and therefore the battery will not be charged. (The battery 
>discharge rate, however, will be slightly lower, as the supplied 100mA 
>will be used to augment the battery.)
>
>(When a charger is connected to the USB port, the Neo Freerunner 
>automatically powers up. Thus, if charging at 100mA is desired, the Neo 
>Freerunner must be shut down after the startup process has completed.)
>
>After detecting USB power, The Neo Freerunner will attempt to negotiate, 
>via the USB protocol, a higher charge rate of 500mA. If the device 
>powering the Neo is capable of doing so, the Neo Freerunner will charge 
>at 500mA.
>
>USB chargers do not implement the USB protocol, and thus can not respond
>to requests for higher charge rates. Some manufacturers have worked
>around this issue by installing resistors of different values between
>different pairs of pins in in order to "identify" their own chargers of 
>known capacity. This is not part of the USB standard and is completely 
>up to each manufacturer.
>
>The USB charger provided with the Neo Freerunner can source up to 1A. In
>order to identify this special charger, there is a 47K ohm resistor 
>between the ID pin and ground. If the Neo Freerunner detects this 
>resistor, then the Neo Freerunner will charge at 1A.
>
>In summary, the Neo can charge at 3 different rates: 100mA, 500mA, and 1A.
>
>Notes:
>
>1. USB negotiation and resistor detection is performed in software, and 
>is thus under developer control. A developer might write an application 
>to indicate that 500mA or 1 Amp are available, bypassing the USB 
>negotiation and the 47K ohm resistor detection.
>
>There is nothing  preventing the software from charging at a higher rate 
>than then power provider can supply, although there is danger in doing so.
>
>The danger in drawing more current than a charger or computer USB port
>can provide is that components overheat and may become permanently
>damaged, or even catch fire, although most USB host devices implement 
>current limits that will depower the port on overcurrent.
>
>2. The Neo Freerunner charger is a single assembly which includes
>the USB cable. The cable is NOT a separate item and can not be removed
>from the charger (without cutting).
>
>3. Any third-party charger that does not contain the 47K resistor will 
>cause the software to assume it can draw only 100mA, regardless of how 
>much current the charger really can source.
>
>4. In its hard-coded configuration, the PMU doesn't charge the battery
>at all. The hard-coded configuration is used when power is applied to 
>the PMU after a period of complete absence of power, including the 
>backup battery.
>
>When the system comes up, it reconfigures the PMU to enable charging. 
>Most of the configurable items are also preserved by the PMU if it 
>powers the system down, but the PMU itself still has power - either from 
>USB, main battery, or the backup battery. (This is the PMU's STANDBY mode.)
>
>5. All of this discussion is for setting the maximum current that the 
>Neo Freerunner can safely draw from the USB socket. The battery charging 
>current may actually be lower, if the charging logic determines that a 
>lower charge rate is appropriate.
>
>_______________________________________________
>Openmoko community mailing list
>community at lists.openmoko.org
>http://lists.openmoko.org/mailman/listinfo/community
>




More information about the community mailing list