I needed to perform digital filtering on Arduino to reduce quantization error of measurements, but the libraries available were geared towards inflexible low-order filters or post-processing using an FFT, neither of which fit my application. I was taking Digital Signal Processing at the time, so I decided to make my own library. Notable about this library is the filter design tool, made in Python. It allows you to design the optimal high-pass or low-pass filter and test it on some recorded data before deploying it on the microcontroller. This speeds up the filter tuning process and also gives increased performance on the Arduino by not needing to compute the filter at boot-up.
There are no artifacts for this project