Table I. TinyML frameworks. Compatible Platforms Output Languages Interoperable External Libraries Publicly Available Main Developer Framework Algorithms TensorFlow Lite [35] Neural networks ARM Cortex-M C++ 11 TensorFlow Yes Google ELL [37] Neural networks ARM Cortex-M ARM Cortex-A Arduino micro:bit C C++ CNTK Darknet ONNX Yes Microsoft ARM-NN [41] Neural networks ARM Cortex-A ARM Mali Graphics Processors ARM Ethos Processor C TensorFlow Caffe ONNX Yes ARM CMSIS-NN [42] Neural networks ARM Cortex-M C99 TensorFlow Caffe PyTorch Yes ARM STM 32Cube. AI [43] Neural networks STM32 C Keras TensorFlow Lite Caffe ConvNetJs Lasagne Yes STMicroelectronics AIfES [44] Neural networks Windows (DLL) Raspberry Pi Arduino ATMega32U4 STM32 F4 Series ARM Cortex-M4 C TensorFlow Keras No Fraunhofer IMS NanoEdge AI Studio [45] Unsupervised learning ARM Cortex-M C - No Cartesiam MicroMLGen [46] SVM RVM Arduino ESP32 ESP8266 C Scikit-learn Yes Particular developer sklearnporter [47] SVM Decision tree Random Forest Ada Boost Classifier k-NN Naive Bayes Neural networks Multiple constrained & nonconstrained platforms C GO Java JavaScript PHP Ruby Scikit-learn Yes Particular developer m2cgen [48] Linear regression Logistic regression Neural networks SVM Decision tree Random Forest LGBM Classifier Multiple constrained & nonconstrained platforms C C# Dart Go Java JavaScript PHP PowerShell Python R Visual Basic Scikit-learn Yes Particular developer THIRD QUARTER 2020 (Continued ) IEEE CIRCUITS AND SYSTEMS MAGAZINE 11