AMSKY01 Sensor Data Viewer - Real-time visualization of sensor data
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amsky01-1.0.1.dev20260104003813.tar.gz.
File metadata
- Download URL: amsky01-1.0.1.dev20260104003813.tar.gz
- Upload date:
- Size: 30.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be43722d87fa5412c693b33cd9e91b6c699faa1708f4e7728171585c83bedf1d
|
|
| MD5 |
e442965b6df2f080566f4ea9223d6dc8
|
|
| BLAKE2b-256 |
b3a76d4020b644d559fd5c16d775e1f0e098130bd804ca516c11ccd50fb6147b
|
Provenance
The following attestation bundles were made for amsky01-1.0.1.dev20260104003813.tar.gz:
Publisher:
publish-dev-to-testpypi.yml on roman-dvorak/AMSKY01
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amsky01-1.0.1.dev20260104003813.tar.gz -
Subject digest:
be43722d87fa5412c693b33cd9e91b6c699faa1708f4e7728171585c83bedf1d - Sigstore transparency entry: 789991876
- Sigstore integration time:
-
Permalink:
roman-dvorak/AMSKY01@9778edfe0245222489297a5b30348b8af2689650 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/roman-dvorak
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-dev-to-testpypi.yml@9778edfe0245222489297a5b30348b8af2689650 -
Trigger Event:
push
-
Statement type:
File details
Details for the file amsky01-1.0.1.dev20260104003813-py3-none-any.whl.
File metadata
- Download URL: amsky01-1.0.1.dev20260104003813-py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3336e925bf5e9b0c18e2f729c5b7d20481895cff6060d9ea85a7405807083c95
|
|
| MD5 |
534eef7a4f039b9316ed2eff8326dad2
|
|
| BLAKE2b-256 |
df0527682c9ce5a590640854748b7c0f8277b9af30c230be545e7d98f38bbe89
|
Provenance
The following attestation bundles were made for amsky01-1.0.1.dev20260104003813-py3-none-any.whl:
Publisher:
publish-dev-to-testpypi.yml on roman-dvorak/AMSKY01
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amsky01-1.0.1.dev20260104003813-py3-none-any.whl -
Subject digest:
3336e925bf5e9b0c18e2f729c5b7d20481895cff6060d9ea85a7405807083c95 - Sigstore transparency entry: 789991879
- Sigstore integration time:
-
Permalink:
roman-dvorak/AMSKY01@9778edfe0245222489297a5b30348b8af2689650 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/roman-dvorak
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-dev-to-testpypi.yml@9778edfe0245222489297a5b30348b8af2689650 -
Trigger Event:
push
-
Statement type: