Skip to content

Releases: stanford-ssi/samwise-flight-software

Vibe Test V6

12 Mar 07:20
4202283

Choose a tag to compare

Note

Feather M4 ground station beacon reception is not that great, RPi 4B is most reliable! Suspect polling rate on smaller boards is not as frequent causing a drop in packets

Tested platforms:

  • Flight Software: PiCubed, Pico-Hat
  • Ground Station Software: Pico-Hat (pico), Feather M4, RPi 4B

The flight software contains the following behavior:

  • samwise_debug.uf2: 5s sleep before initialization (debounce), NO automatic burn_wire (need manual state overwrite command)
  • samwise_flight.uf2: 15min sleep before initialization, automatic burn_wire execution immediately after waking up, commands require authentication using the default HMAC passkey (check /ground_station/config.py)

What's Changed

Full Changelog: dev-v0.2.1...dev-v0.3.0

Range Test v1.1

25 Feb 05:30
fda06be

Choose a tag to compare

Warning

Note that the flight binary has a mandatory 15minutes wait before turning on (for regulation compliance)

What's Changed

  • Ground station pyscript refactoring by @microbites0 in #235
  • Swept CR & SF settings, sweet spot is cr 5 and sf 7, enabled MAX power by @devYaoYH in #281

Full Changelog: dev-v0.2.0...dev-v0.2.1

Range Test v1

24 Feb 04:28
e560a5d

Choose a tag to compare

Fixed a bunch of issues with the rfm9x driver

  1. tx_done interrupt signal not correctly set
  2. rx_done interrupt signal not read properly
  3. max_power not utilized in FLIGHT mode
  4. incorrect low_power configuration (previously always set PA_BOOST to high)
  5. enabled AGC and LDRO in LoRa mode

What's Changed

  • in-progress testing mram driver; trying to fix bugs, not working by @megargayu in #257
  • Design doc for File Transfer Protocol (FTP) by @megargayu in #233
  • updated ftp-docs by @megargayu in #258
  • added filesys list files capability by @megargayu in #262
  • Bazel build system migration! by @devYaoYH in #259
  • Implement FileSystem with tests & FTP headers by @megargayu in #224
  • added filesys read operations, cleaned tests by @megargayu in #266
  • Change CPM_DOWNLOAD_LOCATION path in CMakeLists.txt by @devYaoYH in #236
  • Implement changes to the payload to allow for camera multiplexer compatability, along with programs to allow for easier testing of take_photo and take_vid by @lc0001coll in #270
  • Added turning agc on in rfm9x by @QuackWifHat in #219
  • Feature/radio ldro by @QuackWifHat in #221
  • Remove push trigger paths from C/C++ build workflow by @devYaoYH in #273
  • Sonnet 4.5 applied some fixes as suggested by Gemini to our RFM9x radio driver by @devYaoYH in #279

New Contributors

Full Changelog: dev-v0.1.0...dev-v0.2.0

Vibe Test V5

31 Jan 23:01
94606d7

Choose a tag to compare

Cutting a new release for VibeTest V5.

Release Highlights

Payload System Integration

  • Complete payload software stack integrated into flight repository, including Python-based camera control, SSDV image encoding, and LoRa radio communication (TX/RX)
  • Added serial file transfer and packet handling for ground-to-payload communication
  • Implemented payload heartbeat monitoring and execution commands

Over-The-Air (OTA) Updates

  • Added minimal OTA update example with partition management and dual-image support
  • Created partition table configuration for A/B firmware updates
  • Demonstrated bootloader integration for remote firmware updates

Core System Improvements

  • Multi-MPPT support for independent side panel power management
  • FSM update: default transition to burn wire state after initialization in FLIGHT mode
  • New string utilities with truncation safety (strcpy_trunc, str_utils.h)

Bug Fixes

  • Fixed PING command implementation and packet length handling
  • Corrected payload UART communication and heartbeat logic
  • Improved error handling in telemetry and beacon tasks

Build & Development Infrastructure

  • New build scripts for debug builds (build_debug.sh) and testing (build_tests.sh)
  • Enhanced CI/CD with GitHub Actions workflow for automated documentation
  • Improved c lint formatter to include payload directory

Ground Station Enhancements

  • Dynamic packet encryption support
  • Raspberry Pi compatibility improvements with auto-flushing buffers
  • Beacon parsing for boot count and message ID extraction

Full Changelog Details

New Contributors

Full Changelog: dev-v0.0.5...dev-v0.1.0

Vibe Test V4

30 Oct 22:00
681edaf

Choose a tag to compare

Vibe Test V4 Release

Overview

Vibe Test V4 introduces significant improvements to radio communications, comprehensive testing infrastructure, ADCS
integration, ground station capabilities, and numerous bug fixes. This release includes 20+ merged pull requests with
contributions across the entire flight software stack.

Changelog

Radio & Communications

  • Radio TX Fix (#192): Simplified transmission logic to fix race condition when checking tx_done status
  • Beacon Callsign (#181): Added KC3WNY callsign to beacon packets with updated KSY schema
  • Transmission Logic: Improved LoRA transmission reliability and packet formatting

Ground Station Enhancements

  • Raspberry Pi Compatibility (#190): Made ground station code compatible with RPI GPIO pins
  • Debug Mode (#161): Added debug mode capabilities for ground station operations
  • Remote Control (#123): Enhanced interactive mode with better packet unpacking and radiohead header stripping
  • Command Payload Fixes: Fixed sizing issues on command payloads

Testing Infrastructure

  • Test Framework (#155): Added comprehensive local test framework for non-embedded unit testing
  • FSM Tests (#158): Added finite state machine tests for running state
  • Beacon Task Tests (#164): Added basic harness for radio task testing
  • Visualizer: Built satellite test visualizer with task execution logging, event filtering, and timeline view
  • CI/CD: Added GitHub Actions workflow for automated test execution
  • CTest Integration: Refactored CMakeLists.txt to use ctest for test discovery and execution

ADCS Integration

  • ADCS Task (#139): Added ADCS task to running state
  • ADCS Telemetry (#128): Implemented new architecture with PiCubed-initiated telemetry
  • MRAM Driver (#168): Added MRAM driver for ADCS with proper header includes (#170)

Build System & Development

  • PICUBED-DEBUG Build (#194): Added PICUBED-DEBUG configuration and updated CI workflow
  • SWD Debug Probe (#184): Added script for SWD loading of SAMWISE binary
  • strlcpy Compatibility: Fixed compatibility issues across the codebase

Burn Wire Task

  • Persistent Counter (#135): Added persistent counter for burn wire task attempts
  • State Management: Added override state for resetting burn wire attempts
  • GPIO Improvements: Fixed burn wire GPIO control with proper HIGH/LOW logic and switching delays

Commands & Features

  • PING Command (#129): Implemented ping command to check payload status
  • Boot Count Logging: Added boot count emission in logs for debugging

Bug Fixes & Improvements

  • Device Status GPIO: Moved GPIO initialization earlier in main to properly read RBF pins
  • MRAM Header: Fixed MRAM driver header includes
  • Beacon Offset: Fixed byte offset issues in beacon packets
  • Neopixel: Reduced LED intensity and removed logging neopixel for cleaner logs
  • Dependencies: Updated visualizer dependencies (esbuild, vite) via dependabot

Documentation

  • Onboarding (#156): Updated ONBOARDING.md with improved installation paths
  • Test Infrastructure: Added comprehensive test infrastructure documentation
  • Ground Station: Added README for new ground station code usage

Testing Notes

This release has been validated with:

  • Automated CI/CD pipeline running all unit tests
  • FSM state machine tests
  • Radio transmission and beacon task tests
  • Ground station RPI compatibility testing

Merged Pull Requests (20+)

#194, #192, #190, #184, #181, #170, #168, #164, #163, #161, #158, #156, #155, #144, #140, #139, #138, #136, #135, #129, #128,
#123

Vibe Test V3

21 Jul 00:33
703e350

Choose a tag to compare

Stable build of debug_v3.

Beacon has more details now and we're checking for RBF pin. Still only a 5s timeout initially.

Added ADCS UART task for telemetry polling in samwise_adcs.uf2

Only telemetry & watchdog task in samwise_telemetry_only.uf2 for isolation & testing. Includes:

  • fixed solar charger/faulty status
  • mppt stats
  • battery voltage & current

No WD version of debug_v3 for verifying Watchdog circuit: samwise_no_watchdog.uf2

Vibe Test V2

06 Jul 22:57
c7011e1

Choose a tag to compare

2 builds:

  1. burn_wire_bypass: sets burn_wire to activate as the first task. Retries up to 5 times, 5s intervals. Defaults to running_state afterwards.
    • burn_wire_task runs: Light up WHITE | wait 1s | BURN_A for 5s | BURN_B for 5s | wait 4s (loop back)
  2. debug_v2 with lights! neopixel lights up a different color each task it executes (debugging latest build)
  3. debug_v2_15min: this version has the full 15min delay which we set during FLIGHT as well

Bringup release v0.0.2

31 May 21:27
2026836

Choose a tag to compare

Pre-release

New Bringup uf2 build.

What's Changed

New Contributors

Full Changelog: dev...dev-v0.0.2

Initial Vibe Test Release

23 May 03:32
fba72a4

Choose a tag to compare

Manual release for PICUBED-BRINGUP and PICUBED-DEBUG binaries for vibe test.