BPW21r for a very fast lux meter

I want to be able to create a very fast light meter (1/1000th of a sec to 1/60th sec)
to catch the upslope of a flash of light, or to catch the intensity of light after triggering a flash.

The heart of the circuit is the BPW21r photodiode.
I believe there would need to be variable gain Op-amp
and a SPI A/D converter (I think the ti-ads1210 might be able to sample at > 1K sps).

There is a circuit here

but the site is german, though the last circuit diagram looks like the correct one(though its a different A/D converter). The MCP3421 can only sample at 240sps.

My electronics is very poor, would this be a suitable circuit, or is there another that might work.

1/1000th of a second is not fast, photodiodes are much quicker than that. That first circuit
is a simple current->voltage converter, the opamp keeps the voltage across the diode
zero, while passing its photocurrent through a 10k resistor, just generating 1V out per
100uA of photo-current. The rest of the circuit generates virtual ground (plus decoupling).

The last circuit adds a relay to switch the gain-setting resistor, and has a differential
ADC to measure the output.

For faster sampling you'll need to identify an ADC with differential inputs that's fast enough,
and consider the resolution needed (hint stick to 12 bits or less and faster devices are
much more plentiful). You can add more relays and gain setting resistors if you want.

Another approach to handling a wide gain range is to use an op-amp logarithmic amplifier
and undoing the logarithm in software.

Thanks for responding and thanks for looking at those circuits.

Yes 1/1000s is slow by electronic terms. I think here though the rate-limiting-step is the speed of the ADC.
The suggestion of a logarithmic op-amp is a good one and thanks, not even knowing they existed, I wouldn't have discovered one by accident I expect.

So how do I use this circuit to do the dual functions I need to be able to do:

  1. Trigger a pulse of light (by the arduino) and capture its intensity at fixed "integration" times 1/1000,1/500, 1/250,1/125,1/60 (the shutter speeds of my camera)? I am guessing that the correct way to do this would be to have the diode and opamp running prior to the trigger, or continuously running, and then tell the ADC (I2c or SPI) to sample for the specified duration? I don't know that much about ADC's so I'm not sure this is possible.
  2. Trigger from a flash of light to catch the light for the above timeframe? This Would probably involve some sort of threshold reading that would start the sampling process. I am guessing the arduino is too slow to do this function, unless an interupt is involved, but even then may be too slow?