 Good afternoon. It's a pleasure to be here. It's my first time here. I'm from Brazil. And I apologize for the presentation. It's not perfect. I have lost my luggage. I'm from Brazil and my luggage was lost during two days. Some hours ago we received the components for the demonstration with the material for the demonstration. And they saw it to us a little bit rush with the presentation. At least I'm here. I lost my luggage in the morning and afternoon before I arrived here. I'm talking to you about the scientific micropipers for microcontrollers in the IEP. Why scientific micropipers? I'm a physicist. But I work a lot with computational physics. And I try to use IoT, microcontrollers, programming, using the formalization that is needed for sensor data. So I put a critical view about the many sensors that IoT are making available for billions of people. But this data of these sensors should be analyzed in terms of error, precision, how many digits, etc. MicroPython is a pre and open source implementation of 523. It's not. It's 100% compatible. It's something like 98, 99% compatible. Because it was meant to work with tens, for example tens, k bytes of the wrong. It's a pie to three, but very optimized. It was created by Demi and George. He's a physicist of Gauss II. And it was created three, four years ago. And he created the pie board, the first board, the language. And there is a community around him. So the site of the MicroPython, there is a test drive. Sometimes it is online, really. And there are documentation, etc. There is no audio here for the images, the firmware. For example, for many boards, five board one, five board light, and Wi-Fi that I'm showing here. And the, well, MicroPython until 2015 had only two boards, two hardware boards. By board and Wi-Fi. Wi-Fi with Wi-Fi. But in the beginning of last year, we had some releases, like MicroPython ported it for ESP8266, BBC MicroBeat for more than one million children from Nightpeak Kingdom. It was given for children of 11 to 12 years old. And you can also buy BBC MicroBeat. Wi-Fi 2 with Wi-Fi and Bluetooth. Low Pi, it was the first microcontroller with Wi-Fi, Bluetooth, and Lada. And it was, naturally, MicroPython. And the other board, side Pi with C ports, side ports. OpenEV, it runs MicroPython and has a camera, a little camera, what optimizes to machine vision. All these boards run MicroPython. These two don't run MicroPython, not even. You have to install MicroPython. So, for example, by board, the first board, this version is a new one, but the first one was almost the same. Wi-Fi, the second board, Wi-Fi first. MicroPython project for ESP8266 last year. BBC MicroBeat, and you can, yes, there is Python here. And you can develop without installing any software. You can use the browser to develop. It's very important for children and parents to have a simple tool to develop. Wi-Fi 2, okay. Low Pi, and OpenEV, a new version. It will be released, I think, next month. And the older version. So it has a very small board in microcontroller with a camera using MicroPython. Okay. And the, sorry, I don't have time in the rush. The free memory of these boards, these board boards, sorry, is between 8K bytes, BBC MicroBeat, only 8K bytes to almost 100K bytes of a pipeline. Okay. So to develop for MicroPython, it's different from developing to Python, because you have your memory constraint very important. And about the demonstration, first I'll show almost the last one. This microcontroller, this board is low Pi with a lot of, okay, so you can have some kilometers of the communication, 20 kilometers per second, approximately, until just some kilometers, depending on the region. BBC MicroBeat, here, excellent price, and it has been used for one million children. And this year, there will be a MicroBeat for an international version. There is the other countries. So MicroBeat is now an organization, not the only rich one. And it's simple to remember when you are running, not in front of a lot of people. Okay. And I will use this. For example, it's very simple to use. I recommend to use MicroPython in the interpretable mode, interactive mode. You can also make scripts, of course. And so I use a terminal using USB serial connection. Okay. To enter in MicroPython on the first board. It's a new version of the first board. Okay. So this common. It's zeroes, MicroPython, almost the last version. Okay. There is a new version in general. And it's not the compiler language. Yes, it's Python. Okay. It's like a microcomputer. You have a microcontroller. Running Python almost has an operating system. So it's the dream of Python users. Only Python. It's not the leader, it's not the macOS, not Windows. Only Python. Almost full Python. Okay. And, well. Some immodulis are already loaded. For example, the Python model has a lot of subimodulis. For example, information. The third information of this model, microcontroller. You have here about 100 k bytes. And the flash memory is something about 90 k bytes. There are some files there. So it shows less. And yes. You have the reviews of the version of the five-word. And it's very simple to read. I show a sensor connected to the ADC analog to digital converter of this model. This model has some inputs with 12 bits of the analog to digital converter. And to read the ADC part, it's very simple. It's one line of code. Okay. Yes. I have read the model. It is oscillating because I have here infrared rangefinder of the sharp here. It can measure the distance between 10 to 150 centimeters. So I will run a script. Okay. And this is what I'd like to show that. Today data is stable. The physical quantity is stable. They read it is not stable. You have a lot of noise. All the sensors have noise. All the physical quantities, I'm a physicist. All the measures of the physical quantities in the world have errors, uncertainties. And the IoT community is forgetting this important thing. When we are publishing a system of data, it's important to take into account this reality. So the quantity here is not stable, the distance. And I will run another script to show the statistics of these readings. Okay. So the distance of my hand was 17 centimeters with a standard deviation without a statistical treatment. It was a huge, more than 1 centimeter, the standard deviation. With a statistical treatment removing some peaks, some data not good. It was reduced. And now I will show when I increase the distance, when I increase the distance, the error is increased. For example, they have to increase it more. So the error is increased with the distance. It's not constant. Here I will import another script with unscented calculation. So I have imported a module. I have created a module from Python to micro Python. Calculate the unscented errors from error propagation. Here I have to put the obstacle here. So we have 70 centimeters, which are error of 1 centimeter. But if the distance is increased, the error is increased. Okay. And this is done by error propagation, sensitive propagation. It's called very simple scripts. This code is a class. And it's possible to run in machines, in micro Python boards with free memory, as well free memory. There's no problem. And this code was not available before. Here I will present another board. Here I have ESP8266 microcontroller, configured to be micro Python. And the serial part is a little bit different. There is a lot of sense connected here. It's a BME-280 sensor with pressure, humidity, and temperature. All of them have unscented errors. So I will show a statistics. Oh, before. Just to show that this microcontroller has about 28 K bytes of rerun. Okay. I will show the reading of the sensor. Oh, yes, it's working. So we have the pressure reading. It has a lot of noise. And I run the same sensor with other configurations. Because this sensor has many modes of reading. And in this new configuration, the error is a lot smaller. So it's very important to understand the sensors. The PDF of the sensor has about 52 pages. It takes a little time. So the sensitivity is just 4, instead of a very huge one before. And the web server running on this micro Python mode. And it shows the three quantities physical quantities with the errors. And you have here, you can see that the errors. For example, we know before measurement parameters that you can configure the error estimation of the sensor. And the majority of people expose the data sensor without showing the error. The error is there. It's very important. And the scientific model is available for micro Python. The math model is available. Not exactly the same for all words. For example, we should be committed. It's very limited. You have for Python a fast Fourier transform in a simpler code available for micro Python. It's very fast. And you can compare with a super computer where it won some years ago. With a Python that is here. It's comparable to a pre-won calculator in fast Fourier transform using micro Python. And I participated in this project. Where there is an IoT experiment where all the sensors will have control of errors and circuits. So we have the responsibility to show for the community about 10 sensors, all of them controlling the details of the measurements. And all the development using micro controllers and S back by is done with a Python or micro Python. Thanks very much. Thank you very much.