finds.dev← search

// the find

espressif/esp-dsp

★ 685 · C · Apache-2.0 · updated May 2026

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →