TinyEKF is a simple C/C++ implementation of the Extended Kalman filter that is general enough to use on different projects. In order to make it practical for running on Arduino, STM32, and other microcontrollers, it uses static (compile-time) memory allocation (no "new" or "malloc"). The examples folder includes both a "pure C" example from the literature, as well as an Arduino example of sensor fusion.
Arduino users can simply install or drag the whole TinyEKF folder into their Arduino libraries folder. The TinyEKF folder contains a little sensor fusion example using a BMP180 barometer and LM35 temperature sensor. I have run this example on an Arduino Uno and a Teensy 3.2. The BMP180, being an I^2C sensor, should be connected to pins 4 (SDA) and 5 (SCL) of the Uno, or pins 18 (SDA) and 19 (SCL) of the Teensy. For other Arduino boards, consult the documentation on the Wire library. The analog output from the LM35 should go to the A0 pin of your Arduino or Teensy.
A Python version is in the works, as a way of prototyping your EKF before implementing in C/C++.
To learn about the Extended Kalman Filter and why it is so useful, try this interactive tutorial.