// the find
espressif/esp-dsp
DSP library for ESP-IDF
Espressif's official DSP library for ESP32 chips, providing hand-optimized assembly implementations of FFT, FIR, IIR, dot product, matrix ops, and Kalman filtering. It's for embedded developers doing signal processing on ESP32/S3/P4 hardware who need to squeeze actual performance out of the Xtensa and RISC-V cores rather than running generic C.
The assembly optimization story is serious — separate implementations for ae32, aes3, and arp4 instruction sets mean the library actually targets the SIMD extensions specific to each chip variant, not just generic Xtensa. Both float (f32) and fixed-point (s16, s8) paths exist throughout, which matters when you're running on a device without an FPU or need to fit more operations into a tight loop. The benchmark docs and published CSV results let you see actual cycle counts before committing to an approach. IDF Component Registry integration means `idf.py add-dependency` just works — no manual submodule juggling.
685 stars after years of being the official Espressif library is a signal that the embedded DSP market for ESP32 is smaller than the hype suggests, and the library hasn't found much traction outside Espressif's own examples. The Kalman filter implementation is a 13-state EKF targeting IMU fusion specifically — it's not a general Kalman library, so don't expect to drop it into an arbitrary estimation problem. DCT support exists but is underdocumented compared to FFT. The library is tightly coupled to ESP-IDF's build system and Kconfig; using it outside that ecosystem (e.g., unit testing on a host machine) requires the `include_sim` shims, which are sparse and clearly an afterthought.