Optical Photography: ArduMeter Light Meter
A generic LDR is terrible for photography because it is non-linear and not calibrated to human-eye wavelengths. Professional cameras require pristine exposure calculation. The ArduMeter Light Meter utilizes the highly advanced BH1750 or TSL2591 digital optical sensors to capture mathematically perfect ambient Lux values, translating them into the foundational "Exposure Value (EV)" required by manual film photographers.

The Physics of Digital Lux Sensing (BH1750)
The BH1750 FVI I2C Sensor acts as your hyper-accurate digital eye.
- It does not output a rough analog number (
0-1023); its onboard processor outputs an exact decimal Lux value (e.g.,54,000 Luxfor bright sunlight). - It has an integrated spectral filter that algorithmically ignores infrared and ultraviolet light, perfectly duplicating the sensitivity curve of human eyeballs and chemical film stocks!
Calculating the Exposure Value (EV) Triangle
Once the Arduino has the total ambient Lux, it must solve an intense physics equation inside the C++ code.
- The photographer sets the ISO (Film Speed) to 400 using a rotary encoder dial.
- The Arduino calculates the Exposure Value:
float EV = log2((Lux * ISO) / 330); - With the EV established, the code locks one variable (e.g., Aperture priority:
f/2.8). - It performs the final mathematical solve to find the missing variable: Shutter Speed.
Shutter = (Aperture * Aperture) / pow(2, EV); - The OLED display illuminates:
ISO 400 | f/2.8 | 1/500 sec. The photographer dials those exact settings into their manual Leica camera, completely bypassing expensive vintage light meters!
Precision Optics Hardware
- Arduino Pro Mini or ESP32 (Compact processing).
- BH1750 or TSL2591 I2C Ambient Light Sensor (Must be covered in a translucent white "Ping Pong ball" half-dome to properly diffuse incident light!).
- SSD1306 0.96" I2C OLED Screen for crisp reading in bright sunlight.
- Rotary Encoder (EC11) to quickly dial menu settings.
- LiPo Battery and Charger.