# Advancing TinyML in IoT: A Holistic System-Level Perspective for Resource-Constrained AI
## 2 Background and Motivation
### Defining Resource-Constrained Devices  
Resource-constrained devices are often microcontrollers or small single-board computers that exhibit stringent limitations in memory, compute capacity, and power supply [15]. These devices may only support a few megabytes of RAM and rely on low-frequency CPUs, making them vastly less capable than typical smartphones or personal computers [31]. Many of these devices operate intermittently on battery power or energy-harvesting sources such as solar or kinetic energy, adding further constraints to how often (and how intensively) AI tasks can be executed. Network connectivity also varies widely in such setups, with some devices operating in remote or isolated locations that only occasionally synchronize data [32].  
Hardware diversity compounds these challenges. Unlike the relatively homogeneous environments of cloud data centers, embedded systems exist in a fragmented ecosystem of different instruction sets, memory hierarchies, and peripheral configurations [13]. This heterogeneity forces developers to consider platform-specific optimizations to ensure that AI pipelines run efficiently [33]. The specific application also dictates the AI task's complexity and associated resource needs. Detecting a simple wake word for voice control is computationally inexpensive, while predicting machine anomalies from real-time vibration data demands significant processing power and memory [34]. In each scenario, limited hardware capabilities demand specialized techniques for model design, training, and deployment to ensure that performance metrics--such as inference time, accuracy, and energy usage--meet application requirements [20].  
The practical implementation of TinyML applications is deeply intertwined with the capabilities and limitations of the underlying hardware, a landscape marked by significant resource constraints and platform heterogeneity. To concretely illustrate this operational environment, Table 2 presents a selection of commonly used development boards prominent in the TinyML ecosystem. This table highlights the substantial diversity found across these platforms, detailing key specifications such as the microcontroller unit (MCU), CPU architecture, clock frequency, memory resources (flash and SRAM), and physical form factor. By also listing typical applications for each board, the table underscores the varied hardware requirements driven by different edge AI tasks and provides context for the platform-specific optimization challenges inherent in the field.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Board** & **MCU** & **Main Features** & **Dimensions** & **Applications** & **References** \\ \hline \multirow{4}{*}{
\begin{tabular}{c} Adafruit \\ EdgeBadge \\ \end{tabular} } & \multirow{4}{*}{ATSAMD5 IJ19} & ARM Cortex-M4F, & \multirow{4}{*}{86.3 \(\times\) 54.3 mm} & Edge-based image recognition and processing using & \multirow{4}{*}{[35]} \\  & & & SRAM & & TinyML \\ \hline \hline \end{tabular}
\end{table}
Table 2: Examples of commonly used boards for TinyML projects.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Board** & **MCU** & **Main Features** & **Dimensions** & **Applications** & **References** \\ \hline Arducam & & Dual-core ARM & & Data collection & \\ Arducam & & Cortex-M0+, & & and lightweight & \\ Pico4 ML-BLE & RP2040 & 133 MHz, 2 MB & \(51\times 21\) mm & image processing & [36] \\ Pico4 ML-BLE & & flash, 264 KB & & with TinyML & \\  & & SRAM & & models & \\ \hline Arduino Nano & & Cortex-M4, & & Voice recognition & \\