 Okay, I'm gonna start. So, some introductions first. Hello, I am Etienne, this is my Twitter handle. You can follow me so you can talk to me later. I'm a software engineer from Brazil. I am currently based in London where I work for Red Badger. By the way, we are hiring, so if you have any interest in going to London, and this is our website. I am very active in the Lua community. I have worked in many projects that are Lua related. So, I am the developer of Sailor, which is a web framework in Lua. I participated in Google Summer of Cold twice. Not once as a student and once as a mentor. I'm also running the Lua conference in Rio. So, come, apply for the call for papers that is open right now. The call for sponsors is also open. So, if you work in a company that uses Lua, please send help. Okay, so the contents of the talk. I'll show a little bit of what's not MCU after all. I'll hopefully do a demonstration and then I'll share some resources so you can get started on your own later. Okay, so what is not MCU? I had no idea until last year a friend of mine got to me and said, oh, you are the Lua girl, right here, take this, gift for you. Like, oh, okay, what is that? And now I am here giving a talk about this. So, thank you, Flaki, if you're hearing. So, yeah, so what is it? So, the first thing you have to know is that not MCU is actually not the board. Not MCU is a firmware that runs on this very tiny board over here that is called ESP8266. I'm gonna pass it around in case you want to take a closer look. But yeah, so, some specs. So, it has a processing power of 80 megahertz. It has memory of 64K. I know this sounds like very little, but it is way more than on the popular board. So, for example, if you compare with the Arduino, you know, well, then this little ship is like way faster and it's also way, way cheaper. So, the price range of this one is between $3 and $10. I'll say that $10 is like the tops. You'll find maybe at the fruit store or Spark Fun. Like, if you go to AliExpress, you can find them from maybe, maybe two and a half. And, well, if you get an Arduino plus the Wi-Fi shield, you could easily get up to $50, which could be a little too much for just experimenting something you don't know, starting out. It can be like a big investment for a beginner's project. So, yeah, it costs $3. It is very powerful and it has Wi-Fi. There are some advantages on Arduino if I want to be fair. So, for example, this one just has one analog pin. The Arduino has more, so depending on your needs, this one will not be suitable. But to be honest, I only need one analog pin, so I'm pretty happy to just spend $3. Going on, as I said, the NoteMCU is just a firmware. The whole thing that I'm passing around is a dashboard. So, it is ready to get started since it has like a voltage regulator because this board is Chinese and is fabricated by a company called Expressive. So, that tiny square over here is DSP model itself. And then, since it's open hardware, there are many companies that fabricate their own version of this board and of the model with DSP core. So, the most famous is the AI Thinker and they had series of different modules with this ESP core. The most famous and the one that you see and the one that I'm passing around is DSP 12. And then, they are part of the whole ESP 266. Oh yeah, the dashboard also has a series entry so it makes it easier to program with USB. Like I said, there are many companies that fabricate their own version of this so you can find this on all kinds of electronic shops. So, Sparkfun has their own version of this board with DSP 2. So, nice thing about this one is that it's prepared to be stackable. It already has like an entry for the battery. It's all set. It is a little bit up in the price range but depending on what you want, this will be really useful. I discovered this one a couple of days ago when I was researching for the stock. So, this WiIMOS is very tiny and super cheap. So, depending on the project you want to do, oh, I've got one. Nice. Nice if you want to haze it so other people can see other models of it. So, there you go. But the Note M2 firmware is not compatible just with the H266. So, this is the DSP H285 which I only discovered so recently so I couldn't get one before the stock to show around but as you can see it is super tiny and it already has the serial entry, the voltage regulator, it's super small. So, this is the perfect one for wearables. In fact, so I'm very excited to get one of these for my next project and then there is this one. So, this one is a novelty. So, this is the DSP32. So, the Note M2 firmware is not yet fully compatible with this one. They are contributors working on GitHub as we speak. So, if you want to join and take a look and there is a branch going on so I was feeling the other day some work is happening. So, there are some parts that are very compatible but probably not the whole API is exposed but this is happening and this in my opinion will be the true Arduino killer because it is super powerful. It has already the Wi-Fi built in like the H266. It also has Bluetooth. It is super powerful, so it has over 500K memory. It has, I think, a 240MHz processor. So, yeah, super powerful. The price range is so like, so little big. So, it was, I think it was around 20, 25 dollars. But that, I mean, you can say it's expensive if we compare with this one but if we compare with an Arduino it's still super cheap. So, this is like, I'm very excited to get my hands in one of those. Okay, so how do you get started? So, if you have a Mac, you probably need to get a driver for the serial entry of the Chinese module. I was just reading the other day that this is an adventure of going in websites and Chinese and Russian strong links that strangers sent to you on Stack Overflow and it sounds really, really dodgy. But everything worked, I didn't get any virus, it's okay. So, it's the official driver for the Chinese manufacturer, it's fine. And so, after fiddling in many websites, you can get to a driver. And then for building firmware, normally you can only build it in Linux but then there is this website. Ah, I forgot to open it on beforehand. So, there is this website called notemcubuild.com and it is super, super useful. Because then you can select all the libraries that you want. Do not select them all or nothing will work. So, really, do select only the ones you need. So, normally, as you can see by default, you have the wifi, timer, GPIO file. Normally, I also check the AGC for reading the analog pin and the WL2-2812 for the led lights. But as you can see, there are many other stuff. There is CJs on HTV, some cryptography stuff. Some of them, I have no idea what they are. But then there is a full documentation somewhere so you can find documentation on all of them on the notemcu docs. Don't worry about getting all the links to the website and resources at the moment. I'm gonna share them all on my slide once I'm done. So, I'll post it on Twitter, just take a look at my timeline. I mean, we'll be there like 10 minutes after my talk. Those docs are also on the Github page, by the way. Yeah, they are also in the notemcu official website. But I have a full list of resources. Where's my mouse pointer? Okay, so you can build a firmware. So, once you get the firmware from the website, you can flash it on your notemcu. So, some vendors that will sell the ESP8266 with this firmware by default. So, it is super handy. But you can just get any ESP8266 and then flash the notemcu firmware. And this will allow you to program it in Lowa, which is super high level and super easy to maintain and way easier to get started than see if this is like a first wearable project for just getting acquainted with the API and with this kind of project. So, to flash it, there is an official tool for this. It was not official beforehand. It was community-created. And then the people who built the board, they just hired everyone. And now it is an official tool. So, yeah, you can just install it. You can check your serial ports. And then you can upload the firmware you just installed for that website to the board. And then you're ready to get started. There is, however, some editors who make your life a little bit easy. They look super ugly, but it works. Yeah, yeah, you can see, oh my God, your entire title. I really want an atom plugin for this. So, if anyone wants to build one, please do that. So, this is sort of an ID for uploading your code. You can also use it to write a code, but I don't. I just use atom and then I load them here and then I upload them. And then with this, you are ready to get started with your board. So, now is the demo time. So, there is me. Things might go wrong. So, let's try some, where is my mouse? Oh, there. Let's try some simple things. So, for some reason, so the database to 2812 is a protocol that lets you deal with this type of lab. I should probably show on the thingy way. Can you see that? Yes. Yeah, so these are the nail pixels. They are super interesting because they are addressable. So, you can like individual lads. You can work with them in any way you want. You can pick any RGB color they are wonderful to work with. Normally they sell in huge strips of, I don't know, 50 to 150 lads, but you can also buy them in tiny units like this one, which is like, okay, which is perfect for rubble projects. The way they are, so this is like my tiny prototype. The way they are attached to the cloth is by using conductive threads. So, I'm gonna pass this around in case anyone wants to take a look as well. Please give it back to me. At the end of the talk, I really love my things. Yes, yes, so I'm using some alligator clips over here. So, one for the grounds, one for the data and one for the power. For a tiny project like this one, the power that comes from the node MCU itself will be enough, let me show you over here. The power that comes from this will be enough, but while these things, they can suck a lot of energy. So, if you have too many of them, you need an external power source for that. But, depending on the size of the project, it will not be necessary. I'm not sure what is the limit. I do not stumble on it yet, which is great. But yeah, if you have too many, you need more power. But yeah, the data can still come from here and everything will be fine. So, let me line some of this stuff. Wait, where again this, where is my mouse? I always keep losing my mouse. So, for some reason, the RGB of the API is not RGB. It is green, red, blue instead of red, green, blue as everything else, but that's all right. So, you can just send like the hash. And then, for example, if you do this and then this, what, where, thank you. Hopefully, this should light one LED in magenta and one in blue. Well, it partially works. Which is a good start. What happened here? Oh, yeah. Well, still, then there should be two LEDs magenta instead of only one. Hmm, I hope I didn't burn one LED. Let me try something different. So, this should light six LEDs in magenta. Oh, yeah, okay. I don't know what was going on before. So, this is the power of the mouse. I'm gonna show this on the, there you go. So, other things you can do with the ESP is as it has a Wi-Fi module. Oh, let me get my face out of there. I am gonna keep losing my mouse pointer all the time. As it has a very Wi-Fi board, a Wi-Fi module and a very easy to use API, you can very easily just make an access point and launch a web server. So, for example, so, with the Wi-Fi library, we can set the mode to access point. The Wi-Fi part, the IP part is not necessary, but if you're launching a web server, you probably don't want the IP to keep changing all the time, so you can set one. And then you can launch your access point with a SSID and a password. So, if I send this over here, if I send one by line on it, this should be global. Is it a board? There we go. So, it is super easy to create an access point with this board. We can do things a little bit more complicated. So, much better. Sorry? Yes. You can try. Let's see if it crashes and burns. You can go ahead. Wait, what was the password again? Hello, hello. Hello, hello. And then if you want to create a web server, it's also super straightforward. Wait, this is not my example, is it? Oh, this is not the example I wanted. But yeah, you can create a server. You can put the server to listen and then you pass a callback and then with the client and the request and then you can do things like parsing it and then you can do stuff and then you can have a buffer then you can send to the client afterwards. I do have some, I also wrote some libraries to work on my stuff. So, this all started because I just graduated three months ago and I wanted to have a killing dress for my graduation party, which is this one. So, I installed some pixels on each flower of the dress. Let me put this over there. So, I installed one on each flower of the dress and the silver dress is perfect because then this thing really blends into the cloth. It's all sealed with the conductive thread that I mentioned before. I'm not sure if you can see it here. Can you see that? No. Okay, so the swivel thread does its work and then here I have the entry point. So, this was a very fast project so I didn't have time to get from the prototype phase to a very nice and soldered model. So, initially I didn't like any soldering at all and I literally glued the breadboard at the back of the skirt and connected the alligator clips to those entry points I showed before. So, it was all very experimental but the dress went on the party like for many hours and was a huge success. Let me get back to here. Okay, so I also created some libraries to be able to manipulate these pixels easier. So, let me try showing this for me. Where is my, I'll go one minute over the top. So, I started parsing some stuff on my web server and I created some libraries that help with managing all this color. So, it makes it very easy to manipulate the pixels externally and then with that I was able, so something that was part of my demo that was stolen yesterday. So, there is an app for Android. I'm sure there is one for iOS and everything else as well. There allows you to create widgets that send HTTP requests. So, you can create some buttons with some preset post configuration. Then you can have different buttons for different kinds of animations. So, with timer and core routines you can do very complex animations. So, for example, and then you can do this. So, I can show the code to that but I don't really have much time. So, it's on GitHub slash Etienne slash SilverHaze which is the name of my address. And then I also got like plenty of resources which I will not go through right now because my time is up. But I will share this slide on my Twitter account. So, there is the links for code projects, documentation and other lower resources. And that's it. Thank you. Send HTTP requests, not only open Wi-Fi access point but send requests to the outside project line. So, the question was if the device can send HTTP requests to the outside and the answer is yes. So, not only you can launch, it can, so the Wi-Fi model is not only prepared to open itself as an access point but also to connect to an external network. And once you have that, you are able to send requests. So, there is an HTTP library for that. So, I assume that hackers can hack it and use it for those schemes as all others those fancy IoT devices. Probably. So, he was saying that then hackers can hack all kinds of IoT devices. Yes, this is like kind of going discussion on hacker nails and all kinds of technology, websites for ages. You can see the nails of like hacked baby models. It's amazing. You are so tough. How can you manage to save your silver heads for being hacked? Someone tried to turn you on and off the game. Well, it wasn't a party. People were pretty drunk and I don't think they were trying to hack things. In the meantime. So, the question was is it waterproof? No. I mean, probably not. I didn't try washing and I wouldn't. I really want to research like and find out waterproof stuff because that will make things like way easier. That is the point of being waterproof. Waterproof is not enough. Watch out for detergents and stuff. Those Wi-Fi modules on ESP controllers, they are pretty heavy on power consumption, right? Quarter enough. Quarter, like 250,000. So, the question was like, what kind of expect? What kind of like, if you want to run a battery, what kind of? So, the question was, so the Wi-Fi model of this board is very power, consumes lots of power. So, how long can you expect a battery to run? So, well, that depends on your battery and it depends on what other things you are doing. So, I don't know. But my model was connected to an external battery charger hidden in my stockings. And it lasted the whole party, which was like solid five hours more. It was not using any Wi-Fi module. I was using the Wi-Fi module because I was switching. So, for the party, I also made a small PABL app with just a menu sending HTTP requests. So, the PABL app was connected to the phone, which created the Wi-Fi that the model was connected to, huge rack, and then I could send the HTTP request from the PABL to the microcontroller and then I could switch colors and switch blinking patterns. I had rainbow patterns, all sorts of stuff. I also had an equalizer module. So, I was also using a tiny microphone and then I could read the analog input from this and make the dress reactive to music. So, it was blinking with the music and everything, but I tried to refactor this before coming to pause them and then I ruined it so I can't really show it right now. So, yeah, because it was like, yeah, yeah, I'm gonna present something. I need to make my code presentable before I put it on GitHub, because while I was doing my dress, like the goal was just, well, it will be my own code and I wanted to make it pretty and then I fucked it up. And so, yeah, the time is up, sorry. Thank you. Thank you very much. Thank you.