Cyclic Redundancy Check (CRC) algorithms (e.g. crc16ccitt, crc32) programmatically converted from C99 code generated by pycrc (https://pycrc.org) to Arduino C++ using namespaces and PROGMEM flash memory. For each algorithm, 3 implementation variants have been generated: The 'bit' variant uses brute force bit-by-bit loop (smallest and slowest); the 'nibble' variant uses a 4-bit table (potentially good balance between size and speed); the 'byte' variant uses an 8-bit table (largest but fastest).