In 2018 a1ex at Magic Lantern took Jim's original Z7 sensor readout method (before Jim switched to using an analog oscilloscope) and applied it to measure various Canon bodies. For higher precision and easier reproducibility, a1ex cycled an LED on an Arduino board, whose frequency can be carefully controlled. He chose 500 Hz (1000 toggles/second). This frequency is convenient because it creates a simple 1ms per-band relationship. He photographs the LED with the camera being tested, then runs the resulting photo through a Matlab script he wrote that automatically calculates the number of bands captured on the image, from which the readout rate can be calculated.
I've applied a1ex method to retest some other bodies. I'm not able to fill the entire image with the small LED on my Arduino so I instead calculate the number of bands manually from a single band I can fit onto the image, then divide that by the image height to extrapolate the full-image band count. This manual method has the benefit of accurately handling partial-band remainders, which is important for very fast stacked sensors.
Here is the method applied on the Nikon Z9. I use a fast shutter speed (1/2000) to get clear delineation from the bands.
Nikon Z9 full sensor readout using an Arduino LED flashing at 500 Hz
Note that I measure a full band (dark+light), which is necessary to account for the asymmetrical illumination from an LED being power on vs off (ie, LED turns on immediately but fades when powered off - I guess; I'm no expert on LEDs
Here are a few other measurements I've done so far:
Z6 JPG (ie, 12-bit raw):
Band Height = 333. 4024/333 = 12.08408408408408, * 2 = 24.16ms
1000/24.16 = 1/41.37 (shutter speed parlance)
Z6 14-bit raw:
Band Height = 171, 4024/171 = 23.53216374269006, * 2 = 47.06ms
1000/47.06 = 1/21.24 (shutter speed parlance)
Sony ZV1 raw (should apply to all of the Sony 1" stacked sensor cameras):
Band Height = 948, 3648/948 = 3.848101265822785, *2 = 7.69ms
1000/7.69 = 1/129.93 (shutter speed parlance)
I've applied a1ex method to retest some other bodies. I'm not able to fill the entire image with the small LED on my Arduino so I instead calculate the number of bands manually from a single band I can fit onto the image, then divide that by the image height to extrapolate the full-image band count. This manual method has the benefit of accurately handling partial-band remainders, which is important for very fast stacked sensors.
Here is the method applied on the Nikon Z9. I use a fast shutter speed (1/2000) to get clear delineation from the bands.
Nikon Z9 full sensor readout using an Arduino LED flashing at 500 Hz
Note that I measure a full band (dark+light), which is necessary to account for the asymmetrical illumination from an LED being power on vs off (ie, LED turns on immediately but fades when powered off - I guess; I'm no expert on LEDs
Here are a few other measurements I've done so far:
Z6 JPG (ie, 12-bit raw):
Band Height = 333. 4024/333 = 12.08408408408408, * 2 = 24.16ms
1000/24.16 = 1/41.37 (shutter speed parlance)
Z6 14-bit raw:
Band Height = 171, 4024/171 = 23.53216374269006, * 2 = 47.06ms
1000/47.06 = 1/21.24 (shutter speed parlance)
Sony ZV1 raw (should apply to all of the Sony 1" stacked sensor cameras):
Band Height = 948, 3648/948 = 3.848101265822785, *2 = 7.69ms
1000/7.69 = 1/129.93 (shutter speed parlance)
Attachments
Last edited: