N900 Hardware Flash Torch

[edit] Hardware

The flash torch on the N900 is built from 2 high efficiency white power LEDs (type unknown), plus a ADP1653 two LED flash controller, which has several modes. It can flash brightly for a maximum of 0.5 s, with an LED current of no more than 320 mA, or be in torch mode for arbitrary duration, at a current of no more than 50 mA. Tests have not shown any deterioration of flash LEDs (brightness or color) during several hours of continuous torch mode.

Exceeding these values however will probably cause irreversible hardware damage. Take care when accessing ADP1653 directly to program the current limits! While range of values for indicator LED is 2.5mA to 17.5mA and thus probably relatively safe, the current settings for torch mode range from 50mA to 200mA(!), and for flash mode from 215mA to 500mA, while internal watchdog does not limit duration for torch mode and can be set to durations of up to 820ms for flash mode.

The brightness of the LED in flashlight mode is approximately 20 lux at 1 m at the brightest spot in the beam.

It also contains a red indicator light, to indicate video is being recorded. PR1.2 genuine camera in nightmode also uses red LED to indicate photo shots.

[edit] Software

(See kernel source ./arch/arm/mach-omap2/board-rx51-camera.c for details)

The controls of the device are apparently presented as video4linux ioctls related to the main camera device - /dev/video0 usually, and should show up in a suitable 'webcam' type viewer that can show arbitrary video4linux controls.

The driver is in drivers/media/video/adp1653.c

This is used by the built-in camera application, and a third party flashlight application, as well as being controllable by a live focus application which can also control the LEDs.