WISPR passive acoustic sensor

Guidance for installation and operation of a WISPR passive acoustic recorder

DRAFT

WISPR stands for Wideband Intelligent Signal Processor and Recorder. It is commercially available from Embedded Ocean Systems and has been implemented in a variety of glider types (Seaglider, Slocum, and Oceanscout).

Table of contents

WISPR operation
Seaglider installation
WISPR upgrades Calibration (separate page)

WISPR operation

These instructions are for the third generation WISPR3 recorder installed on a Seaglider

Bench testing

Add info here or links to WISPR3 documentation for recording from a WISPR system on the bench, either installed on a glider or free on the bench.

Program for a mission

Specific settings for the WISPR system (sampling rate, gain, etc) are set via a wispr.txt file stored on the WISPR memory (microSD) or set manually through direct serial communications. These must be set before a mission when the Seaglider is opened up and being refurbished and prepped for the mission. If no wispr.txt is present, a default wispr.txt file will be created when WISPR powers on.

Detailed descriptions of each input can be found in the WISPR3 File Formats Manual.

Example files can be found in the standard_files folder of this repository. wispr.txt_v1.2.250828_200kHz_120sec provides an example for a WISPR3 with firmware viresion 1.2.250828 that will sample at 200 kHz with 24-bit resolution and no additional gain and will create 120 sec files. Note the sensor and platform IDs would need to be updated for the specific board and glider.

A copy of the wispr.txt file that was lodaed should be saved with the date and glider serial number for reference (E.g., wispr.txt_v1.2.250828_200kHz_120sec_sg679_loaded_20251117 in SG679’s summer 2025 refurb folder).

WISPR 3.0 configuration
sensor_id: 2402
platform_id: SG680
start_state: 2
start_mode: 3
glider_mode: 0
adc_type: LTC2512
adc_sample_size: 3
adc_sampling_rate: 200000
adc_channels: 1
adc_gain: 0
adc_decimation: 4
adc_timestamp: 0
secs_per_file: 120
max_file_size: 204800
run_time: 0
duty_cycle: 0
debug_level: 1
fft_size: 512
fft_overlap: 0
fft_window_type: 0
rtc_aging: 0
rtc_freq: 32767
msg_baud: 9600
msg_termination: 13
msg_handshake: 0

During a mission

The Seaglider piloting cmdfile has four parameters that control WISPR operation while the glider is deployed. While these can be changed during a mission, these are typically set once at the start of a mission and should only be changed if the sampling scheme needs to be changed (e.g., turning off WISPR to reduce battery consumption or only sampling on ascents but not descents).

$WS_RECORDABOVE,-10.0   # depth at which WISPR will record, 0 will never record
$WS_PROFILE,3.0         # which profiles to record (1-descent, 2-ascent, 3-both)
$WS_XMITPROFILE,3.0     # which profiles to transmit (1-descent, 2-ascent, 3-both)
$WS_UPLOADMAX,100.0     # max upload size (in ?? bytes)

In this example WISPR will turn on and record at all depths below 10 m, on both descents and ascents, will transmit data back for both profiles (only relevant with a real-time system), and transmitted files will not be bigger than 100 bytes.

For $WS_RECORDABOVE a positive value indicates to sampling shallower than the specified depth (e.g., setting to 500 will record at depths from 0 to 500 m) and a negative value indicates to sample below the specified depth (e.g., setting to -20 will record at all depths below 20 m).

Pseudo-parameters that are reported in the logfile:

$WS_STARTS,0.0          # pseudo-parameter, number of starts is reported in `logfile`
$WS_NDIVE,1.0           # ?? psuedo-parameter

Seaglider installation

Hardware installation

More here later on how to physically install a WISPR3 system on a Seaglider…

This should include information on mounting, cabling, and hydrophone connections.

A shortcut to documents from the OSU Bioacoustics Seaglider Group related to WISPR and WISPR3 hardware installation can be found in the NMFS PIC Gliders Shared Drive. This includes links to folders of photos of WISPR3 systems installed on SG607 and SG679.

Seaglider logdev configuration

WISPR is controlled by the Seaglider logdev interface where it is installed as a logger device. A wslog.cnf logger configuration file manages how the Seaglider communicates with and controls WISPR. This file can contain a variety of commands outlined in detail in the IOP logdev manual. This file is loaded during initial WISPR installation and otherwise should not need to be modified unless the WISPR hardware or software is changed.

The exact contents of this file (the amount of pauses and warmups) appears to be sensitive to changes in WISPR3 firmware so thorough testing is required after updating any firmware. Through testing, the below file should operate a WISPR3 running firmware v1.2.20250828 without a real-time system (historical firmware copies can be found in this repo’s resources folder).

name=WISPR
prefix=ws
cmdprefix=$WS_
baud=9600
voltage=10
current=.0592
warmup=15000
timeout=7000
prompt=W>
datatype=z
start="%{$TME,%s*ff}%r%9%9%9%9$RUN*ee%r%9%9%9%9%9%9"
stop="$EXI*a6%r%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9"

An example wslog.cnf for WISPR3 firmware version 1.2.250828 is located in the standard_files folder: wslog.cnf_v1.2.250828_for_seaglider.

Load wslog.cnf

Instructions to load a new wslog.cnf are available below or as a Google Doc here: Load wslog.cnf.

To update a wslog.cnf file on a Seaglider, the previously loaded configuration must be deleted from the logger and the file deleted from the Seaglider, then the new file must be transferred to the Seaglider memory and then loaded into the logger.

On the Seaglider, the WISPR configuration file must be called wslog.cnf so in order to track different versions, always save a copy of the uploaded file with a unique name such as wslog.cnf_sg680_20250829 so it can be referenced later if needed. The Seaglider manufacturer logger installation/logdev documentation can be found at iop.apl.washington.edu/iopsg/logdev.txt.

Steps:
  1. Clear the currently loaded configuration
    1. Navigate through the main menu to param > config > logdel
    2. Choose 0 for WISPR (or whichever slot WISPR is loaded into)
    3. After hitting [CR] it will ask to confirm reinitializing the logger and select Y to do so
  2. Delete old wslog.cnf using pdos
    1. Access pdos from the glider main menu
    2. Use ls to list all currently loaded files and check for presence of wslog.cnf
    3. Use cat wslog.cnf to view an existing configuration file
    4. Use del wslog.cnf to delete the existing file
    5. Use ls to confirm it has been removed
  3. Upload the new wslog.cnf using pdos
    1. First use ls to confirm wslog.cnf isn’t there any more
    2. Prepare the Seaglider to receive the file via XMODEM by typing xr wslog.cnf
    3. The glider console will then be waiting for the file. Within TeraTerm navigate to File > Transfer > XMODEM > Send and select the desired file
    4. A window will pop up showing the transfer progress; it should only take a few seconds. If it is taking a long time, hit cancel and try again
    5. Verify the correct new file has been uploaded with cat wslog.cnf
    6. Type strip1a wslog.cnf to remove any extra lines or spaces
  4. Add logger back in with params > config > logadd
    1. Choose slot 0 and then type in name of file wslog.cnf
    2. It will then prompt if you want to reinitalize hardware configuration and choose Y
  5. Check things
    1. Via the Seaglider menu navigate to hardware > config > logger
    2. Select slot 1
    3. Confirm it says WISPR USART2 pwr f6
    4. Select Y when prompted to re-initialize

WISPR updates

WISPR3 firmware updates must be flashed to the WISPR system. The latest wispr3.bin and wispr3_bl.bin files are available on the wispr3 GitHub repo Release folder. It has a README with instructions.

WISPR3s purchased after 2025 come with a bootloader pre-installed. If there is no bootloader on the system, you must first flash the file wispr3_bl.bin using atmel ice programmer. You can tell if there is a bootloader on the system at WISPR startup if it displays the following message:

EOS WISPR 3.0 Bootloader v1.0
Start Application at flash address 0x10000

If a bootloader is present, firmware can be flashed by simply loading the wispr3.bin file onto a blank microSD and starting up the system. This will overwrite any existing wispr.txt sampling configuration and replace it with a default so after you update the firmware, you should modify the created default with the desired glider and mission specific settings and run a test to make sure they have been implemented.

Records of firmware versions can be found the resources/WISPR/firmware folder of this GitHub repository.

WISPR calibration

Own page - WISPR calibration

Back to top