Embedded Tool Kit (ETK) is a loose collection of C++ classes and templates and I’ve found extremely useful.

GitHub Repository


It includes classes for

  • Control systems (PID, Evolutionary PID, Fuzzy logic)
  • Signal processing (low pass and high pass filters)
  • String manipulation (float & integer parsing, atof & atoi implementations, StaticStrings, string splitting and tokenising)
  • Containers (array, list, short term memory)
  • I/O (ring buffer, cout)
  • Mathematics (vector, matrix, quaternion)
  • Various utilities (math utilities, integer ranged loop utility, common unit conversions, bits, time)

ETK uses C++14 features. It has been tested with g++-4.9.