Arduino Lossy Compression Libraries

M. Rubin, M. Wakin, and T. Camp, "A Comparison of On-Mote Lossy Compression Algorithms for Wireless Seismic Data Acquisition," IEEE International Conference on Distributed Computing in Sensor Systems (DCOSS). 8 pages, 2014.


Five on-mote, lossy compression algorithms implemented for the Arduino Fio wireless mote. The algorithms are written to transmit in ASCII for teaching and learning purposes. The code can easily be modified to support binary transmissions. Note that the results in the above reference were obtained using binary transmissions and XBee radio sleep.

The five algorithms implemented are:

1) Compressive Sampling: Randomized Timing Vector (RTV)
2) K-Run Length Encoding (KRLE)
3) Lightweight Temporal Compression (LTC)
4) Wavelet Quantization Thresholding and RLE (WQTR)
5) Low Pass Filtered Fast Fourier Transform (FFT)

Usage Instructions

Each lossy compression algorithm is implemented as an Arduino library. Install each library according to Arduino's library instructions (i.e., place the library within the Arduino "libraries" path). For more information, see: Installing Arduino Libraries. As is customary for Arduino, each library comes with example Sketches to compile, upload, and run. Please see the example(s) in each library for more information on how to use the libraries. After the library is installed, you can run an example by going to File -> Examples -> LIBRARY -> EXAMPLE_SKETCH.

Code Availability

If you would like to obtain the lossy compression libraries for Arduino, please complete the form below. This form will help us keep track of interest (for publications, etc). No personal information will be made available to anyone outside of Toilers. Once you complete this form, you will receive an email from us with information on how to download the code.

Your Full Name:
University or Company Name:
Email Address