This release is a pre-release and may not be stable for production use.
AMSKY01: Sky Quality & Cloud Detection Sensor
AMSKY01 is a specialized sensor for astronomers and observatories. It combines two essential measurements in one device:
- Sky Quality Meter (SQM) - measures sky brightness for light pollution assessment
- Cloud Detector - uses thermal IR sky temperature measurement to detect cloud coverage
With both USB (CDC serial) and RS485 interfaces, AMSKY01 integrates easily into observatory automation systems, building management systems, or connects directly to computers for monitoring and data logging.
Product page: https://astrometers.eu/products/AMSKY01/
Documentation: https://astrometers.eu/docs/AMSKY01/
Key Features
- Sky Quality Measurement (SQM) - Real-time readings in magnitudes per square arcsecond (mag/arcsec²) for objective sky brightness assessment
- Cloud Coverage Detection - Thermal IR sky temperature sensor for fast and reliable cloud detection
- Dual Interface - USB-C (CDC serial) and RS485 for flexible connectivity
- Open Protocol - Documented protocol for custom integration and automation
- Weatherproof Design - Rugged enclosure for permanent outdoor installations
Applications
- Light pollution monitoring and sky quality documentation
- Automated cloud detection for remote and robotic observatories
- Integration into observatory automation and building management systems via RS485
- Sky monitoring networks for astronomy research
- Citizen science projects
Where to Get It
To purchase AMSKY01 or for more information, contact us at info@astrometers.eu
Communication Protocol
AMSKY01 outputs data via USB CDC serial at 115200 baud in CSV format. All data messages start with $ prefix. Lines starting with # are comments/debug messages for human readability and should be ignored by parsing software.
Startup Messages
# AMSKY01A
# Serial Number: <serial_number>
# FW Version: <version>
# Git Hash: <hash>
# Git Branch: <branch>
#
$HELLO,AMSKY01A,<serial_number>,<fw_version>,<git_hash>,<git_branch>
The $HELLO message contains structured device identification for automated parsing:
serial_number- Unique 16-character hex ID from RP2040 chip (e.g.,E6614103E7452D2F)
Data Output (every 2 seconds)
Sky Quality (SQM) Data:
$light,<lux>,<full_raw>,<ir_raw>,<gain>,<integration_time>,<sqm>
lux- Normalized lux value (2 decimal places)full_raw- Raw full spectrum sensor readingir_raw- Raw infrared sensor readinggain- Current sensor gain settingintegration_time- Current integration timesqm- Sky quality in mag/arcsec² (2 decimal places)
Cloud Detection Data:
$cloud,<tl>,<tr>,<bl>,<br>,<center>
tl,tr,bl,br- Corner temperatures in °C (top-left, top-right, bottom-left, bottom-right)center- Center sky temperature in °C
Environmental Data:
$hygro,<temperature>,<humidity>,<dew_point>
temperature- Ambient temperature in °Chumidity- Relative humidity in %dew_point- Dew point temperature in °C
Cloud Sensor Metadata:
$cloud_meta,<vdd>,<ta>
vdd- Sensor supply voltageta- Ambient temperature from thermal sensor
Serial Commands
Send commands via serial (115200 baud) to configure the device:
Thermal Map:
thrmap_on- Enable full 16×12 thermal map outputthrmap_off- Disable thermal map output
When enabled, device outputs:
$thrmap,<pixel0>,<pixel1>,...,<pixel191>
192 temperature values in °C (16×12 array)
Configuration:
Configuration is stored persistently in EEPROM and survives power cycles.
config_show- Display current configurationconfig_save- Save current configuration to EEPROMconfig_reset- Reset configuration to factory defaults
SQM Calibration:
set sqm_offset <value>- Set SQM calibration offset (default: 8.5265)- This value combines the standard mag zeropoint (12.58) and solid angle correction for the 10° FOV lens
- Adjust this value to calibrate against a reference SQM meter
- The calculation uses fixed Pogson's ratio (-2.5) from the magnitude scale
Alert Configuration:
The device has a hardware alert output (GPIO 27) that can trigger on cloud detection and/or light levels.
set alert_enabled <0|1>- Enable (1) or disable (0) alert outputset alert_cloud_temp <value>- Cloud temperature threshold in °C (default: -10.0)set alert_cloud_below <0|1>- Alert when temp < threshold (1) or > threshold (0)set alert_light_lux <value>- Light threshold in lux (default: 10.0)set alert_light_above <0|1>- Alert when light > threshold (1) or < threshold (0)
Device Settings:
set device_label <text>- Set custom device label/location (max 31 chars)
Example Usage:
set alert_enabled 1
set alert_cloud_temp -15.0
set alert_cloud_below 1
config_save
This enables alerts when sky temperature drops below -15°C (indicating clouds).
Firmware
Pre-built firmware binaries are available:
- Stable releases: Releases page
- Development builds: Actions tab
Firmware files:
*.uf2- For flashing via USB bootloader (drag & drop)*.bin- Binary for advanced flashing methods*.elf- Debug symbols
Metadata
Release files for amsky01 1.0.1.dev20260104003813
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| amsky01-1.0.1.dev20260104003813.tar.gz | 30.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| amsky01-1.0.1.dev20260104003813-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.4 kB
Release files / amsky01-1.0.1.dev20260104003813.tar.gz
| Download URL | amsky01-1.0.1.dev20260104003813.tar.gz |
|---|---|
| Size | 30.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be43722d87fa5412c693b33cd9e91b6c699faa1708f4e7728171585c83bedf1d
|
|
BLAKE2b-256 checksum How to use checksums |
b3a76d4020b644d559fd5c16d775e1f0e098130bd804ca516c11ccd50fb6147b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.
Transparency logRelease files / amsky01-1.0.1.dev20260104003813-py3-none-any.whl
| Download URL | amsky01-1.0.1.dev20260104003813-py3-none-any.whl |
|---|---|
| Size | 31.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3336e925bf5e9b0c18e2f729c5b7d20481895cff6060d9ea85a7405807083c95
|
|
BLAKE2b-256 checksum How to use checksums |
df0527682c9ce5a590640854748b7c0f8277b9af30c230be545e7d98f38bbe89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.
Transparency logSecurity for amsky01 1.0.1.dev20260104003813
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for amsky01-1.0.1.dev20260104003813.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.