Charging Neo Freerunner via USB port

Michael Shiloh michael at openmoko.org
Fri Apr 18 21:24:05 CEST 2008



Andy Powell wrote:
> On Friday 18 April 2008 18:34, Michael Shiloh wrote:
>> 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:
>>
>  :)

I'm being honest. I really do appreciate 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.
> 
> It might seem like a dumb question, the the charger provided can source 1Amp, 
> right? :)

Not a dumb question at all. I do say this further down, but perhaps 
should elevate it.


> 
>> 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.)
> 
> 
> On the GTA01 you can press AUX as you power up to get the boot menu. On mine I 
> have added an option to start fast (500ma) charging and power off the 
> backlight. This means I don't need to have enough power to do a full boot to 
> get the device charging.  Perhaps an option for slow (100ma) charging that 
> turns the backlight off would be useful - although it would probably need to 
> have a few tests run to see if it was actually helping any.
> 

Sounds like a good plan.


> 
> 
>> 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.
> 
> 
> I presume that if I accidentally plug in <insert device that charges via usb 
> here> it would simply charge at 100ma?

Exactly, but only if you shutdown after plugging in.


> 
> 
>> 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.
> 
> Do you have any information on how long each takes to fully charge the battery 
> (excepting of course the 100ma option unless the stuff I mentioned above 
> works)?

None yet, I'm afraid. Once I catch up I was hoping to do some measuring 
of charge and discharge rates.


> 
>> 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.
> 
> 
> I assume OM don't want to go anywhere near the software that overrides this 
> for legal reasons and that it'll always be something a user has to 
> deliberately add themselves?

I expect you are right (but I'm not a lawyer...)


> 
> 
>> 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.
> 
> 
> How long is this period are we talking weeks,months or years?

I'll let Werner respond here (or someone else who knows), but I suspect 
this is about the same amount of time required to leave a GTA01 sitting 
unpowered before charging a dead battery. I seem to recall that 
overnight is sufficient.


> 
> 
>> 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.
>>
> 
> 
> Can the Freerunner operate at all without a battery - ie solely from a usb (pc 
> or plug in the wall) charger?
> 

Yes! This was a design goal and I myself have observed it.

Michael




More information about the community mailing list