Wednesday, March 27, 2013

RK3066 Measy U2C stick power consumption


Today I've done an experiment I was curious about: measuring my Measy U2C's (RK3066 CPU) real power consumption.


Setup





      My current setup is the above Measy U2C powered (to the DC-5V Micro USB) by an HTC phone's USB power adapter (rated 5V 1A) connected to the DC-5V Micro USB port, through a breakout USB cable that allows me to place a multimeter in series (for current measurement) or in parallel (voltage).


The power consumers:

- The Measy U2C RK3066 stick running Picuntu Linux 0.9 RC3 (Xubuntu 12.10 Quantal Quetzal)
- A Logitech K400 wireless keyboard+mouse with its USB dongle in the USB 2.0 port
- A TP-Link TL-WN422G 802.11g WiFi stick in the side Micro USB
- An Acer X233H FullHD monitor to the HDMI connector



The variables:

- The stick is running Linux from a Samsung 32 GB Class 10 MicroSD
- RK3066 idle means just logged in XFCE with only conky running
- At idle the CPUs run at 252 MHz all the time ("ondemand" governor)
- RK3066 load means two threads at 100% CPU usage [1]
- For some reason my stick's CPUs won't go beyond 1.2 GHz at full load
- Picuntu kernel's DDR memory frequency is set at 300 MHz (below my stick's DDR3 chips' specs)
- Internal WiFi+BT, webcam, micro, and AV Out are not working from Linux (YET!)



Raw Measurements


- Current (in Amperes):

RK3066 idle = 0.24 A
RK3066 load = 0.5 A
RK3066 idle + HDMI connected (720p) = 0.29 A
RK3066 idle + TP-Link WiFi = 0.41 A
RK3066 idle + Logitech K400 = 0.28 A
RK3066 idle + TP-Link WiFi + Logitech K400 = 0.45 A
RK3066 idle + TP-Link WiFi + HDMI connected (720p) = 0.47 A
RK3066 idle + TP-Link WiFi + Logitech K400 + HDMI connected (720p) = 0.5 A
RK3066 load + TP-Link WiFi + Logitech K400 + HDMI connected (720p) = 0.75 A
RK3066 suspend = 0.13 A

- Voltage (in Volts):

In open circuit configuration (unconnected) = 4.77V
With RK3066 idle + WiFi + K400 + HDMI = 4.58 V
With RK3066 load + WiFi + K400 + HDMI = 4.52 V

Not the best in the world, eh.


Conclusions


So basically a bare idle RK3066 stick consumes approx. 0.24 A x 4.58 V = 1.1 Watts
Whereas at full load it goes up to 0.5 A x 4.52 V = 2.26 Watts

Now, with Ubuntu running on the RK3066, this is a low power PC!



ANDROID UPDATE:
Android on and idle (no screen, wifi on but no link) is also 0.24A (1.1 Watts).

Worrying fact:
Android power-off: turning off the stick with the SW power button in the Android status bar (Bob Finless 1.4 ROM) does turn the stick off (must re-plug power to turn on), HOWEVER consumption is 0.47Amps (>2 Watts!!!!). Hence, that feature is heavily broken, likely leaving the CPU at 100% usage.
Using the power-off button on the Measy's side, consumption comes down to 0.24A (CPU on but idle, and screen off), unacceptable, but better.

Linux Picuntu power-off: (apply "XFCE Shutdown button just restarts the stick") the stick also apparently turns off, upon clicking on shutdown, and Linux kernel is brought down, HOWEVER consumption stays then at 0.28 Amps  (1.3W), likely leaving the CPU idle but on.
So the Linux situation is less bad than Android's, but it's clear the Rockchip kernel code is bugged since the RK3066 is not really turned off (TODO: skim through the PM chip's code).



References


[1] http://stackoverflow.com/questions/2925606/how-to-create-a-cpu-spike-with-a-bash-command

No comments:

Post a Comment