> For the complete documentation index, see [llms.txt](https://www.sunscan.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.sunscan.net/use/mobile-app-overview/whats-new-in-version-2.1.md).

# What's New in Version 2.1

2026-09-25

Version 2.1 is the largest SUNSCAN update since launch. It touches all three layers of the project: the mobile app, the SUNSCAN firmware and its web interface. Highlights: upload your images to **SpectroSolHub** straight from the app, a **scan assistant** that tells you when to observe and guides you while you place the disk, **spectral line identification** on the live image, connecting the SUNSCAN to your **home Wi-Fi**, recording without dropped frames, much faster processing and a new interface.

{% hint style="warning" %}
**Update your SUNSCAN.**

Most of the features below require **firmware 2.1**. The app offers the update as soon as it detects a SUNSCAN that needs one, and it stays available in **Settings**. It is optional, but without it the app will most likely be unstable.
{% endhint %}

## ✨ At a glance

* **SpectroSolHub upload**: share your images with the community straight from the app.
* **Gallery filters**: by spectral line, by processing state and by SpectroSolHub upload.
* **Hε images** computed automatically from Ca II H scans.
* **Spectral line on stacks and animations**, inherited from their scans and editable.
* **Line name in the watermark** of every image of a scan.
* **Scan assistant**: scan duration, best time window, and live guidance to place the disk.
* **Spectral line identification**: line names shown directly on the live image.
* **Live disk preview while recording** and **automatic scan stop**.
* **Real progress** for processing, stacking and animations, step by step.
* **Connect the SUNSCAN to your home Wi-Fi**, with automatic discovery on the network.
* **Auto exposure** and a completely rebuilt **focus assistant**.
* **Channel advice in cropped mode**: the app tells you whether red, blue or all three channels will give the better scan.
* **Performance**: no more dropped frames while recording, faster processing, smoother live preview.
* **One-tap firmware update**, offered as soon as the SUNSCAN connects.
* **New interface**, in the app and in the SUNSCAN web interface.

***

## 🔭 Acquisition

### Scan assistant ("Assist." button)

**Before the scan**, the assistant uses your GPS position and ephemerides. It gives you the scan duration, the Sun's tilt, the quality of the observing window at that time (ideal, good, usable, strongly tilted…) and the best time slot. It also tells you when the Sun is below the horizon, and asks for your GPS position if it does not have one.

**Placing the disk**: the assistant guides you live to position the disk along the slit, so that it stays centred for the whole transit. The prompts are explicit: "Centre the Sun on the slit to start the guidance", "Bring the disk to the mark (16.4)", then "In position, let the Sun drift off upstream, then record".

**While recording**, a gauge shows the remaining time and tells you when the disk has finished passing.

{% embed url="<https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FXZO3a0to0I19eYhQv0Gg%2Fsunscan-2-1-v03-scan-assistant-b.mp4?alt=media>" %}
From the observing window to the disk in position, the assistant walks you through the placement.
{% endembed %}

### Live disk preview

While the scan runs, a thumbnail shows the solar disk building up column by column. You know straight away whether the scan is good, without waiting for processing.

{% embed url="<https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2F24DpTRF4tBpLXlD5OSaS%2Fsunscan-2-1-v04-live-disk.mp4?alt=media>" %}
The solar disk builds column by column while recording (video sped up ×2).
{% endembed %}

### Automatic scan stop

Stop the recording a few seconds after the disk has left the slit. And if you forget, the automatic stop takes over: once the disk has finished passing, a 30 s countdown starts and recording stops on its own. Tap the countdown to cancel it if you want to carry on. It is on by default and can be turned off in the Settings.

<figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FTerYgYAIdVlm5U9zJcmU%2Fsunscan-2-1-v04-rec.jpg?alt=media" alt=""><figcaption><p>The automatic stop countdown, below the live disk preview thumbnail.</p></figcaption></figure>

### Spectral line identification ("Ident." button)

In full-frame mode, mono or colour, the app recognises which part of the solar spectrum is on screen: rather like plate solving, but for the spectrum. Line names appear directly on the image, and the labels follow the zoom:

* solar lines in **amber**;
* telluric lines in **blue**;
* key lines in **colour** (Hα, Na D, Mg b, Ca II H & K…).

A banner shows the wavelength range, the dispersion (Å/px) and the number of lines identified. If identification fails, it explains why: not enough light, saturation, focus…

<div><figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FEmfoAUV3XVhVTowKtvRh%2Fsunscan-2-1-v06-mg.jpg?alt=media" alt=""><figcaption><p>The magnesium triplet, around 5170 Å.</p></figcaption></figure> <figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FXKFWab6JIzokiZaaBE7N%2Fsunscan-2-1-v06-ha.jpg?alt=media" alt=""><figcaption><p>The Hα region, with H₂O telluric lines in blue.</p></figcaption></figure> <figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FZRaSG0caZzrn7X1KCcKg%2Fsunscan-2-1-v06-o2.jpg?alt=media" alt=""><figcaption><p>In colour mode, the O₂ telluric band around 6900 Å.</p></figcaption></figure></div>

### Auto exposure ("AUTO EXP" button)

In full-frame colour mode, exposure time adjusts itself. The setting is remembered, and exposure is locked as soon as you start recording.

<figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2F1Z9nZhRZlOWaByGO89lm%2Fsunscan-2-1-v07-autoexp.jpg?alt=media" alt=""><figcaption><p>AUTO EXP settles the exposure time on its own.</p></figcaption></figure>

### Typing the exposure time (short press on "EXP")

In cropped mode, where exposure time is set entirely by hand, a short press on **EXP** opens a numeric keypad: type the value in milliseconds (0.1 to 30,000 ms) instead of hunting for it with the slider. Handy for returning to exactly the exposure that worked, from one session to the next.

A short tutorial introduces the two EXP gestures (short press to type, long press to change range) the first time you open the settings in cropped mode.

<figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FW2ATis2Zp7bSDl9Cswo2%2Fsunscan-2-1-v08-exp.jpg?alt=media" alt=""><figcaption><p>The two EXP gestures, shown the first time you open the settings in cropped mode.</p></figcaption></figure>

### Channel advice (cropped mode)

The SUNSCAN builds its mono frame from the camera's Bayer matrix, either by summing the four photosites of each cell or by keeping a single colour. The right choice depends on where in the spectrum the grating points, and it matters: far in the red, at Hα, the green and blue photosites see next to nothing, so summing them in adds their noise and none of their signal. The red channel alone then makes the better scan. At the blue end, at Ca II H and K or Hγ, the blue channel wins. In between, at least two colours answer and the sum of the four photosites is the one to use.

In cropped mode, the app looks at how the light splits between the three colours and tells you. A banner appears above the image, with three dots and the advised colour lit:

* **Signal mostly in the red**: "Tap to switch to the red channel".
* **Signal mostly in the blue**: "Tap to switch to the blue channel".
* **Signal spread over several colours**: "Tap to switch to all three channels (RGB)".

Tapping applies the change, the cross dismisses the banner. The advice only shows when the channel in use is not already the right one.

<figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FOFipnJZckbH0qNAk9rXD%2Fsunscan-2-1-channel-advice.jpg?alt=media" alt=""><figcaption><p>The channel advice banner, in cropped mode.</p></figcaption></figure>

Nothing has to be identified for this: how the light splits between the three colours is enough, and it is read off the per-channel Max ADU measured on the raw frame, before the channel is picked. The advice therefore does not depend on the channel in use.

Three safeguards: no advice when the signal is too faint for the ratios to mean anything; none either on a clipped frame, unless one colour leads by a wide margin anyway; and three identical readings in a row are needed before any advice appears, so that a cosmic ray or a cloud edge cannot change its mind. Once a channel is advised, it stays advised until the gap narrows appreciably, which keeps the advice from flickering near the limit. When the Sun leaves the slit, the last advice stays on screen.

### Focus assistant, completely rebuilt

* Percentage bar of the best score, in green, orange or red.
* Curve of the last 20 seconds.
* "New best!" indicator.
* Reset button.
* 3-step guide.

The score is smoothed: one lucky frame no longer sets an unreachable record.

{% embed url="<https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FgVzcce5QUoq5DjcEGgjP%2Fsunscan-2-1-v09-focus-assistant-b.mp4?alt=media>" %}
The sharpness score rises as you adjust the focus.
{% endembed %}

### Also

* **New display threshold slider**: finer on small values, with tick marks and a fine-adjustment mode.
* **Cropping**: if you press REC before cropping, a bubble points you to the crop button.
* **REC and crop buttons**: a loading indicator now appears, which prevents double taps. The recording timer has been redrawn.
* **Camera not connected**: a clear panel appears with a "Connect camera" button, instead of an endless spinner. The phone's clock is synchronised at the same time.
* **End of scan**: the "Scan complete" dialog has been redrawn, with the spectral line offered as coloured chips.
* **Fix**: when storage was nearly full, it became impossible to stop the scan.

***

## 🖼️ Processing, gallery and images

### Real processing progress

A progress bar now shows the current step: reading the scan, reconstructing the disk, geometric correction, then surface, continuum, prominences, Doppler and helium.

If it fails, the reason is shown, for example: scan too short, or no Sun. Processing started before you switch screens, or close the app, is picked up again automatically.

### Hε images

The Hε line (3970.08 Å) sits in the red wing of Ca II H: processing a scan tagged **Ca II H** now automatically computes three extra Hε images (**surface**, **colour** and **prominences**) without changing anything else. Expect about 4 s of extra processing.

The Hε line is verified in the spectrum itself, not just from the tag: a Ca II K scan mistakenly tagged Ca II H produces no Hε images.

If you tag an already-processed scan as Ca II H, the app offers to reprocess it so you get them.

### Line name in the watermark

The watermark on a scan's images now carries the spectral line after the date (for example "Ca II H line - 3968 Å") on surface, colour, negative, prominence and Doppler images, as was already the case for stacks and animations. A scan with no line, or tagged "Other", keeps the date alone.

{% hint style="info" %}
The watermark is written at processing time: reprocess an older scan to add the line to it.
{% endhint %}

**Fix**: after changing the line and reprocessing, images of the old line that do not exist for the new one (negative, colour) stayed on the SUNSCAN. They are now removed.

### Stacks and animations

* **Real progress**: a percentage bar and the current step (aligning scans, writing images, building the GIF) with the number of scans processed. Failures are handled instead of freezing the screen.
* **Spectral line on stacks and animations**: they inherit the line of their scans when created, show its coloured badge in the gallery, and can be filtered by line just like scans. The line can be changed from the "⋯" menu, or for several items at once from the gallery's multi-selection, handy for filling in the ones created before this version.
* **New stacked colour images.**
* Stacks and animations now show the **observation date** (the mean time of the scans for a stack, the first scan for an animation) rather than their creation date. For those created before this version, it is still the creation date.
* Actions (download, delete, and "View on SpectroSolHub" for a stack) are grouped in a "⋯" menu, as on a scan's screen.
* Default duration of an animation frame: **160 ms** (was 120 ms).
* **Fix**: the "raw" colour image of a stack was in fact the enhanced image. It is now taken from the raw stack. Existing stacks are not rebuilt: stack the scans again to get it.
* **Fix**: the negative image was generated incorrectly on stacks and animations.
* **Fix**: the creation date of a stack or animation changed as soon as a file was added to its folder.

### Gallery filters (funnel button)

In the **Scans** tab, filter your scans:

* **by spectral line** (with a "No line" chip);
* **by state**: processed, not processed, failed;
* **by upload**: "On SpectroSolHub", "Not uploaded yet".

Each chip shows how many scans it would return. Once a filter is active, "Select all" selects every filtered scan at once, ready to stack, animate or delete.

{% embed url="<https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FiUog78uPJ4ECGUreFiF5%2Fsunscan-2-1-v17-gallery-filters.mp4?alt=media>" %}
Filter by line, by state and by upload, then select them all at once.
{% endembed %}

### Redesigned gallery

* Pill tabs and an item counter.
* Rounded thumbnails and coloured line badges.
* Animated multi-selection.
* A message when the gallery is empty.
* **Leaner scan screen**: secondary actions (line, 3D view, information, processing, download, delete) are grouped in a "⋯" menu. The line is picked from the same grid of coloured chips as at the end of a scan, even with no SUNSCAN connected.
* **Fix**: the thumbnail selection frame did not follow the image's rounded corners exactly.

<figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FpWc8OFLNJC4gX2z9ssZ5%2Fsunscan-2-1-scan-context-menu.jpg?alt=media" alt=""><figcaption><p>A scan screen with its "⋯" menu open: line, 3D view, details, processing, download and delete.</p></figcaption></figure>

### Downloading images

* A message is shown if a download fails. An error page is no longer saved as an image.
* On iOS, images are filed in a **SUNSCAN** album.
* **Fix**: zoom is reset when you move to another image.

***

## ☁️ SpectroSolHub

[SpectroSolHub](https://spectrosolhub.com) is the sharing platform of the spectroheliograph community. You can now upload your scans to it **without going through a computer**. The platform is built and offered to the community free of charge by [Cédric Champeau](https://melix.github.io/blog/). Many thanks to him.

{% embed url="<https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FSQU00Frux0gtIGWSJDVi%2Fsunscan-2-1-v20-spectrosolhub-b.mp4?alt=media>" %}
From the gallery to a published observation on SpectroSolHub.
{% endembed %}

{% hint style="info" %}
**The SUNSCAN uploads, not the phone.** It therefore needs internet access: connect it to your home Wi-Fi. Nothing can leave from its own hotspot, and the app tells you so.
{% endhint %}

### Connecting your account

In **Settings**, SpectroSolHub section, enter your credentials. Two-factor authentication is supported. The password is never stored: the SUNSCAN exchanges it for an access token, which you can revoke from your account on the site. Settings also show the storage and image count used on your account.

### Uploading a scan

On the screen of a processed scan, the **cloud button** opens the upload dialog:

* pick the images to upload: the most useful ones are ticked by default;
* check the spectral line: it is prefilled from the scan's tag, but you can correct it;
* add a title and notes if you wish;
* publish right away, or keep the observation as a draft and publish it later from the site.

A progress bar shows the current step and the image being uploaded. You can close the dialog: the SUNSCAN carries on, and the app picks the upload back up when you return to the scan. A brief Wi-Fi drop does not fail the upload. At the end, a button opens the observation on the site.

Each upload creates a new observation: the app warns you if the scan has already been uploaded.

### Uploading a stack

The same cloud button is available on a stack's screen. For stacks created with this version, the date, line, title and a note are prefilled from the source scans: the date is the mean time of the scans (the one written in the watermark) and the observer name is the one given when stacking.

For older ones, the folder only carries the creation date, not the observation date: the app asks you for the observation date and time (UTC), prefilled with the creation date, and displays the image whose watermark holds the date so you can check it.

Uploading animations is not offered yet.

### Finding your uploads and tidying up

Uploaded scans and stacks carry a small cloud in the gallery: **green** if the observation was published, **grey** if it stayed a draft. Tapping the cloud opens the observation, as does "View on SpectroSolHub" in the "⋯" menu of the scan screen. The "On SpectroSolHub" filter, also available in the stacks tab, shows only those items, useful when clearing them off the SUNSCAN. An upload that failed partway does not count as uploaded.

{% hint style="danger" %}
**"Uploaded" does not mean "backed up".**

Only the JPEG images you picked go to the hub. The SER file, the FITS files and the 16-bit PNGs stay on the SUNSCAN: deleting an uploaded scan means losing its raw data, and it can never be reprocessed. The app reminds you of this when you delete.
{% endhint %}

[Everything on the **Share your images** page →](/use/share/integrations.md)

***

## 📶 Connectivity

### Connect the SUNSCAN to your home Wi-Fi

From **Settings**, the SUNSCAN can join your Wi-Fi network instead of using its own hotspot:

{% stepper %}
{% step %}

### Pick the network

Select a network from the list, or enter a hidden one.
{% endstep %}

{% step %}

### Let the app walk you through the switch

It guides you while the SUNSCAN changes network.
{% endstep %}

{% step %}

### Find the SUNSCAN again

The app rediscovers it on the network automatically.
{% endstep %}
{% endstepper %}

**If it fails**, the SUNSCAN falls back to its hotspot on its own and the reason is shown: wrong password, network not found…

**Saved networks**: the SUNSCAN rejoins them automatically at startup. You can forget them from Settings, or go back to the hotspot.

### Finding the SUNSCAN on the network

The "Find SUNSCAN" button locates the device automatically on your network. You can also enter its IP address by hand.

### Also

* **Fix**: the "SUNSCAN connected" state stayed on screen after a connection loss.
* **Fix**: some phones, Xiaomi in particular, could not connect to the hotspot.

[Everything on the **Setup** page →](/use/editor/setup.md)

***

## ⚡ Performance

### No more dropped frames while recording

The SER file is now written to the SD card separately from capture. A slow SD card or a momentary stall no longer costs you frames, and writing each frame is much lighter.

If the camera is cut off mid-recording, the SER file is still closed cleanly.

### Faster scan processing, identical results

The most expensive processing steps have been rewritten to run much faster on the Raspberry Pi: mean image, disk reconstruction, edge detection, circularisation and tilt correction.

{% hint style="success" %}
The images produced are **strictly identical** to those of v1.4. Only the computing time changes.
{% endhint %}

### Smoother live preview

* Wi-Fi power saving on the Pi is disabled: it caused latency and stutter.
* Capture and recording now run at high priority.
* System maintenance tasks, which could saturate the SD card mid-scan, are disabled.

### The gallery no longer slows capture down

* Downloads are generated on the fly, without writing anything to the SD card.
* Thumbnails are cached.
* The gallery's disk work runs at low priority.

You can therefore download files during a scan without losing frames.

***

## 🎨 Interface and settings

### New visual identity

* New animated splash screen: a slit sweeps across the SUNSCAN logo before the app opens.
* Unified theme with an emerald green accent.
* Animations on buttons and on the navigation bar.
* Harmonised dialogs.

### Home screen

* Redrawn graph of the Sun's path.
* Solar altitude and azimuth displayed.
* An alert when free space drops below 5 GB.

<figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2F1hnW6Q8V3Z8nSKuv6DaG%2Fsunscan-2-1-v28-home.jpg?alt=media" alt=""><figcaption><p>The home screen: connection status, free space, the Sun's path, altitude and azimuth.</p></figcaption></figure>

### Firmware update

* **Offered as soon as it connects**: when the app detects a SUNSCAN that needs updating, a dialog shows the installed version and the new one, and starts the update directly, without going through Settings. It stays optional ("Later"), but without it the app will most likely be unstable. The dialog only appears once per session.
* **More reliable**: the app waits for the SUNSCAN to reboot and checks the installed version before announcing the result.

### Settings and languages

The Settings screen is reorganised into cards, and languages are now picked with buttons.

### SUNSCAN web interface, completely rebuilt

* A single navigation for scans, stacks, animations and snapshots, with multi-selection, download and delete.
* Full-screen viewer: zoom, rotation, FITS preview.
* Choose which file types to download, with their size shown up front.
* Storage and battery indicators.

<div><figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2FqeXu41MTgMhXazIgCmGa%2Fsunscan-2-1-web-home.jpg?alt=media" alt=""><figcaption><p>The web interface home: the latest scan, observations grouped by day, and the storage and battery indicators.</p></figcaption></figure> <figure><img src="https://3365769115-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj8VBNLZ1OZic6lJdEMn0%2Fuploads%2Fm23Tc5lUCPi7fziKCMGB%2Fsunscan-2-1-web-scan.jpg?alt=media" alt=""><figcaption><p>A scan's screen: each image shows its size and formats, and the Download button opens the file selection.</p></figcaption></figure></div>

[Everything on the **Retrieve your data** page →](/use/retrieve-your-data.md)

***

## 📱 Platform

* **Android**: the app targets Android 16 (SDK 36), as required by Google Play.
* **iOS**: the app asks for local network access, needed to find the SUNSCAN on your Wi-Fi.

***

## Thanks

Special thanks to **Oscar Canales**, for his help and for his suggestions throughout this version.

Thanks as well to [Cédric Champeau](https://melix.github.io/blog/), who builds [SpectroSolHub](https://spectrosolhub.com) and offers it to the community free of charge.

***

## Going further

* Mobile app overview
* [Setup](/use/editor/setup.md)
* Observe
* [Share your images](/use/share/integrations.md)
* [Retrieve your data](/use/retrieve-your-data.md)

{% hint style="success" %}
A question, a bug, a first image to show off? Join us on the [SUNSCAN Discord](https://discord.gg/TNGKj3cQmr). 🌞
{% endhint %}
