Release 3.0.0
Release Date: August 06, 2026
Release 3.0.0 is a major release focused on the Satellite Network. It matures the satellite pass-prediction pipeline, introduces a Direct Test Mode (DTM) for RF bring-up, and adds broad new platform and board support across Zephyr, FreeRTOS/TI, and ESP-IDF. With this release, the Satellite Network graduates to a production-ready, stable API, which drives the MAJOR version increment.
Overview
The headline of 3.0.0 is a substantially more capable and correct Satellite Network. Pass prediction now reports the maximum elevation angle, pass start time, and pass duration, and lets applications filter passes by a configurable minimum elevation angle. A new Direct Test Mode exposes low-level transmit and continuous-wave controls for RF validation and certification. Satellite radio support has been added for TI CC27xx/CC23xx, Nordic nRF52/nRF53/nRF54 (including a SoftDevice-based path), Silicon Labs EFR32xG24, and Espressif ESP32-C6, and a full set of dual-stack, continuous, and DTM samples ships for each platform.
As part of stabilizing the API, the pass-prediction functions were moved into
the hubble_sat_ namespace and now use milliseconds for all time values,
aligning them with the rest of the SDK.
Key Features
Satellite Pass Prediction
Pass results now report richer information via
struct hubble_sat_pass_info: the maximum elevation angle (max_elevation_angle), the pass start time (start), and the pass duration (duration).hubble_sat_min_elevation_angle_set()filters out passes whose peak elevation is below a caller-defined angle, so applications only transmit when a satellite is high enough in the sky.All pass-prediction time values now use milliseconds since the Unix epoch, consistent with the rest of the SDK time API.
Numerous accuracy and robustness improvements to the orbital-mechanics core, including use of the sidereal day, refined pass culmination, corrected longitude tolerance and range reduction, and underflow-safe altitude computation. The math avoids linking
libmby providing small internalpow()andsin()implementations.
Direct Test Mode (DTM)
A new DTM interface (hubble/sat/dtm.h) supports RF bring-up, certification,
and manufacturing test:
hubble_sat_dtm_packet_send()— transmit a single test packet of a chosen payload pattern (HUBBLE_SAT_DTM_PACKET_SINGLE_FRAME,_0,_4,_9,_13) on a specific channel, or hop across channels.hubble_sat_dtm_power_set()— set the transmit power.hubble_sat_dtm_cw_start()/hubble_sat_dtm_cw_stop()— start and stop a continuous-wave carrier on a given channel.A “one frame only” mode (
HUBBLE_SAT_DTM_PACKET_ONE_FRAME_ONLY_LEN) transmits just the first frame of a packet.
Clock Drift and Reliability
Satellite packet keys are now derived from the configured counter source, unifying key derivation across Unix-time and device-uptime modes.
Drift-based retry compensation uses the internal time-drift estimate; the accumulated drift is clamped to 90 minutes to bound worst-case behavior.
The default device time-drift rate (
CONFIG_HUBBLE_SAT_NETWORK_DEVICE_TDR) changed to 10 ppm.
Platform and Board Support
FreeRTOS / TI: Satellite radio support for CC27xx and CC23xx; DTM support; board files and radio flags driven through SysConfig.
Zephyr / Nordic: SoftDevice-based satellite implementation; dual-stack support; DTM support.
Zephyr / Silicon Labs: Satellite radio support for EFR32xG24 using the RAIL radio abstraction; DTM support.
ESP-IDF / Espressif: ESP32-C6 satellite support; the required PHY library is selected automatically when the satellite network is enabled; DTM support.
Terrestrial (BLE) Network
hubble_init()now accepts aNULLkey, deferring key configuration to a laterhubble_key_set()call.New
ble-beacon-mfg-datasample demonstrates advertising with manufacturer data.
Device Configuration Vector (HDCV)
A new Hubble Device Configuration Vector (HDCV) API reports a device’s
build-time configuration as a compact, versioned string, for example
HDCV:1.0/E:256/CS:UT/RP:S86400/N:T/TV:1:
hubble_config_vector_get()returns this build’s HDCV string. It encodes key size, EID counter source and rotation period, and which networks (terrestrial, satellite, or both) and protocol versions are compiled in, so it can be logged, stored, or reported without any extra configuration.hubble_config_vector_check()compares a stored or reported HDCV string against the running build’s vector, letting an application confirm a device is still configured as expected.
Sample Applications
New samples shipping with 3.0.0:
ESP-IDF:
sat-continuous,sat-dtm, andsat-dual-stack.Zephyr:
sat-dual-stack,sat-dtm,sat-continuous(with board overlays, including Silicon Labs xG24 dev boards), andble-beacon-mfg-data.FreeRTOS / TI:
sat-continuous,sat-dtm, andsat-dual-stack.
Documentation
New Satellite Network overview, plus dedicated reliability, clock-drift, and board-support pages.
New platform integration guides for the Nordic nRF Connect SDK, TI SimpleLink, and ESP-IDF.
Pass-prediction best-practices guide covering minimum elevation angle, reading the pass result, and computing multiple upcoming passes.
Terrestrial Network overview and clarified BLE/terrestrial naming.
API Highlights
Satellite Network APIs:
hubble_sat_packet_get()— build a packet from payload byteshubble_sat_packet_frames_get()— split a packet into radio frameshubble_sat_packet_send()— transmit a packet to satellitehubble_sat_satellites_set()— configure orbital parametershubble_sat_next_pass_get()— predict the next pass over a pointhubble_sat_next_pass_region_get()— predict the next pass over a region (experimental)hubble_sat_min_elevation_angle_set()— set the minimum pass elevationhubble_sat_dtm_packet_send(),hubble_sat_dtm_power_set(),hubble_sat_dtm_cw_start(),hubble_sat_dtm_cw_stop()— Direct Test Mode controls
Device Configuration Vector API:
hubble_config_vector_get()— get this build’s HDCV stringhubble_config_vector_check()— check a device’s HDCV against this build’s vector
Compatibility
API compatibility: Both the BLE Terrestrial Network API and the Satellite Network API are stable within the 3.x series.
Testing
This release has been validated through:
Unit tests for BLE advertisement generation and encryption
Unit tests for EID generation in both counter source modes
Satellite packet encoding, frame-splitting, and payload-length validation tests
Pass-prediction (ephemeris) unit tests
HDCV generation and matching, including mismatched, truncated, and malformed vectors
Platform-specific CI builds: Zephyr, FreeRTOS (TI), ESP-IDF and NCS (nRF Connect SDK)