Teensy microcontrollers (4.1 and 3.6) control a submersible actuator via an 8 bit +5/-5VDC DAC. Inputs range from ultrasonic signal detection at 27 and 37.5 khz (via the Teensy Audio Adapter running a 16 bit sample rate of 200khz) to UDP packets over native ethernet on the teensy 4.1. Non-blocking functions include: detect and decode ultrasonic pulses over a hydrophone and amp, parse and respond to ethernet UDP packets from an off the shelf actuator controller GUI, handle 3 isolated external voltage inputs, manage 24V NiMH battery voltage and charge via a 150ma fixed current LED supply. Motion control positions saved to EEPROM after every completed command, and telemetry to local files on an internal SD card. Hall pulse feedback from motor controller board and relay controls for charging, brake release, and battery disconnect. Includes current inrush limiter for battery/motor capacitor connections. Includes internal humidity and temperature sensors. All isolated onboard power. Deployed several times in the gulf of Alaska and off the Oregon coast.
All done with KiCad and the TeensyDuino fork of the Arduino IDE.
Some more project details here: