Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions paper/paper.bib
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

@misc{micropython,
author = {George, Damien P and contributors},
title = {MicroPython - Python for Microcontrollers},
title = {MicroPython - {P}ython for Microcontrollers},
year = {2014},
publisher = {GitHub},
journal = {GitHub repository},
Expand Down Expand Up @@ -45,8 +45,8 @@ @misc{m2cgen
}

@misc{tflite_micro,
author = {Google LLC and contributors},
title = {tflite-micro - Tensorflow Lite for Microcontrollers},
author = {{Google LLC and contributors}},
title = {{t}flite-micro - {T}ensor{F}low {L}ite for {M}icrocontrollers},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
Expand Down Expand Up @@ -79,8 +79,8 @@ @ARTICLE{scipy
Harris, Charles R. and Archibald, Anne M. and
Ribeiro, Ant{\^o}nio H. and Pedregosa, Fabian and
{van Mulbregt}, Paul and {SciPy 1.0 Contributors}},
title = {{{SciPy} 1.0: Fundamental Algorithms for Scientific
Computing in Python}},
title = {{SciPy} 1.0: fundamental algorithms for scientific
computing in {P}ython},
journal = {Nature Methods},
year = {2020},
volume = {17},
Expand Down Expand Up @@ -160,7 +160,7 @@ @article{OpenMV
author = {Ibrahim Abdelkader and
Yasser El{-}Sonbaty and
Mohamed El{-}Habrouk},
title = {Openmv: {A} Python powered, extensible machine vision camera},
title = {Openmv: {A} {P}ython powered, extensible machine vision camera},
journal = {CoRR},
volume = {abs/1711.10464},
year = {2017},
Expand All @@ -173,7 +173,7 @@ @article{OpenMV
}

@article{karavaev2024tinydecisiontreeclassifier,
title={TinyDecisionTreeClassifier: Embedded C++ library for training and applying decision trees on the edge},
title={TinyDecisionTreeClassifier: Embedded {C}++ library for training and applying decision trees on the edge},
author={Karavaev, Aleksei and Hejda, Jan and Kutilek, Patrik and Volf, Petr and Sokol, Marek and Leova, Lydie},
journal={SoftwareX},
volume={27},
Expand Down Expand Up @@ -302,7 +302,7 @@ @article{bordin_yamashita_coffee_2023
}

@article{plauska_performance_2023,
title = {Performance Evaluation of C/C++, {MicroPython}, Rust and {TinyGo} Programming Languages on {ESP}32 Microcontroller},
title = {Performance {E}valuation of {C}/{C}++, {MicroPython}, {R}ust and {TinyGo} {P}rogramming {L}anguages on {ESP}32 {M}icrocontroller},
volume = {12},
rights = {http://creativecommons.org/licenses/by/3.0/},
issn = {2079-9292},
Expand All @@ -323,7 +323,7 @@ @article{plauska_performance_2023
}

@inproceedings{ionescu_investigating_2020,
title = {Investigating the performance of {MicroPython} and C on {ESP}32 and {STM}32 microcontrollers},
title = {Investigating the performance of {MicroPython} and {C} on {ESP}32 and {STM}32 microcontrollers},
url = {https://ieeexplore.ieee.org/abstract/document/9292199},
doi = {10.1109/SIITME50350.2020.9292199},
abstract = {Python is a programming language that is used both by entry level programmers and advanced researchers. {MicroPython} is a software implementation of Python that runs on microcontrollers. This paper will investigate the {MicroPython} execution performance compared to similar C native code on low cost microcontrollers: {STM}32 and {ESP}32. The comparison will target: memory allocation speed; {SHA}-256 and {CRC}-32 performance and will present conclusions regarding the encountered problems and ways to improve the application performance.},
Expand All @@ -340,7 +340,7 @@ @inproceedings{ionescu_investigating_2020

@inproceedings{dokic_micropython_2020,
location = {Cham},
title = {{MicroPython} or Arduino C for {ESP}32 - Efficiency for Neural Network Edge Devices},
title = {{MicroPython} or {A}rduino {C} for {ESP}32 - {E}fficiency for {N}eural {N}etwork {E}dge {D}evices},
isbn = {978-3-030-43364-2},
doi = {10.1007/978-3-030-43364-2_4},
abstract = {In the last few years, microcontrollers used for {IoT} devices became more and more powerful, and many authors have started to use them in machine learning systems. Most of the authors used them just for data collecting for {ML} algorithms in the clouds, but some of them implemented {ML} algorithms on the microcontrollers. The goal of this paper is to analyses the neural networks data propagation speed of one popular {SoC} (Espressif System company {ESP}32) with simple neural networks implementation with two different development environment, Arduino {IDE} and {MycroPython}. Neural networks with one hidden layer are used with a different number of neurons. This {SoC} is analysed because some companies started to produce them with {UXGA} (Ultra Extended Graphics Array) camera implemented and it can be used to distribute computing load from central {ML} servers.},
Expand Down
4 changes: 2 additions & 2 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ with MicroPython can be inefficient [@plauska_performance_2023; @ionescu_investi
This also limits the effectiveness of tools that generate Python code, such as m2cgen [@m2cgen].

The library ulab [@ulab] implements efficient numeric computing facilities for MicroPython,
including the core parts of numpy [@numpy], plus some parts of scipy [@scipy].
including the core parts of NumPy [@numpy], plus some parts of SciPy [@scipy].
However, as of 2025, there are no implementations of machine learning algorithms available in ulab.

OpenMV [@OpenMV] is a project for machine-vision/computer-vision applications using high-end microcontrollers.
Expand All @@ -76,7 +76,7 @@ The emlearn-micropython software package provides a selection of machine learnin
along with some functions for digital signal processing.
The algorithms have been selected based on what is useful and commonly used in embedded systems for processing sensor data.
The implementations are designed to be compatible with established packages,
notably scikit-learn [@scikit-learn], Keras [@keras] and scipy [@scipy].
notably scikit-learn [@scikit-learn], Keras [@keras] and SciPy [@scipy].
\autoref{table_emlearn_micropython_modules} provides a listing of the provided functionality.

The software is distributed as MicroPython native modules [@micropython_native_module],
Expand Down
Loading