Post

Tulip Stage A Initial Measurements

Tulip Stage A Initial Measurements

Headline numbers

  • Picture size: 2592×1944. 5 MP JPEG; every Stage A and later run saved at this size.
  • Sharpest edge width: 4.59 px. Flat target at 40 cm with autofocus, 10–90 % edge width. A truly sharp 5 MP image measures 2–3 px.
  • Stage A 100-cycle run: 100 of 100. One early run, saved at full size with no failure, unexpected reset or SD error. Camera and SD stayed powered (power was not switched); later switched-power runs lost cycles, see Reliability.
  • Sharp-sized frames, best recipes: 97 %. 25 cm, warm camera, autofocus right after the warm-up and 2 s in all (two recipes, about 35 cycles each).
  • Powered time per photo: 10.8 s. tl_cycle v12b on the board, no retake; Stage A took 25.9 s.
  • Mean JPEG size: 2.84 MB. Stage A indoor scene; 43,200 photos (one per minute for 30 days) would be about 123 GB.

Contents

Sharpness and focus

How sharp the photos are and how well autofocus holds. Edge width and the line-pair, checkerboard and small-text scores are direct measurements; JPEG size and the sharp-sized share are the proxy used on long runs.

Edge width by distance

Width of a measured edge in pixels, so smaller is sharper. A missing autofocus-off bar means the edge was too blurred to measure.

Edge width by distance

Table view
DistanceAutofocus on, pxAutofocus off, pxNote
15 cm4.95—No-autofocus frame too blurred to measure
40 cm4.597.08—
1.5 m6.166.14—
5 m5.886.34—
Far, outdoors5.165.17—

JPEG size against sharpness

Each dot is a photo scored with the line-pair test. The dashed lines mark the largest size seen for a blurred photo and the smallest seen for a sharp one, which is why file size can stand in for sharpness on long runs.

JPEG size against sharpness

Table view
PhotoRunRecipeJPEG, MBLine pairsCheckerSmall textClass
c373Overnight run 1No AF2.0958215169blurred
c4Overnight run 12 s2.1029718281blurred
c3Overnight run 13 s2.11510218880blurred
c298Overnight run 14 s2.12769782blurred
c1Overnight run 112 s2.13211321183blurred
c37Overnight run 1No AF2.1398615874blurred
c111Overnight run 15 s2.14714424471blurred
c356Overnight run 112 s2.16810421879blurred
c374Overnight run 112 s2.17311123972blurred
c11Overnight run 15 s2.193375541140partial
c130Overnight run 15 s2.2110819273blurred
c358Overnight run 13 s2.226281459114partial
c240Overnight run 13 s2.256352515134partial
c5Overnight run 12 s2.258741695271partial
c378Overnight run 12 s2.3071127755436sharp
c29Overnight run 112 s2.3291187784496sharp
N6 c2Night 61+1 s / 1+2 s2.1299183—blurred
N6 c100Night 61+1 s / 1+2 s2.1284153—blurred
New card c20Card check1+1 s2.357949739—sharp
T04_001v12b part b1+1 s2.356516664155not classed
T05_001v12b part c1+1 s2.347490663146not classed

Close-range autofocus recipes

Sharpness scores at close range for each autofocus recipe, from three test patterns. Higher is sharper. The table view has the verdict, JPEG size and powered time.

Close-range autofocus recipes

Table view
RecipePhotoWait, sPowered, sJPEG, MBLine pairsCheckerSmall textVerdictSharp cyclesCycles scored
AF at once 1+4 sT20_028517.42.311272930494sharp34
AF at once 1+2 sT20_022315.22.291071905393sharp44
AF at once 0.5+1.5 sT20_023214.12.26925878328sharp34
AF at once 0.5+0.5 sT20_024112.12.02516556blurred04
7 s, then AF 1+4 s (today)T20_0261223.32.07638364blurred23
2 s, then AF 1+4 sT20_027718.62.118516971blurred04
No AF, 2 sT20_025213.12.067915570blurred04

Frame sharpness class by recipe

How each autofocus recipe’s frames split into blurred-sized, partial and sharp-sized JPEGs during the first night run.

Frame sharpness class by recipe

Table view
IdRecipeWait, sBlurredPartialSharpFailedSharp, %Powered, s
0Today: 7 s, then AF 1+4 s12252818023.2
1AF at once 1+4 s5162908116.3
2AF at once 1+2 s30102056714.2
3AF at once 0.5+1.5 s2013229713.3
4AF at once 1+1 s2013319713.4
51+2 s, twice60181524517.1
60.5+1.5 s, twice42112206315.3
71 s, then AF 1+2 s40102417115.3
82 s, then AF 1+2 s50122306616.2
9No autofocus (control)235000012

Sharpness against powered time

Each circle is a recipe, labelled by its number. Further left costs less battery; higher gives more sharp-sized frames. The hollow circle is the control.

Sharpness against powered time

Table view
IdRecipeSharp, %Powered, sWait, s
0Today: 7 s, then AF 1+4 s8023.212
1AF at once 1+4 s8116.35
2AF at once 1+2 s6714.23
3AF at once 0.5+1.5 s9713.32
4AF at once 1+1 s9713.42
51+2 s, twice4517.16
60.5+1.5 s, twice6315.34
71 s, then AF 1+2 s7115.34
82 s, then AF 1+2 s6616.25
9No autofocus (control)0122

Blurred phase after a start

How long the camera keeps producing blurred-sized frames after a start. Faded bars were still blurred when the run ended, so the true length is longer.

Blurred phase after a start

Table view
RunInterval, sCyclesMinutesPhase ended
Overnight run 1, cold start252812yes
Night 6, cold start1812036yes
Night 7, after a 40 min rest18154.5yes
v12b smoke test and part a60170170no

Exposure and colour

Brightness, colour and how long the camera waits for exposure to settle before it shoots.

Powered time by settle window

The settle window is the pause before the shot so exposure and colour can stabilise. A longer window keeps the camera powered longer.

Powered time by settle window

Table view
WindowWindow, sPowered, sJPEG, MBBrightness, %RedGreenBlueSharpness, %
12 s1223.82.25401110
4 s415.92.252-0.90.9870.9960.9960.7
2 s213.72.237-0.30.9950.9971.004-2.3
1 s112.72.232-1.50.9530.9961.002-3.8
0.5 s0.512.42.271-3.40.8771.0071.0110.3

Colour channels by settle window

Each channel’s level relative to the longest window. Below the dashed line means weaker than at the longest window.

Colour channels by settle window

Table view
WindowRedGreenBlue
12 s111
4 s0.9870.9960.996
2 s0.9950.9971.004
1 s0.9530.9961.002
0.5 s0.8771.0071.011

Brightness and sharpness change

Percent change against the longest window, for each shorter window.

Brightness and sharpness change

Table view
WindowBrightness, %Sharpness, %
12 s00
4 s-0.90.7
2 s-0.3-2.3
1 s-1.5-3.8
0.5 s-3.40.3

Far-scene autofocus timing

Sharpness of the face, torso and a background pumpkin as a percentage of today’s recipe, for each autofocus timing tried. The table view has powered time and the red shift on the stone wall.

Far-scene autofocus timing

Table view
ConditionWait, sPowered, sFace, %Torso, %Pumpkin, %Red, %
7 s, then AF 1+4 s (today)1223.81001001000
2 s, then AF 1+4 s718.9100102100-1.1
AF at once 1+4 s516.7100100102-1.1
AF at once 1+2 s314.710010098-1.1
AF at once 0.5+1.5 s213.89910098-1.8
AF at once 0.5+0.5 s112.810110093-5.4
No AF, 2 s213.79910093-1.8

Measured image properties

Each property with what was measured, the evidence for it and the project note it came from.

PropertyMeasuredEvidenceSource
Output size2592×1944 (5 MP) JPEGverifiedstage-a-findings
Sharpest edge (10–90 % width)4.59 px at 40 cm with autofocus; a truly sharp 5 MP image is 2–3 px, so roughly half the linear detailverifiedstage-a-findings
NoiseLow in good light; grainy in evening room lightverifiedstage-a-findings
Highlight clipping15–16 % of the frame pure white (bright windows, sky); EV −2 only lowers that to about 14 %verifiedstage-a-findings
Exposure controlAutomatic exposure beat every manual setting in low light; manual saturates between 2,000 and 8,000 lines; gain 240 stayed darker than auto at duskverifiedstage-a-findings
EV compensationAbout 10–15 brightness levels per step in steady light; settings reset on every photoverifiedstage-a-findings
Evening room lightDark, green in the middle, purple/pink in the corners, grainy (subject at about 1 m)verified; fails the charter bar for room scenesstage-a-findings
Colour settlingRed channel about 5 % low after 1 s and 12 % low after 0.5 s; indistinguishable from 12 s at 2 sverified (one frame per window)settle-window-sweep
Autofocus rangeEssential under about 1 m; little or no difference beyond about 1.5 m (the lens rests near far focus)verifiedstage-a-findings
Field of view on focusSharp frames are shifted 12 px (0.5 % of the width) sideways compared with blurred onesinference (likely lens movement)settle-window-sweep
Wrong picture sizeAfter a power cycle the camera can return 1600×1200 (about 0.9 MB) instead of full size; a retry fixed it every timeverifiedstage-a-findings
Truncated JPEGReported length normal but no end marker: 3.2 % of cycles in the first overnight run, 14 % in the A/B night, up to 34 % of first attempts in the late v12b sessionverified; cause opensettle-window-sweep, v12b-hardware-results
Camera SPI clock8 MHz maximum (manufacturer specification)documentedsettle-window-sweep
Night scenesOut of scope; dark frames averaged about 2 of 255 in brightness and held no usable edgesverifiedstage-a-findings

Timing and powered time

How long the camera stays powered for each photo, and where that time goes.

Powered time along the optimisation path

Powered seconds per photo at each step. Faded bars are estimates rather than hardware measurements.

Powered time along the optimisation path

Table view
StepPowered, sRange, sBasis
Stage A: tl_cycle v2, AF on, 12 s window25.922.7–27.0measured (100 cycles)
Window sweep baseline: 12 s window, AF off23.8—measured (5 cycles)
2 s window, AF off, library read13.7—measured (5 cycles)
2 s window, burst read, 32 KB, SD 16 MHz, with read-back12.5—measured (6 cycles); read-back costs about 3.2 s
Same path without read-back9.3—estimate from log timestamps
tl_cycle v12b on the board, 60 s interval, no retake10.810.4–11.1measured (459 cycles)
tl_cycle v12b with one retake—19.3–21.4measured; +8.7 s per retake

Where the powered seconds go

Start-up, settle window, transfer to the SD card and everything else, for each configuration.

Where the powered seconds go

Table view
ConfigurationStart-up, sWindow, sTransfer, sOther, sTotal, sBasis
tl_cycle v11 (today)1.2127.40.621.2split estimated from code and logs; measured total 21.0 s
Best path tested (estimate)0.825.90.69.3estimate from log timestamps; SD 16 MHz, no read-back

Transfer path timing

Time to move one photo from the camera to the SD card for each data path, split into camera read, SD write and everything else.

Transfer path timing

Table view
PathCamera, msSD, msOther, msTransfer, msPowered, s
Library read, 8 KB, SD 8 MHz (today)438051005661004618
Library read, 8 KB, SD 16 MHz43653816565874615.4
Burst read, 8 KB, SD 8 MHz22795083371773315.7
Burst read, 32 KB, SD 8 MHz22734553368719415.2
Burst read, 32 KB, SD 16 MHz22733239367587912.5

Start-up times by SD card

Milliseconds after power-on until the SD card is ready, the camera is ready and the first full-size frame arrives.

Start-up times by SD card

Table view
CardSD ready, msCamera ready, msFirst frame, ms
16 GB card452705830
128 GB card557809—

Measured stage timings

Timings for individual stages of a capture cycle, with the project note each came from.

StageValueSource
SD card ready after power-on450 ms (16 GB card), 557 ms (128 GB card)stage-a-findings, settle-window-sweep
Camera ready after power-on700 ms (16 GB card), 809 ms (128 GB card)stage-a-findings, settle-window-sweep
First full-size warm-up frameabout 830 ms after power-on (16 GB card)stage-a-findings
Settle window (warm-up to photo)12 s in tl_cycle v11; 2 s in v12bsettle-window-sweep, tl-cycle-12-draft
Capture callmedian 105 ms in good cycles, 89 ms in failed ones (night run 6)settle-window-sweep
Camera to controller read, 2.15 MB4.38 s with the library; 2.27 s with burst reads (0.94 MB/s)settle-window-sweep
Write to SD, 2.15 MB5.1 s (8 MHz, 8 KB writes) down to 3.2 s (16 MHz, 32 KB writes); 4.7 s median on the 128 GB card at 8 MHzsettle-window-sweep
Wake to power-off, whole photo25.9 s in Stage A; 10.8 s in v12b (no retake)stage-a-findings, v12b-hardware-results
Cost of one retake+8.7 s powered per retaken photo in v12b (+1.3 s for the earlier wrong-size retry)v12b-hardware-results, stage-a-findings

File size and storage

How big the photos are and what a long run needs from the card.

JPEG size by scene

Smallest to largest file seen in each scene. The tick marks the mean or typical size.

JPEG size by scene

Table view
SceneSmallest, MBLargest, MBTypical, MBNote
Dark spot, 100-cycle run (session 14)0.490.84—Mean brightness about 2 of 255
Dark spot, 15 cm (sessions 10–12)0.70.84—AF and no-AF about 0.79 vs 0.80 MB
Wrong default size 1600×12000.90.90.9About 0.9 MB
Bright room scene (v11 baseline)1.541.671.62Cycles 7 to 10
25 cm focus page, blurred frames2.032.18—Night runs and v12b
Two studio lights, 15 cm (session 12)2.22.22.2About 2.2 MB
Window-sweep still life (window means)2.2322.271—25 cycles, good lighting
25 cm focus page, sharp frames2.282.37—Night runs, night 6 and the new card
Stage A indoor scene (100 cycles)2.1832.84Mean 2.84 MB

Storage for a long run

Gigabytes needed at several JPEG sizes, with dashed lines at the capacity of common cards. Solid bars use the measured Stage A mean; grey bars use sizes from the plan table.

Storage for a long run

Table view
JPEG, MBRun total, GBBasis
143plan table
286plan table
2.84123measured Stage A mean
3130plan table
4173plan table
5216plan table
CardCapacity, GB
256 GB (planned, not bought)256
128 GB (in use)128
16 GB (original)16

Reliability

Truncated files, retakes, wrong-size captures and SD read-back failures.

Photo outcomes in the latest firmware build

Each session’s photos split into good on the first try, good after a retake, and failed. The table view has the retake rate.

Photo outcomes in the latest firmware build

Table view
SessionCyclesFirst tryRescuedFailedRetake, %Battery low, mVBattery high, mV
2 (smoke test)202000040044024
3 (part a)15015000040164084
4 (part b)15013314311.340764140
5 (part c)13992311633.841324188

Retakes through the late session

Retaken photos per block of cycles, to show whether retakes cluster late in a session.

Retakes through the late session

Table view
CyclesCycles in blockRetakes
1–30304
31–603012
61–903011
91–1203011
121–139199

Truncated JPEGs through the A/B night

Truncated files per block of cycles across the night of the A/B test.

Truncated JPEGs through the A/B night

Table view
CyclesMinutesTruncated
1–3095
31–60189
61–902711
91–1203616
121–1504519
151–180547
181–210631
211–240724
241–270811
271–300900
301–330992
331–3601080
361–3901170
391–4201260
421–4501352
451–4801440
481–5101530
511–5401620

Truncated JPEGs by condition

Truncated files per condition, split by whether the file length was still growing when read or had stopped without an end marker.

Truncated JPEGs by condition

Table view
ConditionKindCyclesTruncatedGrowingSteadyPowered, s
0: AF 1+1 s, poll oncondition1351911811.7
1: AF 1+1 s, poll offcondition1351301311.5
2: AF 1+2 s, poll oncondition1352618812
3: AF 1+2 s, poll offcondition1351991012.2
Poll on, pooledpooled27045192611.84
Poll off, pooledpooled2703292311.85

Wrong-size photos

Share of cycles whose first capture came out at the default size instead of the one requested, by test and autofocus setting.

Wrong-size photos

Table view
TestAutofocusWrong sizeCyclesRate, %
v4, evening room lightnot stated72035
v5, autofocus onon88100
v5, autofocus offoff11010
Midday, bright, AFon0100
Midday, dimmed, AFon0100
Midday, dimmed, no AFoff0100
Dark spot, AF (session 10)on51050
Dark spot, no AF (session 11)off0100
Two studio lights, AF (session 12)on0100
Dark spot, AF (sessions 13 and 14)on110110100

Failed SD read-backs

Share of verified photos whose read-back differed from what was written, by clock setting.

Failed SD read-backs

Table view
ConditionClocksVerifiedFailedRate, %
Night run 1, autofocus cycles 1–200write 16 / read 16 MHz17152.9
Night run 1, autofocus cycles 201–380write 16 / read 16 MHz1593220.1
Night run 1, no-AF controlwrite 16 / read 16 MHz381436.8
Night run 2, write 8 / read 8 MHz41-cycle run before the hang1200
Night run 2, write 16 / read 8 MHz41-cycle run before the hang900
Night run 2, write 16 / read 16 MHz41-cycle run before the hang10220

Evidence and caveats

How to read these numbers

Sharpness on long runs is judged from JPEG file size. The size classes were calibrated against photos scored directly with the line-pair, checkerboard and small-text tests, so a size class is a proxy rather than a measurement.

Faded bars on the powered-time path are estimates, and so is the stage split in the powered-seconds chart; the basis column says how each was worked out. The other powered-time bars were measured on hardware.

One step on the path, the latest firmware with a retake, only has a range, so it appears in that chart’s table but not on the chart.

Storage bars drawn in grey use sizes from the plan table where no measurement exists.

Headline facts

Headline factValueNote
Picture size2592×19445 MP JPEG; every Stage A and later run saved at this size
Sharpest edge width4.59 pxFlat target at 40 cm with autofocus, 10–90 % edge width. A truly sharp 5 MP image measures 2–3 px
Stage A 100-cycle run100 of 100One early run, saved at full size with no failure, unexpected reset or SD error. Camera and SD stayed powered (power was not switched); later switched-power runs lost cycles, see Reliability
Sharp-sized frames, best recipes97 %25 cm, warm camera, autofocus right after the warm-up and 2 s in all (two recipes, about 35 cycles each)
Powered time per photo10.8 stl_cycle v12b on the board, no retake; Stage A took 25.9 s
Mean JPEG size2.84 MBStage A indoor scene; 43,200 photos (one per minute for 30 days) would be about 123 GB
Blurred-sized below2.18 MBPhotos under this size were blurred in 9 of 9 measured (night run 1)
Sharp-sized from2.28 MBPhotos from this size were sharp in 3 of 3 measured; sizes between are mixed

Numbers come from the project’s test notes and brief: the Stage A findings, settle-window sweep, hardware results, A/B test plan, test runner, build notes and USB photo transfer notes.

This post is licensed under CC BY 4.0 by the author.