{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,28]],"date-time":"2026-01-28T22:35:20Z","timestamp":1769639720839,"version":"3.49.0"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2024,5,11]],"date-time":"2024-05-11T00:00:00Z","timestamp":1715385600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2024,5,31]]},"abstract":"<jats:p>Low-cost gas sensors (LCS) often produce inaccurate measurements due to varying environmental conditions that are not consistent with laboratory settings, leading to inadequate productivity levels compared to high-quality sensors. To address this issue, we propose the use of Machine Learning (ML) to predict accurate concentrations of pollutant gases acquired by LCS integrated into an embedded Internet of Things platform. However, a key challenge is to optimize an accurate ML design under low memory and computation power constraints of microcontrollers (MCUs) while maintaining accurate ML scores.<\/jats:p>\n          <jats:p>After data analysis and pre-processing, we assess and analyze the performance of five ML algorithms to predict the concentration of pollutants gases from multiple specifications (weather, presence of other gases, etc.). To support the experiments, datasets from three sources are used: (1) VOCSens, (2) Belgian Interregional Environment Agency cell, and (3) Visual-Crossing. Once the best model was optimized and validated, multiple hard constraints were added to the selected ML structure to satisfy material and expert requirements. Trained models were ported to be implemented locally in a MCU after comparing several porting libraries. The assembled code obtained is evaluated based on two metrics: storage memory consumption and inference time, relative to the highest attainable capacities.<\/jats:p>\n          <jats:p>The improved random forest is the best ML model for the used dataset with an R2 score meeting of 0.72 and Root Means Square Error of 0.0028 ppm. The best generated Tiny-ML model needs 3% of RAM and 98% of Flash storage.<\/jats:p>\n          <jats:p>The empirical results prove that the developed ML algorithm applied to LCS provides high accuracy to predict pollutant gases. This algorithm can also be used to adjust the LCS systems to provide calibrated data in real time, even if the platform being used is not particularly advanced or powerful.<\/jats:p>","DOI":"10.1145\/3590956","type":"journal-article","created":{"date-parts":[[2023,4,14]],"date-time":"2023-04-14T13:59:15Z","timestamp":1681480755000},"page":"1-23","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Constrained Tiny Machine Learning for Predicting Gas Concentration with I4.0 Low-cost Sensors"],"prefix":"10.1145","volume":"23","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-1891-2318","authenticated-orcid":false,"given":"Mohammed","family":"El Adoui","sequence":"first","affiliation":[{"name":"Postdoctoral researcher, Faculty of Computer Sciences, University of Namur, Namur, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7084-241X","authenticated-orcid":false,"given":"Thomas","family":"Herpoel","sequence":"additional","affiliation":[{"name":"Research Engineer, CeREF-Technique, \u00c9cole d\u2019ing\u00e9nieurs HELHa, Mons, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7859-2750","authenticated-orcid":false,"given":"Beno\u00eet","family":"Fr\u00e9nay","sequence":"additional","affiliation":[{"name":"Professor, Faculty of Computer Sciences, University of Namur, Namur, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,5,11]]},"reference":[{"key":"e_1_3_3_2_2","first-page":"1","article-title":"Low cost sensor with IoT LoRaWAN connectivity and machine learning-based calibration for air pollution monitoring","volume":"70","author":"Ali Sharafat","year":"2020","unstructured":"Sharafat Ali, Tyrel Glass, Baden Parr, Johan Potgieter, and Fakhrul Alam. 2020. Low cost sensor with IoT LoRaWAN connectivity and machine learning-based calibration for air pollution monitoring. IEEE Trans. Instrum. Meas. 70 (2020), 1\u201311.","journal-title":"IEEE Trans. Instrum. Meas."},{"key":"e_1_3_3_3_2","unstructured":"Alphasense. 2023. Retrieved from https:\/\/www.alphasense.com\/products."},{"key":"e_1_3_3_4_2","article-title":"Ambiq Apollo 3 Blue","year":"2022","unstructured":"Ambiq. 2022. Ambiq Apollo 3 Blue. Retrieved September 19, 2022 from https:\/\/ambiq.com\/apollo3-blue\/.","journal-title":"Retrieved September 19, 2022 from https:\/\/ambiq.com\/apollo3-blue\/"},{"key":"e_1_3_3_5_2","article-title":"Arduino Mega 2560 Rev3","year":"2022","unstructured":"Arduino. 2022. Arduino Mega 2560 Rev3. Retrieved September 19, 2022 from https:\/\/store.arduino.cc\/products\/arduino-mega-2560-rev3.","journal-title":"Retrieved September 19, 2022 from https:\/\/store.arduino.cc\/products\/arduino-mega-2560-rev3"},{"key":"e_1_3_3_6_2","article-title":"micromlgen","author":"Arduino Eloquent","year":"2020","unstructured":"Eloquent Arduino. 2020. micromlgen. Retrieved September 19, 2022 from https:\/\/github.com\/eloquentarduino\/micromlgen. ([online] 2020).","journal-title":"Retrieved September 19, 2022 from https:\/\/github.com\/eloquentarduino\/micromlgen"},{"key":"e_1_3_3_7_2","article-title":"TinyMLgen","author":"Arduino Eloquent","year":"2020","unstructured":"Eloquent Arduino. 2020. TinyMLgen. Retrieved August 05, 2022 from https:\/\/github.com\/eloquentarduino\/tinymlgen.","journal-title":"Retrieved August 05, 2022 from https:\/\/github.com\/eloquentarduino\/tinymlgen"},{"key":"e_1_3_3_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/3512889"},{"key":"e_1_3_3_9_2","article-title":"Air Quality Measurements. CELINE","author":"CELINE) Belgian Interregional Environment Agency (IRCEL","unstructured":"Belgian Interregional Environment Agency (IRCEL CELINE). Air Quality Measurements. CELINE. Retrieved from https:\/\/irceline.be\/en\/front-page?set_language=en.","journal-title":"https:\/\/irceline.be\/en\/front-page?set_language=en"},{"key":"e_1_3_3_10_2","first-page":"578","volume-title":"Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918)","author":"Chen Tianqi","year":"2018","unstructured":"Tianqi Chen, Thierry Moreau, Ziheng Jiang, Lianmin Zheng, Eddie Yan, Haichen Shen, Meghan Cowan, Leyuan Wang, Yuwei Hu, Luis Ceze, et\u00a0al. 2018. \\(\\lbrace\\) TVM \\(\\rbrace\\) : An automated \\(\\lbrace\\) End-to-End \\(\\rbrace\\) optimizing compiler for deep learning. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918). 578\u2013594."},{"key":"e_1_3_3_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/3446005"},{"key":"e_1_3_3_12_2","first-page":"800","article-title":"Tensorflow lite micro: Embedded machine learning for TinyML systems","volume":"3","author":"David Robert","year":"2021","unstructured":"Robert David, Jared Duke, Advait Jain, Vijay Janapa Reddi, Nat Jeffries, Jian Li, Nick Kreeger, Ian Nappier, Meghna Natraj, Tiezhen Wang, et\u00a0al. 2021. Tensorflow lite micro: Embedded machine learning for TinyML systems. Proc. Mach. Learn. Syst. 3 (2021), 800\u2013811.","journal-title":"Proc. Mach. Learn. Syst."},{"key":"e_1_3_3_13_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.snb.2007.09.060"},{"key":"e_1_3_3_14_2","article-title":"weka-porter","author":"al. Darius Morawiec et","year":"2017","unstructured":"Darius Morawiec et al.2017. weka-porter. Retrieved August 05, 2022 from https:\/\/github.com\/nok\/weka-porter.","journal-title":"Retrieved August 05, 2022 from https:\/\/github.com\/nok\/weka-porter"},{"key":"e_1_3_3_15_2","article-title":"sklearn-porter","author":"al. Darius Morawiec et","year":"2019","unstructured":"Darius Morawiec et al.2019. sklearn-porter. Retrieved August 05, 2022 from https:\/\/github.com\/nok\/sklearn-porter.","journal-title":"Retrieved August 05, 2022 from https:\/\/github.com\/nok\/sklearn-porter"},{"key":"e_1_3_3_16_2","article-title":"AIfES","year":"2021","unstructured":"Fraunhofer-IMS. 2021. AIfES. Retrieved January 04, 2022 from https:\/\/github.com\/Fraunhofer-IMS\/AIfES_for_Arduino.","journal-title":"Retrieved January 04, 2022 from https:\/\/github.com\/Fraunhofer-IMS\/AIfES_for_Arduino"},{"key":"e_1_3_3_17_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1009778005914"},{"key":"e_1_3_3_18_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10994-006-6226-1"},{"issue":"2","key":"e_1_3_3_19_2","doi-asserted-by":"crossref","first-page":"912","DOI":"10.1016\/j.snb.2011.03.005","article-title":"Analysis of the aging characteristics of SnO2 gas sensors","volume":"156","author":"Huan Chen","year":"2011","unstructured":"Chen Huan, Liu Zhiyu, and Fu Gang. 2011. Analysis of the aging characteristics of SnO2 gas sensors. Sens. Actuat. B: Chem. 156, 2 (2011), 912\u2013917.","journal-title":"Sens. Actuat. B: Chem."},{"key":"e_1_3_3_20_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.snb.2022.131732"},{"issue":"2","key":"e_1_3_3_21_2","doi-asserted-by":"crossref","first-page":"409","DOI":"10.1039\/B915867G","article-title":"Atmospheric stability of arsines and the determination of their oxidative products in atmospheric aerosols (PM 10): Evidence of the widespread phenomena of biovolatilization of arsenic","volume":"12","author":"Jakob Ronit","year":"2010","unstructured":"Ronit Jakob, Anja Roth, Karsten Haas, Eva M. Krupp, Andrea Raab, Patricia Smichowski, Dar\u00edo G\u00f3mez, and J\u00f6rg Feldmann. 2010. Atmospheric stability of arsines and the determination of their oxidative products in atmospheric aerosols (PM 10): Evidence of the widespread phenomena of biovolatilization of arsenic. J. Environ. Monitor. 12, 2 (2010), 409\u2013416.","journal-title":"J. Environ. Monitor."},{"issue":"7","key":"e_1_3_3_22_2","doi-asserted-by":"crossref","first-page":"9971","DOI":"10.1029\/JD095iD07p09971","article-title":"Radiative forcing of climate by changes in the vertical distribution of ozone","volume":"95","author":"Lacis Andrew A.","year":"1990","unstructured":"Andrew A. Lacis, Donald J. Wuebbles, and Jennifer A. Logan. 1990. Radiative forcing of climate by changes in the vertical distribution of ozone. J. Geophys. Res.: Atmosph. 95, D7 (1990), 9971\u20139981.","journal-title":"J. Geophys. Res.: Atmosph."},{"key":"e_1_3_3_23_2","doi-asserted-by":"publisher","DOI":"10.1161\/CIRCULATIONAHA.106.682658"},{"key":"e_1_3_3_24_2","first-page":"11711","article-title":"Mcunet: Tiny deep learning on iot devices","volume":"33","author":"Lin Ji","year":"2020","unstructured":"Ji Lin, Wei-Ming Chen, Yujun Lin, Chuang Gan, Song Han, et\u00a0al. 2020. Mcunet: Tiny deep learning on iot devices. Adv. Neural Inf. Process. Syst. 33 (2020), 11711\u201311722.","journal-title":"Adv. Neural Inf. Process. Syst."},{"key":"e_1_3_3_25_2","doi-asserted-by":"publisher","DOI":"10.3389\/fgene.2019.00120"},{"key":"e_1_3_3_26_2","doi-asserted-by":"crossref","DOI":"10.1145\/3506734","article-title":"Constraint enforcement on decision trees: A survey","author":"Nanfack G\u00e9raldin","year":"2022","unstructured":"G\u00e9raldin Nanfack, Paul Temple, and Beno\u00eet Fr\u00e9nay. 2022. Constraint enforcement on decision trees: A survey. ACM Comput. Surv. (2022).","journal-title":"ACM Comput. Surv."},{"key":"e_1_3_3_27_2","article-title":"uTensor","author":"al. neil-tan et","year":"2017","unstructured":"neil-tan et al.2017. uTensor. Retrieved August 05, 2022 from https:\/\/github.com\/uTensor\/uTensor.","journal-title":"Retrieved August 05, 2022 from https:\/\/github.com\/uTensor\/uTensor"},{"key":"e_1_3_3_28_2","article-title":"m2cgen","author":"al. nikita titov et","year":"2019","unstructured":"nikita titov et al.2019. m2cgen. Retrieved September 19, 2022 from https:\/\/github.com\/BayesWitnesses\/m2cgen.","journal-title":"Retrieved September 19, 2022 from https:\/\/github.com\/BayesWitnesses\/m2cgen"},{"key":"e_1_3_3_29_2","unstructured":"Jon Nordby. 2019. emlearn: Machine learning inference engine for microcontrollers and embedded devices."},{"key":"e_1_3_3_30_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.icte.2020.06.004"},{"key":"e_1_3_3_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/JSEN.2021.3069927"},{"key":"e_1_3_3_32_2","article-title":"A review on TinyML: State-of-the-art and prospects","author":"Ray Partha Pratim","year":"2021","unstructured":"Partha Pratim Ray. 2021. A review on TinyML: State-of-the-art and prospects. J. King Saud Univ.-Comput. Inf. Sci. (2021).","journal-title":"J. King Saud Univ.-Comput. Inf. Sci."},{"key":"e_1_3_3_33_2","doi-asserted-by":"publisher","DOI":"10.3390\/s20092638"},{"key":"e_1_3_3_34_2","doi-asserted-by":"crossref","unstructured":"Swapnil Sayan Saha Sandeep Singh Sandha and Mani Srivastava. 2022. Machine learning for microcontroller-class hardware\u2013A review. (unpublished).","DOI":"10.1109\/JSEN.2022.3210773"},{"key":"e_1_3_3_35_2","doi-asserted-by":"publisher","DOI":"10.5194\/amt-13-1693-2020"},{"issue":"4","key":"e_1_3_3_36_2","doi-asserted-by":"crossref","first-page":"567","DOI":"10.3390\/atmos13040567","article-title":"Assessment of the performance of a low-cost air quality monitor in an indoor environment through different calibration models","volume":"13","author":"Suriano Domenico","year":"2022","unstructured":"Domenico Suriano and Michele Penza. 2022. Assessment of the performance of a low-cost air quality monitor in an indoor environment through different calibration models. Atmosphere 13, 4 (2022), 567.","journal-title":"Atmosphere"},{"key":"e_1_3_3_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2022.3199903"},{"key":"e_1_3_3_38_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-60801-3_27"},{"key":"e_1_3_3_39_2","doi-asserted-by":"publisher","DOI":"10.1007\/s41870-021-00719-6"},{"issue":"17","key":"e_1_3_3_40_2","doi-asserted-by":"crossref","first-page":"3723","DOI":"10.3390\/s19173723","article-title":"Using a low-cost sensor array and machine learning techniques to detect complex pollutant mixtures and identify likely sources","volume":"19","author":"Thorson Jacob","year":"2019","unstructured":"Jacob Thorson, Ashley Collier-Oxandale, and Michael Hannigan. 2019. Using a low-cost sensor array and machine learning techniques to detect complex pollutant mixtures and identify likely sources. Sensors 19, 17 (2019), 3723.","journal-title":"Sensors"},{"key":"e_1_3_3_41_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.snb.2005.02.008"},{"key":"e_1_3_3_42_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.rse.2019.02.022"},{"key":"e_1_3_3_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/3358189"},{"issue":"1","key":"e_1_3_3_44_2","first-page":"27","article-title":"Assessment of pile drivability using random forest regression and multivariate adaptive regression splines","volume":"15","author":"Zhang Wengang","year":"2021","unstructured":"Wengang Zhang, Chongzhi Wu, Yongqin Li, Lin Wang, and P. Samui. 2021. Assessment of pile drivability using random forest regression and multivariate adaptive regression splines. Georisk 15, 1 (2021), 27\u201340.","journal-title":"Georisk"},{"issue":"1","key":"e_1_3_3_45_2","doi-asserted-by":"crossref","first-page":"291","DOI":"10.5194\/amt-11-291-2018","article-title":"A machine learning calibration model using random forests to improve sensor performance for lower-cost air quality monitoring","volume":"11","author":"Zimmerman Naomi","year":"2018","unstructured":"Naomi Zimmerman, Albert A. Presto, Sriniwasa P. N. Kumar, Jason Gu, Aliaksei Hauryliuk, Ellis S. Robinson, Allen L. Robinson, and Ramachandran Subramanian. 2018. A machine learning calibration model using random forests to improve sensor performance for lower-cost air quality monitoring. Atmos. Meas. Techn. 11, 1 (2018), 291\u2013313.","journal-title":"Atmos. Meas. Techn."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3590956","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3590956","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T17:51:22Z","timestamp":1750182682000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3590956"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,5,11]]},"references-count":44,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2024,5,31]]}},"alternative-id":["10.1145\/3590956"],"URL":"https:\/\/doi.org\/10.1145\/3590956","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,5,11]]},"assertion":[{"value":"2022-09-30","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-03-28","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-05-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}