Banner image placeholder
Banner image
Site avatar
Arushi Nath
Planetary-defence and exoplanet researcher. IAU Minor Planet Center code R60.


Third Grand Award Winner, International Science and Engineering Fair (ISEF), 2025.
Second Prize, European Union Contest for Young Scientists (EUCYS), 2023.
Best Project Award, Canada-Wide Science Fair - 2023 and 2022 (back-to-back).



Millimagnitude Photometry in Practice: A Year of Exoplanet Transit Timing for ESA Ariel


July 14, 2026

In 2025 I set up a remote telescope observatory, IAU Minor Planet Code R60, to reach millimagnitude photometry; the engineering story is in Building My Remote Observatory. This post reports the exoplanet science from its first year: 29 transit timings submitted to the ExoClock network in support of the European Space Agency's Ariel mission, an assessment of the precision and accuracy achieved, and one planet, WASP-148b, measured arriving 26 to 32 minutes late.

Why the timing matters

When a planet transits its star, the star fades for a few hours, and the midpoint of that fade is a clock reading. Predicting those readings years ahead gives an ephemeris, but ephemerides drift: small errors in a planet's period accumulate, and after a few years a predicted mid-time can be tens of minutes out. A space telescope must book its observations in advance and point during the transit, so this drift has a direct operational cost.

ExoClock is a worldwide network of professional and amateur observers who time exoplanet transits from the ground and pool the results, keeping the predicted transit times fresh for the candidate targets of ESA's Ariel mission. Ariel launches around 2029 to study the atmospheres of roughly a thousand exoplanets. A 0.3 m telescope cannot rival a space observatory on any single measurement, but it can give a whole night to one star on the exact date a transit falls, which is what this kind of timing requires. Every observation discussed here is lodged with ExoClock, where each light curve is reduced and vetted independently of me; my full observer record is public at my ExoClock observations page.

The observations

Between July 2025 and June 2026 I recorded 29 exoplanet transits of 23 planets with R60, my 0.305 m (12") Ritchey-Chrétien in Nerpio, Spain, using a ZWO ASI 2600 Mono camera, almost all in the Cousins R band. Three earlier transits, from 2023 and 2024 on shared telescopes, bring my total ExoClock record to 32 transits across 25 planets. Every one was submitted to ExoClock and independently re-fitted and quality-controlled there.

Target selection. ExoClock assigns every planet a priority, from Alert down to Low, according to how uncertain its predicted transit time has become, and I worked from the top of that list. Priorities are not fixed: a planet climbs as its ephemeris decays and drops back to Low once enough observers have re-timed it, so the mostly-Low priorities in the table partly reflect the collective effort, mine included, that keeps these predictions current. WASP-148b remains an Alert because its timing genuinely varies, pulled by its outer companion, and WASP-44b and HAT-P-17b were still Medium when I observed them.

The sample. The host stars span V = 10.2 to 14.3. The transits run from half a percent to nearly three percent deep, and the orbital periods from under a day (TOI-2109b in 16 hours, KELT-16b in 23) to HAT-P-17b's ten days. The targets come from most of the major transit surveys: five are TESS objects of interest, one is from the Kepler field, and the rest are from ground-based programmes such as WASP, HAT, KELT, TrES, XO and Qatar. Most of the observing fell in an intensive first season from July to October 2025, when these targets were well placed after dark, with a second run of high-priority follow-ups into 2026.

Reading the table. Each transit yields: the observed-minus-calculated timing residual (O − C), in minutes; the transit depth; the planet-to-star radius ratio Rp/Rs; the detection signal-to-noise (SNR); and the residual scatter. Drift is how far the measured radius ratio sits from the published value, in units of my measurement uncertainty alone (some tension is expected regardless, since the radius ratio depends slightly on the observing band). Scatter is the residual standard deviation of each light curve, in millimagnitudes. AutoCorr and Shapiro are ExoClock's two residual checks, for correlated noise and for departures from a Gaussian, both explained after the table. R60 is my telescope; the three earlier transits on shared telescopes are marked.

Planet Priority Obs. date Depth Rp/Rs (measured) Rp/Rs (literature) Drift O−C (min) SNR Scatter (mmag) AutoCorr Shapiro
HAT-P-23b Low 2026-06-25 1.17% 0.1080 ± 0.0049 0.1162 -1.65σ +2.62 ± 2.16 11.0 3.62 0.234 0.027
HAT-P-59b Low 2026-06-24 1.21% 0.1099 ± 0.0051 0.1045 +1.04σ +4.54 ± 1.73 10.9 2.44 0.223 0.013
XO-6b Low 2026-02-23 1.46% 0.1207 ± 0.0029 0.1100 +1.61σ -0.20 ± 1.87 20.9 2.47 0.303 0.013
TOI-3819b Low 2026-02-20 0.74% 0.0862 ± 0.0097 0.0783 +0.81σ -2.39 ± 4.18 4.5 2.64 0.249 0.017
Qatar-3b Low 2025-10-02 0.77% 0.0878 ± 0.0047 0.0888 -0.20σ +2.49 ± 2.74 9.3 2.96 0.288 0.020
Qatar-4b Low 2025-10-02 1.75% 0.1321 ± 0.0046 0.1380 -1.07σ +1.98 ± 1.87 14.4 5.41 0.159 0.012
HAT-P-59b Low 2025-10-01 1.30% 0.1138 ± 0.0078 0.1045 +1.18σ +2.67 ± 3.60 7.4 4.57 0.339 0.019
WASP-44b Medium 2025-09-13 1.17% 0.1083 ± 0.0055 0.1260 -2.83σ +1.38 ± 2.59 9.9 4.42 0.167 0.015
TOI-2154b Low 2025-09-12 1.27% 0.1126 ± 0.0050 0.1069 +1.11σ +1.10 ± 2.45 11.4 3.34 0.270 0.015
WASP-135b Low (TTV) 2025-09-11 2.13% 0.1459 ± 0.0078 0.1390 +0.83σ -3.22 ± 1.73 9.5 5.39 0.259 0.010
Kepler-17b Low 2025-09-10 1.62% 0.1273 ± 0.0062 0.1303 -0.49σ -1.38 ± 2.16 10.3 6.82 0.275 0.027
WASP-148b Alert (TTV) 2025-09-05 0.84% 0.0914 ± 0.0067 0.0807 +1.59σ +25.64 ± 3.31 6.8 3.46 0.290 0.020
HAT-P-17b Medium 2025-09-03 1.65% 0.1285 ± 0.0032 0.1238 +1.40σ +2.87 ± 1.87 20.1 3.12 0.209 0.034
TrES-2b Low 2025-08-10 1.76% 0.1325 ± 0.0044 0.1254 +1.60σ +1.88 ± 1.73 15.4 3.69 0.206 0.013
KELT-16b Low 2025-08-08 1.23% 0.1109 ± 0.0037 0.1070 +0.99σ -2.00 ± 1.35 15.0 2.84 0.192 0.017
TOI-2046b Low 2025-08-06 1.67% 0.1292 ± 0.0067 0.1213 +1.14σ +0.88 ± 1.58 9.7 2.08 0.406 0.032
TrES-5b Low 2025-08-05 2.26% 0.1502 ± 0.0064 0.1420 +1.27σ +0.48 ± 1.27 11.8 6.18 0.234 0.013
KELT-16b Low 2025-08-05 1.16% 0.1079 ± 0.0089 0.1070 +0.10σ -3.45 ± 2.30 6.1 2.69 0.285 0.016
HAT-P-23b Low 2025-08-04 1.17% 0.1083 ± 0.0033 0.1162 -2.33σ -0.46 ± 1.34 16.4 3.26 0.345 0.015
WASP-59b Low 2025-08-04 1.92% 0.1385 ± 0.0018 0.1300 +2.37σ -0.97 ± 0.79 38.6 2.48 0.233 0.012
TrES-3b Low (TTV) 2025-08-03 2.23% 0.1492 ± 0.0047 0.1631 -2.95σ -2.27 ± 1.09 16.4 3.72 0.276 0.011
TOI-4463Ab Low 2025-08-02 0.96% 0.0981 ± 0.0046 0.1145 -2.70σ -4.07 ± 1.87 10.9 1.90 0.324 0.023
TOI-2109b Low 2025-07-22 0.69% 0.0832 ± 0.0036 0.0815 +0.46σ +3.24 ± 2.16 11.6 1.52 0.292 0.018
WASP-2b Low 2025-07-22 1.76% 0.1328 ± 0.0040 0.1326 +0.05σ -1.22 ± 1.09 16.8 2.06 0.217 0.034
HAT-P-7b Low (TTV) 2025-07-21 0.62% 0.0788 ± 0.0075 0.0781 +0.09σ -0.51 ± 1.87 5.3 1.63 0.189 0.011
KELT-12b Low 2025-07-21 0.61% 0.0778 ± 0.0029 0.0772 +0.17σ +2.74 ± 3.02 13.4 1.90 0.259 0.006
Qatar-4b Low 2025-07-20 1.95% 0.1397 ± 0.0042 0.1380 +0.33σ +0.14 ± 1.44 16.7 6.46 0.269 0.021
WASP-2b Low 2025-07-19 1.82% 0.1348 ± 0.0030 0.1326 +0.71σ -2.86 ± 0.95 22.7 1.67 0.332 0.028
WASP-148b Alert (TTV) 2025-07-15 0.51% 0.0717 ± 0.0061 0.0807 -1.47σ +32.08 ± 8.06 5.9 4.56 0.270 0.007
KELT-16b [Alnitak] Low 2024-07-27 1.00% 0.1000 ± 0.0130 0.1070 -0.54σ +5.31 ± 5.62 3.9 5.81 0.203 0.009
WASP-52b [Alnitak] Low (spots) 2024-07-02 2.83% 0.1683 ± 0.0037 0.1646 +0.95σ -1.65 ± 1.05 22.9 7.05 0.161 0.005
KPS-1b [BurkeGaffney] Low 2023-07-07 1.33% 0.1152 ± 0.0073 0.1140 +0.14σ -0.62 ± 2.74 8.0 6.51 0.188 0.007

The observer's craft

ExoClock reduces and re-fits every light curve I submit, but the photometry it works from is mine to get right, and that is decided at the telescope. From the ground, a thousandth of a magnitude is a hard target: the atmosphere shimmers, transparency drifts, and an imperfectly flattened field can invent a signal of its own. Each transit means running the full instrument chain myself, remotely: guiding the mount so the star holds the same pixels for hours, refocusing as the night cools, taking the flats and darks that flatten the frame, choosing an exposure that fills the well without saturating, and watching the run live to catch a guiding drift or a passing cloud before it costs the transit. That control, an instrument I can point at one demanding star for a full night and hold steady, is why I built R60 (the story is here).

Photometric precision: did it reach the millimagnitude level?

Each light curve is a stream of brightness measurements, and its scatter, the residual standard deviation or STD, is how much those points jitter around the fitted transit curve. A scatter of three millimagnitudes means a typical measurement sits about three thousandths of a magnitude, roughly a third of a percent, from the smooth model. It measures the raw steadiness of the photometry, not the depth of the transit or the quality of the fit.

The observatory was built and funded, through the Masason Foundation grant, to reach one benchmark: millimagnitude photometry, the ability to measure a star's brightness to within about a thousandth of a magnitude. Across the 29 R60 transits the scatter runs from 1.5 to 6.8 millimagnitudes, with a median of 3.1. The tightest, TOI-2109b at 1.5, approaches the millimagnitude floor; the loosest, Kepler-17b at 6.8, is the faintest star in the set at V = 14.3. This is per-point scatter, a few millimagnitudes on each exposure; averaged over the hundreds of points in a transit it beats down to the roughly one-millimagnitude precision on the fitted depth and mid-time the observatory was built for, which is what makes the shallowest transits here, such as WASP-148b's half-percent dip, measurable at all. For comparison, my three earlier transits on shared telescopes scatter 5.8 to 7.0 millimagnitudes, though on different targets and nights, so it is not a controlled test; one was even a larger 0.43 m instrument. What building R60 changed decisively was not aperture but control: the freedom to schedule these targets, and to return to them, whenever the science required.

Reading the clock: timing precision and accuracy

O − C residuals for all 32 ExoClock transits; WASP-148b highlighted

Figure 1. Transit timing across the whole programme. Each point is one transit's observed-minus-calculated (O − C) mid-transit time, in minutes, against the night it was observed; the dashed line at zero is the constant-period prediction. The R60 transits (blue) scatter tightly about zero, with an error-weighted mean of −0.28 ± 0.32 minutes and no detectable clock or reduction bias; error bars show each transit's timing precision. WASP-148b (orange) sits 26 to 32 minutes late, the one known timing variation in the set. Grey squares are three earlier transits on shared telescopes.

Every transit gives a mid-transit time, and hence an O − C residual against the prediction. Two quantities describe how good it is. Precision, the per-transit uncertainty, has a median of 1.9 minutes, from a best of 0.79 (WASP-59b) to 4.2 on the lowest-SNR target (setting aside WASP-148b, whose shallow half-percent dip gives ±8); 17 of 29 transits are timed to better than two minutes. Accuracy, any systematic offset, is the sterner test: across the 20 planets with no flagged timing anomaly the error-weighted mean residual is −0.28 ± 0.32 minutes, consistent with zero to about twenty seconds. This is consistent with no clock or reduction bias, and the scatter is only slightly larger than the formal uncertainties (reduced chi-square near 1.6), so the error bars are, if anything, mildly optimistic. A flat, zero-centred baseline is what allows a single genuine outlier to be identified with confidence.

What sets the precision is transit depth, not stellar brightness. Timing precision barely changes across the roughly 40-fold range of host-star brightness in the sample (correlation −0.03): Kepler-17b at V = 14.3 was timed as well as targets three magnitudes brighter, because what limits the timing on these stars is the transit's depth relative to the scatter, its signal-to-noise, not the brightness of the star on its own. Depth does drive it (correlation −0.49), a deeper dip giving the fit more to lock onto; even so R60 times a 0.6 percent dip, six parts in a thousand, to about two minutes. The depths are accurate as well as precise: every measured radius ratio agrees with the literature to within three standard deviations, with no net bias (mean drift +0.11σ). The main cost is time. Transits here last from 1.4 to 5.8 hours, and each needs an hour of steady baseline on either side, so the longest demand an unbroken run approaching eight hours, a commitment a dedicated telescope can make and a shared one cannot.

Clean light curves

Two further checks confirm the light curves are honest. AutoCorrelation, which hunts for correlated systematics in the residuals, stays low on every transit but one (TOI-2046b, taken in a Clear filter). The Shapiro statistic, which tests for outliers and departures from a Gaussian, is comfortably in the good band throughout. The residuals look like clean noise, which is what makes the error bars, and therefore the timing, trustworthy.

WASP-148b: a planet running late

Against that flat baseline, one system stands out. WASP-148b is a known two-planet system: its transits are already documented to arrive early or late as its outer companion, WASP-148c, pulls on it, and ExoClock flags it "Alert". My measurements recover that signal. Both transits I caught arrive late, by 26 and 32 minutes, far outside the flat baseline set by the unflagged planets, and consistent with the system's previously documented timing variations.

WASP-148b transit on 2025-07-15, arriving about 32 minutes late

Figure 2. WASP-148b on 15 July 2025, running late. The fitted transit (red) sits to the right of the constant-period prediction (teal); that horizontal shift is the planet transiting about 32 minutes late. The dip is shallow, around five millimagnitudes, yet the offset is unmistakable.

Recovering a published timing variation with a 0.3 m telescope, against a demonstrably unbiased baseline, is the intended use of this precision. Turning offsets like these into the mass and orbit of the unseen perturbing planet, once enough epochs are in hand, is what my NEPTUNE pipeline is built to do, so WASP-148b is both a measurement and a working test case for that method (the fuller analysis is here). Three more targets, WASP-135b, TrES-3b and HAT-P-7b, are flagged for possible timing variations and are worth continued monitoring.

What it feeds: orbital decay and ESA Ariel

A long timing baseline also reveals slow changes. The two shortest-period planets here, TOI-2109b on a 16-hour orbit and KELT-16b on a 23-hour orbit, are candidates for tidal orbital decay, a gradual shrinking of the period that only years of dense timing can confirm; repeated ExoClock measurements are how that baseline is built.

Every planet here is also an Ariel candidate target, and each mid-transit time narrows its predicted schedule a little further. Across 29 transits it is a small but concrete contribution to keeping Ariel's ephemerides current before launch.

The 29 R60 transits

Every transit below was reduced and quality-controlled by ExoClock. Each card shows the folded lightcurve, the fit, and the measured mid-transit time, and prints its scatter (STD) in parts per thousand of flux; the diagnostic table converts these to the millimagnitudes used throughout this post (2.3 parts per thousand is about 2.5 millimagnitudes).

HAT-P-23b · 2026-06-25

HAT-P-23b transit on 2026-06-25

O − C +2.62 ± 2.16 min · SNR 11.0 · scatter 3.62 mmag

HAT-P-59b · 2026-06-24

HAT-P-59b transit on 2026-06-24

The largest residual of any unflagged planet, about 2.6σ late, and worth re-observing. O − C +4.54 ± 1.73 min · SNR 10.9 · scatter 2.44 mmag

XO-6b · 2026-02-23

XO-6b transit on 2026-02-23

O − C -0.20 ± 1.87 min · SNR 20.9 · scatter 2.47 mmag

TOI-3819b · 2026-02-20

TOI-3819b transit on 2026-02-20

The lowest-SNR detection in the set, near the limit of what R60 can time. O − C -2.39 ± 4.18 min · SNR 4.5 · scatter 2.64 mmag

Qatar-4b · 2025-10-02

Qatar-4b transit on 2025-10-02

O − C +1.98 ± 1.87 min · SNR 14.4 · scatter 5.41 mmag

Qatar-3b · 2025-10-02

Qatar-3b transit on 2025-10-02

O − C +2.49 ± 2.74 min · SNR 9.3 · scatter 2.96 mmag

HAT-P-59b · 2025-10-01

HAT-P-59b transit on 2025-10-01

O − C +2.67 ± 3.60 min · SNR 7.4 · scatter 4.57 mmag

WASP-44b · 2025-09-13

WASP-44b transit on 2025-09-13

O − C +1.38 ± 2.59 min · SNR 9.9 · scatter 4.42 mmag

TOI-2154b · 2025-09-12

TOI-2154b transit on 2025-09-12

O − C +1.10 ± 2.45 min · SNR 11.4 · scatter 3.34 mmag

WASP-135b · 2025-09-11

WASP-135b transit on 2025-09-11

O − C -3.22 ± 1.73 min · SNR 9.5 · scatter 5.39 mmag

Kepler-17b · 2025-09-10

Kepler-17b transit on 2025-09-10

The faintest star in the programme, V = 14.3, yet timed to two minutes. O − C -1.38 ± 2.16 min · SNR 10.3 · scatter 6.82 mmag

WASP-148b · 2025-09-05

WASP-148b transit on 2025-09-05

The same timing variation, a cleaner epoch. O − C +25.64 ± 3.31 min · SNR 6.8 · scatter 3.46 mmag

HAT-P-17b · 2025-09-03

HAT-P-17b transit on 2025-09-03

O − C +2.87 ± 1.87 min · SNR 20.1 · scatter 3.12 mmag

TrES-2b · 2025-08-10

TrES-2b transit on 2025-08-10

O − C +1.88 ± 1.73 min · SNR 15.4 · scatter 3.69 mmag

KELT-16b · 2025-08-08

KELT-16b transit on 2025-08-08

O − C -2.00 ± 1.35 min · SNR 15.0 · scatter 2.84 mmag

TOI-2046b · 2025-08-06

TOI-2046b transit on 2025-08-06

The one transit taken in a Clear filter, and the only light curve with raised autocorrelation. O − C +0.88 ± 1.58 min · SNR 9.7 · scatter 2.08 mmag

TrES-5b · 2025-08-05

TrES-5b transit on 2025-08-05

O − C +0.48 ± 1.27 min · SNR 11.8 · scatter 6.18 mmag

KELT-16b · 2025-08-05

KELT-16b transit on 2025-08-05

O − C -3.45 ± 2.30 min · SNR 6.1 · scatter 2.69 mmag

WASP-59b · 2025-08-04

WASP-59b transit on 2025-08-04

The cleanest light curve of the programme. O − C -0.97 ± 0.79 min · SNR 38.6 · scatter 2.48 mmag

HAT-P-23b · 2025-08-04

HAT-P-23b transit on 2025-08-04

O − C -0.46 ± 1.34 min · SNR 16.4 · scatter 3.26 mmag

TrES-3b · 2025-08-03

TrES-3b transit on 2025-08-03

O − C -2.27 ± 1.09 min · SNR 16.4 · scatter 3.72 mmag

TOI-4463Ab · 2025-08-02

TOI-4463Ab transit on 2025-08-02

O − C -4.07 ± 1.87 min · SNR 10.9 · scatter 1.90 mmag

WASP-2b · 2025-07-22

WASP-2b transit on 2025-07-22

O − C -1.22 ± 1.09 min · SNR 16.8 · scatter 2.06 mmag

TOI-2109b · 2025-07-22

TOI-2109b transit on 2025-07-22

One of the shallowest dips in the set, cleanly recovered. O − C +3.24 ± 2.16 min · SNR 11.6 · scatter 1.52 mmag

KELT-12b · 2025-07-21

KELT-12b transit on 2025-07-21

O − C +2.74 ± 3.02 min · SNR 13.4 · scatter 1.90 mmag

HAT-P-7b · 2025-07-21

HAT-P-7b transit on 2025-07-21

O − C -0.51 ± 1.87 min · SNR 5.3 · scatter 1.63 mmag

Qatar-4b · 2025-07-20

Qatar-4b transit on 2025-07-20

O − C +0.14 ± 1.44 min · SNR 16.7 · scatter 6.46 mmag

WASP-2b · 2025-07-19

WASP-2b transit on 2025-07-19

O − C -2.86 ± 0.95 min · SNR 22.7 · scatter 1.67 mmag

WASP-148b · 2025-07-15

WASP-148b transit on 2025-07-15

The known timing variation at its larger epoch, shown as Figure 2 above. O − C +32.08 ± 8.06 min · SNR 5.9 · scatter 4.56 mmag

Networks: ExoClock (ESA Ariel exoplanet ephemerides); IAU Minor Planet Center observatory code R60.


Share

Translate to