Outdated Arduino TensorFlow Lite Libraries and Device Compatibility Issues
Summary
The current Arduino TensorFlow Lite (TFLite) libraries are outdated and do not compile properly. These libraries are primarily designed for Arduino Nano 33 BLE and lack proper support for Wio Terminal and Arduino ESP32 devices.
Issue Details
-
Outdated TFLite Libraries
- The libraries available in the Arduino ecosystem are not maintained or updated in sync with TensorFlow Lite Micro.
- Key headers such as:
micro_error_reporter.h
version.h
-
micro_mutable_op_resolver.h
are either missing or incompatible with the latest toolchains.
-
Compilation Errors Across Different Boards
-
Wio Terminal (SAMD51):
- Compilation fails due to missing dependencies.
- No official support from the TFLite Micro library.
-
ESP32:
- Arduino_TensorFlowLite does not provide a compatible implementation.
- ESP-NN is the preferred framework, but it lacks integration with the standard Arduino ecosystem.
-
Only Arduino Nano 33 BLE is Supported:
- The library is tightly integrated with CMSIS-NN, which is specific to the nRF52840 MCU in the Nano 33 BLE.
-
Wio Terminal (SAMD51):
Impact on Platform Support
Given that Wio Terminal and ESP32 are not officially supported by TensorFlow Lite Micro, we will need to remove these devices from our list of acceptable hardware for our platform. Maintaining compatibility would require manual library updates, which is unsustainable.
Recommended Action
-
Drop Wio Terminal and ESP32 from Supported Devices
- Remove them from documentation and device compatibility lists.
- Inform users that these boards are not supported for TensorFlow Lite inference.
-
Explore Alternative AI Solutions for ESP32 and Wio Terminal
- ESP-NN for ESP32.
- Edge Impulse for Wio Terminal.
-
Request Library Maintainers for Updates
- Open an issue on TensorFlow Lite Micro's GitHub requesting better Arduino compatibility.
- Consider maintaining a custom fork if required.
Please confirm if we should proceed with these actions.