In 1923 Edwin Hubble found a star in the Andromeda “nebula” that brightened and faded every 31.4 days, and relabeled it “VAR!” on his plate. It was a Cepheid, a kind of star whose period tells you its true brightness, and it showed that Andromeda is a galaxy far outside our own. I wanted to know whether Seestar smart telescopes, with 30 mm and 50 mm lenses, can find that same star, called V1, in the crowded disk of M 31, and whether they can see it vary. Almost all of the frames come from the Seestar Collective, a community of Seestar owners who pool their M 31 data.
There are two answers. V1 is there. In 28.4 hours of frames (three separate sets that share no frame, all from the Collective except one night of mine), V1's average light comes out at 1.09 ± 0.19 f19, where f19 is the light of a G = 19 star. That agrees with what the Zwicky Transient Facility (ZTF) survey's light curve of V1 predicts for those nights, and it is brighter than all 2,185 empty patches of the disk (“blank spots”) measured the same way. Allowing for how often blank spots throw large values, that is about 3.5 sigma, roughly a 1-in-4,000 chance for an empty patch: a solid measurement at a known position, not a discovery. The pulse is not confirmed. Two tests I wrote down in advance did not see the 31.4-day swing above the noise, and a later look at every archive frame reaches about 3 sigma, leaning on two nights. A new test, written before its first frame, is running on a telescope of my own.
Each row is one set of frames shared by the Seestar Collective (my own night is part of the single-pointing set), measured with one method, locked before it measured V1: a fit of each frame's own star shape at V1's Gaia position, the neighbors' light removed with a model of the scene built from Pan-STARRS1 and Hubble images, and each night calibrated on Gaia stars. Each error is the scatter of the same measurement at blank spots of the disk. The shaded box is what ZTF's light curve of V1 predicts for exactly those nights, lowered 10 to 15 % because my scene model keeps a little of V1's own light (an estimate, not a measurement). The sets share no frames. The two edge sets have V1 near the frame edge, so their blank spots are scored on whichever frames cover them; they read low, but within 0.7 of their errors of ZTF.
I add the sets with fixed weights (each set's inverse error squared) and do exactly the same sum at every blank spot. No blank spot comes out as bright as V1; the brightest sits at 4.5 scatters, and V1's excess is 1.23 times that spot's. But blank spots have a heavier tail than a bell curve: a bell curve predicts 0.07 spots beyond 4 scatters, and there are 4. A Student-t curve fits that tail (4 seen, 3.5 predicted), and under it the chance of a blank spot reaching V1 is 2.4 in 10,000, the same as 3.5 sigma on a bell curve. So the figure to quote is about 3.5 sigma, not 5.5. The 2,185 spots also overlap (only about 140 have fully separate fit windows), which is another reason not to read much into “0 of 2,185”. Adding the two edge sets lowers V1 to 5.0 scatters (about 3.3 sigma by the same fit), still above every blank spot. Frames shared by the Seestar Collective; aggregate numbers only.
No blank spot of the disk is as bright as V1 under the same combination, and V1's light is what ZTF predicts. About 3.5 sigma once the heavy tail is counted.
The evidenceBefore measuring V1 in a new batch of mosaic frames, I wrote down what it had to do: beat 99.9 % of blank spots and land near ZTF's flux. It did both.
How sureMy first pulse test, written in advance, needed V1's swing to beat 99 % of blank spots. It beat 92 %. A later look at all frames reaches about 3 sigma, not enough to call it.
The testsV1 is a G 19 star (it swings between about V 18.5 and 19.8) about 2.5 million light-years away, sitting in the bright, lumpy disk of Andromeda, 15.7 arcminutes southwest of the core. A Seestar spreads each star over 5 to 15 arcseconds, depending on the model, the focus and the night. Inside that blur sit hundreds of fainter Andromeda stars and clumps that the Hubble Space Telescope resolves one by one. So the job is not to spot a star, it's to weigh a small amount of extra light at one exact position against a textured background. Each Seestar pixel covers 2.4 (S50) or 3.7 to 4.0 (S30 models) arcseconds.
The unit I use throughout is the light of a G = 19 star, which I write as f19. V1 averages about 1 f19, and its catalog swing is about ± 0.53 f19 around that.
This map is drawn from public catalogs, not from anyone's frames: every source Pan-STARRS1 lists within 40 arcseconds of V1 (dots), the brighter ones Gaia also measures (rings, with their G magnitudes), and V1 itself at the center. The gray glow is what those point sources alone would look like through each blur. The real disk adds smooth light and texture on top, which is what the scene model removes. Choose a blur to see why the seeing matters.
In the deep stack, the light at V1 peaks 2.1″ from V1's Gaia position inside a 5.4″ blur, and 70 Gaia stars land on their catalog positions to 0.065″. In a blind look, 6 peaks above 4 sigma remain in the 4.4′ window (the four strongest beside bright stars); only one sits on any of the 15 cataloged variables there, V1, a 1-in-80 chance coincidence. Its flux scale carries about 7 % more uncertainty, and since its blank-spot tail was never fitted, its 6.5 times the scatter is not a sigma either.
What would make it wrong. A clump of unresolved disk stars at exactly V1's spot that the scene model misses. The blank-spot test asks precisely how often that happens on this disk: in the three-set combination, never in 2,185 tries, and the heavy-tail fit puts it near 1 in 4,000. A flaw in the scene model at V1's position specifically would hit every set the same way, so the sets agreeing with each other does not rule it out; their agreement, set by set, with the flux ZTF predicts argues against it, since a clump would have to match V1's catalog brightness by chance. And the significance is modest: about 3.5 sigma.
What it says about the instrument. A single Seestar night measures V1 to about ± 1 f19, roughly its own light. My own 59-minute S30 Pro night gives 2.6 ± 1.0 f19 near V1's maximum, where ZTF predicts about 1.4 to 1.5: a hint, not a detection. Pooled over tens of hours, the same small telescopes reach V1. In the single-pointing set, the S50 frames alone give 0.94 ± 0.38 f19 from 3.3 hours and the S30 frames 1.25 ± 0.82 from 12.1 hours: the two agree, and an S50 hour is worth far more here.
The first hint came from 11 nightly stacks made on a single S50 by the Seestar app. Folded on the catalog period, V1 looked like it varied in step with the catalog, but with a swing about 4 to 6 times too big (the fit shown here, 3.7 times), and I had tuned my method on those same nights. So before reading any new frame, I wrote down a test on raw frames nobody had used: seven named nights, four near V1's maximum and three near its minimum by the catalog timing; one number, the size of a cosine swing at the catalog period and timing; and one bar: fewer than 1 % of 300 blank disk spots may show a swing as large as V1's, measured in exactly the same way. I also wrote down what I expected: a coin flip, with a swing near the catalog's.
That is roughly what came back. V1's swing came out at 0.81 ± 0.51 f19, close to the catalog's 0.53, with both bright-phase nights above the faint-phase ones. But 24 of 300 blank spots (8 %) swung as much, so the test says not confirmed. The bar was the point: a blank spot of the disk has no star varying with V1's period, so anything that beats V1 there is noise.
Why it fell short: only 5.2 of the 29.4 hours I had planned on actually had V1 in view. Most S50 frames on those nights were mosaic panels that missed V1, one telescope's frames labeled with the standard filter were really taken through a light-pollution filter (my rules dropped them), and three soft S30 stacks failed my sharpness cut. A second test, also written in advance, used every other night of single-pointing frames and a frame-by-frame forward model (29 telescope-nights, 9.7 h), and came back with a swing of the wrong sign, −1.00 ± 0.73 f19; 88 % of blank spots matched it. Its blank-spot spread (0.74 f19) was larger than the catalog swing itself, so it could not have confirmed V1 even if everything had gone right.
After the locked method and the mosaic frames came in, I fitted the swing across every archive frame that covers V1 (about 9,100 frames from the Seestar Collective), with the shape and timing of ZTF's light curve held fixed. The swing comes out 1.22 ± 0.35 times ZTF's, and 1 of 2,400 blank spots swings as much (p 0.0008, about 3.1 sigma; the overlapping spots make even that approximate). That is evidence that V1 pulses on schedule at about the expected size, not confirmation: it leans on two nights of one S50 right at maximum (without them, 0.93 ± 0.38, 2.4 sigma), and every frame in it had been looked at before, some of them several times.
The clean test is now running. A Seestar S50 that I operate at a dark-sky observatory has been shooting V1 since the night of 10 October 2026, under a test written down and approved before its first frame: the locked method on each night, ZTF's shape and timing fixed, and a bar against blank spots. When it reads out, the result goes on a new page that supersedes this one; this page stays as published.
I rendered a sharp survey image of V1's surroundings with V1 removed through each night's own blur and ran my exact fit on it. Whatever V1 “measures” on that V1-free scene is neighbor light, the blend bias. It is positive on sharp nights (V1 reads too bright) and negative on soft ones (too faint), because V1 sits in a small dip of the disk's light and the fit window covers a different stretch of texture at each blur. On my 10.5″ night V1 read about 0.4 to 0.55 mag too faint; on a 6.9″ S50 night about 0.3 mag too bright. The deeper CFHT survey saturates on half the nearby G 16-18 stars, so its level fails the checks, but it reproduces the same trend (r = −0.97), which is why I trust the trend. This bias changes from night to night, so it adds noise to a light curve and shifts V1's mean brightness; it's one reason the nightly points scatter. The 11 nightly stacks are from the Seestar Collective; the blur of each is all this chart uses from them.
In my first pulse test, longer stacks were barely better than short ones: error fell as hours to the −0.25, not −0.5. A later noise study found why, and it isn't correlated noise. Within any one telescope, the error does fall as the square root of the hours, and each night's error matches the photon noise of its sky. The shallow slope comes from mixing telescopes whose noise per hour differs up to eightfold: the long stacks were mostly S30 nights, the short ones S50 nights. So more hours do help, if they come from the right telescope under a dark sky.
What I think works: nights framed on V1 instead of mosaics, filters read from the files rather than folder names, nights near V1's maximum and minimum, and a test whose blank-spot spread is checked in advance to be smaller than the swing it is looking for. That is the test now running on my own S50 under a dark sky. Its forecast, made from blank spots and fake stars rather than from V1: with 4 hours a night it should need about 8 clear nights, and it passes about 96 % of the time if V1 pulses as ZTF says.
Pooling every frame ever taken builds up V1's average light: phases cancel, but the light adds. Measuring the pulse needs each night to stand on its own, and a single Seestar night gives V1 to only about its own brightness (± 1 f19). Pooled frames answer the first question and barely touch the second.
The first fold looked convincing: only 0.3 to 2 % of blank spots beat it, peak timing within 0.01 cycle of the catalog. On fresh nights it shrank to the catalog's size and lost its significance. Setting the bar in advance kept me from claiming a detection the data don't support.
Three sets with no frame in common should have pushed V1 from 4.9 to about 6.6 blank-spot scatters. They reached 5.5, because the same scene model and sky go into every set and their blank-spot errors move together.
Test 2 was doomed from the start: its blank-spot spread was larger than the swing it was looking for. A five-minute check of the expected spread would have shown that. The test on fresh mosaic frames got that check, and its dry run caught a grid that could not have passed.
In the community archive, S30 frames sat in S50 folders and light-pollution-filter frames sat in standard-filter folders. Reading each frame's header saved the test from mixing filters, but the plan's hours were built on the folder names, which is why the test came up more than five times short of the hours I planned.
Hubble Space Telescope images resolve the crowd around V1, but at Seestar resolution a template built from them did no better than Pan-STARRS1 (they tie within 1 to 2 %). The deep CFHT survey was worse, because its bright stars saturate. Night by night the limit is photon noise; in the pooled read, the one scene model shared by every set sets part of the error.
The pulse, first of all: the test on my own S50 frames is what settles it, and its result gets its own page. The average light would be on firmer ground with blank-spot tests that don't share one scene model across sets, and with an independent check of how much of V1's light the scene model keeps (the 10 to 15 % allowance is an estimate). A night-by-night light curve is out of reach in the archive: per-night errors of about 1 f19 can't resolve a swing of about ± 0.5 to 0.7 f19 (catalog and ZTF sizes). If you own a Seestar and want to help, several telescopes framed on V1 on the same nights near its maximum and minimum is the plan.
Everything else is measured: V1's fluxes, the blank-spot scatters and ranks, the Student-t fit and the swing sizes.
Status: exploratory. The location passed one test written in advance, on frames partly used before; the combination is a summary, since I already knew V1's value in two of its three sets; and the pulse is not confirmed.
Most of the frames behind these numbers were taken and shared by the Seestar Collective, a community of Seestar owners who pool their raw M 31 frames and a combined deep stack. Thank you: this page exists because of them. Every set in Result 1, the pulse tests and the blend study use their frames. My own data is one night with a Seestar S30 Pro on 18 September 2026 (351 frames of 10 s), which is part of the single-pointing set. This page shows numbers derived from the frames, such as fluxes, errors and ranks; it names no telescope unit or person, and gives telescope models only as S30 or S50. Public data: ESA Gaia DR3; Pan-STARRS1 DR2 (images and stack catalog, via MAST at STScI); CFHT MegaPipe stacks (via CADC); Hubble Space Telescope WFC3 images of V1 from the Hubble Heritage and AAVSO program (proposal 12326, via MAST); the Zwicky Transient Facility's public light curve of V1 (via IRSA), which sets the predicted fluxes; and V1's catalog period and timing from AAVSO VSX.