Charging Neo Freerunner via USB port

Andy Powell openmoko at
Fri Apr 18 20:22:59 CEST 2008

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:

> 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? :)

> 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.

> 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?

> 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 

> 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?

> 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?

> 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?


Andy / ScaredyCat

More information about the community mailing list