## 2 General Design and Features of the Instrument v2021  
### Microcontroller  
Unlike the instrument v2018, and unlike all other wave-measuring instruments that we are aware of, the v2021 is based solely on a high-performance microcontroller for performing both data acquisition and in situ data processing. This is a major shift from previous designs, which usually resorted to some sort of embedded microcomputer for performing the computation of wave spectra (typical previous solutions, such as those based on a Raspberry Pi, run a stripped down version of Linux or Windows), with the measurements themselves being performed either by the same microcomputer, or by a separate, lower power microcontroller. This traditional approach has a dramatic effect on power consumption. A typical microcomputer consumes around 1 to 2 W (for example, the Raspberry Pi used in the v2018 consumes typically up to around 350 mA while running at 5 V), while a modern microcontroller can consume as little as 1 to 2 mW (the microcontroller used in the v2021 consumes typically 500 mA while running at a 3.3 V voltage). This factor 1000 in power efficiency allows for significant simplifications and flexibility in the  
Figure 2: Full lineage of our present open-source instrument. Developing reliable autonomous instruments is a long-term effort. The development of our instrument can be tracked back to 2015 [41] and 2016 [21], though the instruments used at the time were simple loggers. Using loggers is still an attractive solution when the instruments can be recovered, and the logger v2016 design is still in use today. By contrast, our first truly autonomous, satellite-enabled instrument was designed in 2017–2018 [51], and the present instrument is the second iteration around this design.  
instrument design. This is of particular importance to instrument performance in the polar regions where the battery is generally the main limiting factor in the field experiment duration. In addition, microcomputers rely on a complete operating system for running their workloads. These are complex pieces of software, with several possibilities for things to go wrong, and require the user to implement a number of techniques to avoid locking of the system. By contrast, microcontrollers can be programmed without the use of any operating system, which allows to build more robust embedded systems that are more reliable in demanding remote environments.  
To this end, the instrument v2021 uses an Ambiq Apollo 3 BLU ultra-low-power microcontroller unit [57] embedded within a board from the Sparkfun Artemis ecosystem (Artemis Global Tracker, [58]). This allows to use the complete Sparkfun Artemis ecosystem toolchain to simplify the programming of the Ambiq Apollo using high-level C++ code. Effectively, the user is able to use off-the-shelf, modular, high-level libraries and does not need to perform low-level driver and firmware development. The Ambiq Apollo microcontroller used is an ARM Cortex M4-F implementation that runs at 48 MHz (with a 96 MHz boost mode), uses 500 \(\mu\)A of sustained power at 3.3 V, and features a complete floating point unit for performing fast mathematical operations. Since this processor is an ARM Cortex M4 implementation, the full ARM-developed libraries for digital signal processing, including a wide range of spectral analysis tools, are available out of the box through the Sparkfun toolchain, which includes a copy of the CMSIS library (this features, in particular, real and complex FFTs, cross-correlation computations, and similar, which are available as highly optimized, ready-to-use functions). The total nonvolatile memory available for storing the program amounts to 1 MB, and the RAM has a size of 384 kB. To put this in perspective, storing 20 min of IMU data recorded at 10 Hz into RAM, processing the data, and sending the processed data through Iridium, occupies around one third of the total memory available on the chip. This means that a lot of additional customized functionality can be added in the future to the v2021.