Investigating Energy Consumption and Responsiveness of low power modes in MicroPython for STM32WB55

University essay from Jönköping University/JTH, Avdelningen för datateknik och informatik; Jönköping University/Tekniska Högskolan

Abstract: Introduction: This paper presented an analysis of the energy consumption and responsiveness of MicroPython in an embedded system. The purpose of this study was to understand the energy consumption and response time of a MicroPython based system to optimize its overall performance and efficiency. Two research questions had been formulated to concretize the purpose of this thesis: [RQ1] How does the energy consumption of a MicroPython based embedded system compare to that of a C-based embedded system for tasks utilizing low power modes? [RQ2] What is the wake-up response time of MicroPython for low power modes when receiving external and internal interrupts, and how does it compare to an established language like C on an embedded system? Method: To answer the research questions and achieve the purpose, an experimental study was conducted. The energy consumption of the MicroPython based system was analyzed under different scenarios. The time it took for MicroPython to respond to an interrupt request from a sleeping state was also measured. The data collected from the experiment was analyzed to determine the level of energy consumption and responsiveness of MicroPython in an embedded system. Results: The results indicated that C was generally more energy efficient and responsive than MicroPython for tasks utilizing low power modes for the Deepsleep mode. Although MicroPython proved to have shorter response times for the Lightsleep low power mode. For energy consumption, C was more stable in the measurements while MicroPython reached both lower minimum currents and higher maximum currents. Conclusions: In conclusion, this study found that while MicroPython could achieve lower power levels than C in both low power modes tested, it reached higher current levels upon waking up. Despite this, MicroPython could still be a choice for applications that spend longer durations in low power modes, as this could offset the increased current spikes during wake-up. Response times for MicroPython were faster than C in the Lightsleep internal interrupt case, but MicroPython exhibited significantly longer response times in the Deepsleep mode due to the system resetting and restarting the interpreter. Keywords: Embedded systems, Energy consumption, Interrupt requests, Low power modes, MicroPython, Responsiveness.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)