 Okay, I'm not sure how this works because this is a second screen. So okay, this is another talk about ESP32. We already had one around last October where William gave the initial talk about ESP32. This is kind of update, see what happens during the six months. So okay, we know that the ESP32 is actually upgrading of ESP8266. I see a lot of people actually using this before. And the chip was released on September of 2016. And William did that talk on October, which is very pioneering work. So it has been six months already passed. And there's a lot of updates to ESP32 development environment, everything else. So let's see what happens now. During the time, actually many people have difficulties to get ESP32. So there's this sarcastic Twitter message, see it is made of purist unobtainium. So luckily recently there's an announcement saying okay, we have the new version that's made of a William 1729. I guess it's in 2017, February the 9th where they have our biggest launch. So now it is actually very easy to get an ESP32. So what we have now is first we have an ESP32 W Room. This is the expressive official module, unlike the ESP8266 time that we have a lot of different modules like ESP01 and ESP14. So at this currently we only have one, which is the ESPW Room 32. And luckily, Expressive is giving all the design document of this module. So you see other people are making similar modules with the same pinout and the same layout. So for example, our familiar AI thinker get one, they call this ESP32S. And recently there's a DF robot to get another one. It's exactly the same as the ESP32 W Room, but they have some of their own logos written on their shielding can. And I have to mention some of the other boards. For example, this is a DV DevKit C, which is also initialized by Expressive when they initially launched this module. And that was selling by Adafoot and Olimax during starting from last year. And the time was like one customer, one piece kind of a limitation. Now it doesn't have any more. And some of, I just go through some of the development hardware. Nano32, which is almost the first ESP32 development board by third party. And this is done by our maker Asia and the gravity tech. It's a much nicer design. I still love it very much because it is fit to a breadboard very well. Whereas this board, you have to, using two breadboards side by side, then you can actually spend two boards to use it. So the first big name who give a ESP32 board was stuffsparkfront. They have this ESP32 thing. In addition to any of the other board, they have a lithium battery charger. And they have, so that you can use a lithium battery to supply this whole project. And also there are some of the other name was mentioning. For example, the home build they are doing across supply now. This board is selling at $12. And this one, and VMOSC is kind of a very familiar name in 8266. And they really give a very attractive price at $7. You can order this from AliExpress. I'm not sure how the quality yet by this order, but $7, how can go wrong, right? And this is another one from Thailand. And they have additional, they have humidity sensor on top of the boards. And humidity and temperature. I'm not sure whether it's a good idea because the temperature sensor seems like very near the ESP32 module, so yeah, it runs quite warm actually. And okay, I need to mention this is my board. This is the ESP32. It has all the functions of all these. And I have a special shelf that has a jpeg debugging. So if I have time, maybe I have to quit them more of this later. So okay, this is a hardware site. So let's go to the major difference between 32 and the 8266 that ESP32 has a hell of a lot of documentation. I don't want to pull up this page yet. It's too many things here. And they actually have a very nice reader doc.io. They have other documentation online that you can just search in there, whatever, inside there. And with these documentation, I have to say that non-expressive is very much on par with all the other responsive silicone manufacturers because they have all the documentation and they keep updating very nicely. And also you can have this book. This is actually a free book, but it recommended the price is $5. You can pay this guy, Nick Cobain, $5 and get this book. And he also have a very nice YouTube channel about all the technical tutorials. So the main idea I'm coming to this talk is I want to introduce different development environment. I want to do some demos. So let's start with the first one, which is MicroPython. Our MicroPython has been very, very popular in the last year when they do ESP3266, CC3000, all kinds of boards. And this guy, it is MIT licensed, meaning that you can use it for commercial projects. And it is actually a single-handedly ported to ESP32 by this guy, Damian George. And recently they have an announcement that the initial MicroPython, which is by PyCon team, and they are merging together. So the current GitHub report here, but soon you will see the whole thing in a single report by PyCon. So I'm doing a quick demo here. So I have this board here. I'm not sure what you can see. I just put LED, everything I want to do starting doing anything is blinking program. So let's see how we can do a blinking using MicroPython. Do you need me to hold the board for you? I don't need. Actually, I think most people can see this. Okay, I need to pull this. Okay, MicroPython currently, what you have is they call a REPL, which is read evaluation print loop. It's a very fancy name, but actually what it does is just a command line. So you can do everything like you're doing in Python like print, hello. It's very much the Python program. Now you can do all kinds of things here. For example, I can do a very simple blinking program. Where's my mouse? Okay, this is a very simple Python program. If anybody familiar with Python, this is just starting blink. So this is MicroPython. Actually, if you use MicroPython on 8266, there's a very nice web UI, everything that you can actually type the code and store in the Microcontroller itself. But currently, it has not been ported yet, but it will be very soon. So this is, but it is kind of a very promising project. But I'll just stop here as I want to go to the next one, which is much more interesting. So the second one, what I'm showing is, okay, I want to show that it's something called a Mangoos OS. It is kind of very, very new. It's just started. And what it does is it allows you to program a ESP32 using JavaScript. So I do the same thing. I put the bot here. And what I'm showing here is, let's see. You can go to the website and download the Mangoos OS. And what you get is actually a very simple tool called MOS. You will just get something like a executable just called MOS. It doesn't show up anything. But when you run it, I show a Mangoos OS program first. I need to stop this. Let me just stop this first. So basically, Mangoos OS let you to program Microcontroller using both JavaScript and Cs. For example, here is a C program and a JavaScript program work together to make a blinky. So what does the C program do? It's actually very simple. It's just one function. Give a number, return a number, tell that the LED is on pin five. And this is the initial code that looks very daunting, but actually it's just starting the JavaScript and then run this in it.js. And what happens to the JavaScript side is Okay, this is pure JavaScript. Get the LED from C function core and do a timer and do a callback to toggle this thing, to toggle the LED. So how to use this one is actually what you need to do is actually what you need to do is just call MOS build. I'm not doing here because the mechanism is Upload all your code to their console with the compilation, then they download. After downloading, then you just do a flash. And we automatically probe where is your board, which component it is, and they are absolutely everything on the board. It's not too big. It's like that simple. And the most interesting part is that you can run Mangoos OS without any parameter, then you'll get a nice web UI. It's very hard to move to a second. You get a very nice web UI. And you can see what are the files installed in the microcontroller, especially just now the init.js is here. We can just change save and reboot. You can start to see the LED blinking faster. So it's basically if you upload one time, then you can do all your programming inside this environment without any additional development environment. So that is Mangoos OS. They have a lot of other APIs, they call RPC API, that these are the I2C, GPIO, file system, all the Wi-Fi stuff. Then you can call these APIs using either JavaScript or C or a web service call or REST for API, everything. So it's kind of when I saw this, oh my god, I never tried this before. It's kind of I just noticed last week, and I feel that that could be a future. Okay, so much for this. I want to do a quick demo. There's not too much time left. Everybody's favorite Arduino has been ported to ESP32 as well. This is usable because Arduino core, which is GPR licensed, and the two person who is heavily contribute to Arduino project actually is Minodef. He is the initial Arduino also of ESP32-1, which is the beta version of ESP32. This IGRR is Ivan, who is the initial also of Arduino core for A266, and both of them are working for Expressive now. So this is kind of official port. You can actually go to the Arduino core GitHub repo and pull out the hosting, and they don't have automatic installation like previously we have in A266, but it's quite similar. You just install this one, install the whole core. So it's basically you have very much the same thing as the... Okay, so you choose your board. You choose your board as ESP32 module. They have a lot of choices, same as A266. I can get this module and you just upload a code. If you are familiar with Arduino, this is super simple. It's like digital write, delay something out of like that. So it just work like you are using official Arduino board. Okay, so I have 23 seconds left. So let's go to the last one. If you are not happy with all kinds of high level program, everything and in the end you can still go back to the original ESP-IDF, which William gave a talk last time. And what I'm showing is the progress of making this one. What you need to do is download the ESP-IDF packages and... This is still a blinking program. Everything you need to do is like anybody who did the Linus kernel configuration, actually you see this one. This is the same configuration pattern as ESP-IDF. We do everything here. Like you could configure where is the component, everything. Then you do exit, you do make kind of make flash. Then it's a very menu. But this gives you total control of everything about ESP-IDF 2, let's see. Here, so it's a basic code while loop set level, high level, low level, let it be LED blink. And it is very nicely integrated into Eclipse. Then there's a documentation about how to set up your Eclipse and with all the code sense and look for all the documentation, all the header files within the IDE. And once you have all everything compiled, I do a very quick demo of JTAG debugging. So here I start a JTAG server. The program is already running. So for that I can set a break point here. So it kind of stops at your break point. And you can step into the code or you can see all the variables. Everything, this is never been possible in 8.2.6.6. Now it is possible. So you can dig into everything. You want to do a real serious debugging. Then you can use the ESP-IDF 2 with a JTAG. So this is all about I can share at this time. So I think that's all for it. Any questions? Correct. Actually, what happens if you need a JTAG, which uses some of the GPIO pins, unfortunately, then you need an open OCD as a JTAG server. And on the other hand, you have a GDB to connect to the open OCD to doing the debugging. Sorry? Okay, there's a JTAG debugging kind of documentation in the Expressive website, which is not very detailed. And if you continue to look and monitor this space, especially Facebook, I'm preparing the website, talking all about debugging. So it will be launching within two weeks' time. If not, Baoshi will still be here. So have a chat with him and we can show you. You can come here and we can talk about this board. All right, so thank you Baoshi. Thank you so much.