 Welcome everybody. I don't know what the plan is for the other door. Just leave it open and then we get this done And I think it's the last slot of the day anyway, so I don't want to keep you too long So my name is Marcel Holtmann and I will present a little thing to give you the insight on an education hardware project that we have combined with the Zephyr open source Arthos and what you can do with it and give you a couple of hints and ideas what you can do with it If you want to actually do it further I'll start paying start going with it As usual a little bit of display marks of our project trade market in a foundation Bluetooth is a trademark with the sick and all other trademarks They're respected owners just to keep that out of the way and don't have to be any attribution in my during my presentation I'm repeating this one since I've this is second talk. I'm giving today. I've been working on Bluetooth for Pretty much 17 years now. So it's really a long time and the technology is still around and use so that's good I maintain the bluesy stack which the little bit of stack for Linux since 2004 since that has been for a while In the meantime, I created a couple of open source projects a connection manner for Linux a telephony stack a full telephony stack for Linux proxy services and also an embedded Linux library and a new wireless demon that talk will come on Thursday So if you're interested in that one I joined Intel in 2007. So that's my 10 years now this year has been a while as well I sit on the architecture review board for the blue to seek where we actually adopt the new specs I share the internet work in group and also driving the blue to smash validation Which will be coming out sometime this year as a one of the new standards for Bluetooth So let's dive into this one Zephyr, so I took this text from the Zephyr website And it's pretty much an artist like anybody else you can pick what any other artist you want but Zephyr is one of the newer ones and From an artist point of view it's the same thing, but it's not an Intel Architecture only thing it will work on multiple architectures like arm arc and probably others in the future So it's pretty much open community driven at this point. This is nothing really special. It's just okay Someone did another artist what is really special about this that it's supposed to have a really truly open source community But with a background that you actually can build products on top of this It's not that the whole inox is used in the enterprise world We have something where you actually have an open source project But it's used in a commercial form and that's really the intention and the licensing everything supports this What is more interesting what I actually highlighted here that we decided to put a Connectivity stacks multiple of them actually at the heart of the artist So with a lot of artists as you have or you have maybe one that has a little bit of an IP stack It has this feature that feature and you're actually picking your artist depending on what connectivity feature one or some of the other features You're not really picking one that has everything and the goal is here pretty much We want to have good blue to slow energy support We've been have been a good blue to classic support. We want to have IPv6 support. We want to IPv4 support 16 or 4 thread wireless Wi-Fi and so on and so forth. So connectivity is at the heart of it But fundamentally when we go into the sensor world or the embedded devices world for the IoT space You can't live without an IoT connectivity stack and you want this deeply integrated into the operating system so that you actually have the smallest footprint possible and don't have the piggyback On other stacks or just buy this one with that or a subtraction by that more There's always abstraction pick that open source one and so on and have to glue them together and maintain that So you're getting really everything in ones that can focus on your application development Um, this is a little bit in the older slide that I grabbed from the Zephyr project The difference is the microkernel the nano-kernel will merge into unified kernel So just ignore that piece the interesting part is really on the right side where as I just said the connectivity is part of it And we want to building this all in If you get Zephyr you get all the connectivity solutions at once and we will keep improving them and driving them with new standards and extending them Right now it's arc x86 and I'm supported you have the standard stuff And you have a really nice set of API's on top of this the crypto comes with it and it's really deeply integrated So when you do this from an ecosystem point of view This is what I mentioned earlier is like if I want to build something I'm going to pick a piece of hardware and hopefully the hardware manufacturer gives me a board And then gives me a board support package for this one says okay This is how where your pins are this is what you be also answer and you don't have to worry about anything else So if that's there something that's community maintenance or you actually pick the board and sorry everything's there You get Zephyr you get the connectivity tech if you're looking for something doing with Bluetooth for energy That's already there. The only thing you really have to do is the vendor differentiation So you want to write an application that does something special you focus on that one not on the rest of integrating everything else and picking Oh, I need a lot. I have an RTOS now. No, I need a connectivity stack now I need an IP stack or something else that's supposed to be already there And I think the important word is really it's community community maintained and it's a commodity Some companies will still think you can make money with these things but reality is Bluetooth has been a commodity since a long time and if you think you can sell a Bluetooth stack I don't think I'm going to make a lot of money with this So there's a lot of commodity in there and this goes for an IPv6 stack six low support threat support There's a lot of technology that is just there the differentiation happens with the application that you put on top of So that's for zeff and I think there have been a bunch of zeffa talks already this today And there will be a couple of more where you can actually learn a bit more and go I think if I remember this correctly after this one, there's a zeffa buff Somewhere in one of the rooms you can go there. You need to learn something more Getting to the hardware side of this talk, which is interesting so the BBC took One of the boards and they built one of these funny ones I get a little bit on this detail what it actually is so they had the idea that they want to do something for education and They went around okay We need to get people a little bit technically more involved and have them tinker around in the maker community and so on and so on And we have big boards like raspberry pi miniboard and so on and so forth We can actually do a lot of things with it running linux when you actually go into an embedded space It became a lot more complicated to actually get to small board where you can have something Really small and can run on a coin cell battery or something smaller Try to run a miniboard and the points of battery you will have really badly fail. So you need a big battery pack We're same as the raspberry pi So that the idea. Okay, let's get something out there And they actually gave one of these boards to I think every seventh grader In the UK got one for free. So they just built them and then sent them out and after that one They started selling them. I think they go around for like between 10 or 15 bucks Right now, so they're really easy to come by and they're kind of nice And the reason why I'm saying that kind of nice because they put a lot of things together that you can't get in the same package So you have two programmable buttons. You can do something with it You have a 5x5 led matrix on there, which is kind of nice You have extra pin outputs that you can use and you can even short them with your fingers if you want to press them You have an accelerometer and a compass on there as well You have a battery adapter so you can easily hook up a battery and then charge the battery and then you have Arm cortex M0 with a blue to slow energy Support built in from Nordic. So that's what you're getting all with us Price point they put a looked at this one. It's only 60 McGurts and only 16k of RAM So they took the lower end. So that's what you're getting into But fundamentally getting a lot of things to toy with if you just want to have an education tool We have a matrix display. We can show like some characters or show errors or just do some indication You have buttons to press you can hook them up with the pins to some other sensors that you want to touch it And you have an extra meter and a compass already built in so you can use them to actually do movement and so on and so forth And you can do a battery powered and they're shipping them with battery packs We just put them up and then can run around with us. So all in all a really nice combined package Which is great if you want to actually just tinker with something or give it to As I said, they did this seven graders Let them play with it The only thing I found a little bit weird on this one is the problem really what they decided on how to do with The hardware is pretty much open to tell you what it is and you can easily get it for sheep But from the software side they decided to actually oh, we're gonna take the whole operating system pretty much Close source. They built a Bluetooth stack in there builds an operating system in there And that's that okay, you can build your applications But that's the only thing you can do if you actually want to do anything with the great stuff You have in there and do something. Oh, I want to learn something. I want to do some security research I want to do anything else and figure out how things actually work. You were actually locked out you could access them remotely and Trigger the leads or read out the status of the buttons or you can load some scripts in there So it was pretty much the original style of thing where you can have some sort of high level language and then do something with it Which is great if you want to get some people interested. I think for seven graders is great, but You could actually do so much more with this one if you would get access to the rest of the hardware And that's where at this point funnel me Zephyr comes in so we actually have the top one with a lot to play with the bottom one you have actually no access to it whatsoever and This changed fundamentally With Zephyr, so we have in Zephyr application. That's really nothing different. We just write a different application But good you get the full source code for the Zephyr Bluetooth or energy host deck which you can run and replace all the top parts that you've currently seen You get full open source for the Bluetooth controller sites You can access natively the radio and do some other things with it that the chip actually supports Nobody would ever previously let you and do some tinkering with it And you obviously have the still the Zephyr currency of the raw OS primitives and can do something with it Accessing the thermometer on the chip itself, which they don't even exposed anywhere else So you can do a lot of things with this one and Open more potential on this hardware That's already cheap an equation to begin with and now it's going to be more education tool for higher education And you can get an easy access on play with it And I'm thinking we're going to start now Actually playing with this one so we can see what's going on there so You need the Zephyr SDK And once you have the Zephyr SDK, you can actually get really quickly started get the SDK. It's a tab all It's nicely built together one of the big advantage of Zephyr is that the SDK team actually gives you the SDK for all the Architectures together you install it once it's a little bit big But once you go over yourself and actually you install a couple hundred megabyte and install it after that one You can swap between architectures quite easily and move from x86 to arc without just only changing the board So you need to get to the Zephyr directory and then pretty much Save it sample program you want to compile and then just tell it the board and the board definition It's already there. You don't have to build your own bot in definition. It's already there. It's BBC micro bit We already put this in You build it and then the only thing you need to erase the flash and then you flash it into the chip And then you can access the console on that one and that's where you're getting it And I hopefully I'm trying the demo now. This will actually work So Of course not. Hold on. I think it becomes readable now, right? okay, so Let's get this one attached as I can operate battery, but pretty much you have a micro USB adapter You guys are gonna attach to it and That's about it so just build the Sample that gives you Access to the button and puts the button state out onto the console Oh, sorry nobody realized that I forgot actually to erase the memory erase the chip load the application as You can see this goes really quickly in the end so you can do a couple of iterations. You can do something wrong start the terminal And then you can start pressing the buttons on these ones And then it will just tell you that the button has for this time Couple of lines of demo really quickly and once you have the SDK installed you have a really quick turnaround time So it's not compile and wait a long time run this on this. It's everything really quick. So let's try a little bit More of the fincier ones so Oh, sorry So obviously we have a couple of Bluetooth examples in there as well So if you want to do a simple beacon like an Eddystone beacon you can take a beacon example and just build it erase the chip flash it on there I will automatically restart and now you pretty much the BBC micro bit acts as a beacon for an Eddystone now so And to prove this I actually forgot to take off my Lovely USB dongle You probably can scan for this one as well, but I need to put in I think it says Zephyr test beacon or something I've probably easily find it. Let's just scan for it. See if it finds it Oh, yeah, by the way the Hilton has every door lock is a BLE device So we'll see a lot of BLE devices in this hotel. So let's screw it up a little bit Oh, you know, it actually does work so I did this earlier to demo this one I found the Beacon and always know it becomes a little harder to find it Too many devices around here. I will broadcast the Zephyr project URL. So you could pick up the URL Can you? Oh, there it is Actually, it's a good idea. So there you get your Eddystone beacon and if you were decode this Probably need to make this bigger and if you would decode this one You would see that this is actually the Google Eddystone URL and as well as quickly as that you've turned The my BBC micro bit in a beacon I can use it and you put a battery you can just walk around with it. So let's do a little bit more Complex one Sure, go ahead Oh, you want to see the coast So that's the code that you need to actually build a beacon so you include the blue disc headers You built your beacon structure So there are a couple of extra defines for this one if you have to build them so it's advertising data And it's documented how you actually built them together And after that one the only thing you really have to do is You enable Bluetooth so you have the BT neighbor call in Zephyr and then you get a callback when this actually completed And once it completed you just say okay, and I'm starting advertising you tell it what to how to advertise it It's not connectable and then you give it the data array that you just previously built and that's all you really need so 47 lines of code and that's including comments and copyright header on the top. So rather easy So let's get let's try to turn the Eddy stone into a Into a mouse. So there's an example in there where we actually pretend to be a mouse and With that one then you could actually find it with an operating system like was 10 or Linux or Windows And then you can see how you can actually connect to it. So same thing procedures again pick the application build it Chip erase Program it in and as soon as it's programmed in it will reboot the chip and then it will start it as a device So if I then would just and then you see The test our mouse device goes there. I'm starting The mini-com now as well since it will give me the pin on this one. So I'm starting this one as well Oh, of course only tried already to pair with it I was wondering so someone I'm starting the mini-com is wall and then you can actually get the pass key that you have to put in But if I do this in a public space and people already see that I'm advertising they're trying to already pair with me So I assume someone has successfully did this before me As you see from the status and then you pretty much turn now the micro bit in a mouse device So we can also turn it into a heart rate monitor You're building the heart rate application and same goes again to be raised flash it in and now it's a heart rate device and hopefully nobody tries to mess with me right now So I can actually use it but trying to attach this from Trying to find it now. Let's see if It's available You're pleasing someone already connected for me that I can't find it Okay, let's see if we're gonna give this another chance live demos They are the multicast bit has a different meaning of this Yeah, so it finds a lot of devices here hasn't found that the moment I hit it remembered it from the last time But I don't know if Okay, so luckily I remember the address from the testings So it went on this one did the service discovery and then you have it now and then you can have You just select the attribute for the heart rate. So let's find the heart rate Heart rate measurement. So that's zero zero six zero zero seven you select that one And then you said put notifications on and then it keeps telling you the heart rate So this is obviously faked at this example because we have no sense or attached it But he would attach a sense of it read your heart rate and now you actually get the heart rate or that one You can monitor this one and this will even work with any application That has a native heart rate support. You can also read out the attributes. So let's take one for let's say model number information That's 12 Do a read on it and then tells you okay this running on the Nordic and I have chip with that packaging because we put the device Information into this sample as well can read them out same goes for battery information and so and so forth and then it Disconnects from it. So there's one nice feature that These chips actually have thermometer on it Which doesn't measure the environment though temperature at measure the temperature of the chip itself again load this in This case it just only puts out the temperature on the console you start your terminal again And it reads out the temperatures around 35 degrees. I think in the hotel last year with on 32 degrees So it runs a little bit hotter now since I've been using it. I said, it's not the environment It's the temperature of the chip itself And obviously now you can start combining these ones put these out take the exometer put it out on the Hit device, etc One other neat thing is since we have full control over their software We can actually say oh, yeah, it's great to run the application on it But maybe actually want to do some hacking within and some other tools You can actually turn this into a Bluetooth dongle and attach it to your Linux side so I'm taking this small one back off again and building one of the other samples that we have there's a Sample that is called HCI you are so what it fundamentally does it turns the Console into a full HCI device and you can just attach it to the Linux system And then I use that chip and play with it Which means you can actually modify the firmware and do modifications and do some hacking over the air Goes the same way you just build it chip erase Flash it back in the Linux side currently has no devices attached and on the Linux side You just go then okay take that device on the on the you are and attach it to the system Oh, that's not good That's not working One more try that looks better So the Linux kind of went through all the setups will fundamentally be treating the whole device now just as a path through And you would scan for devices, and you know see the thousand thousand of door locks around Which means at this point you can start to know with the firmware But you don't have to actually rely on actually doing the application you can run the application on Linux But you can do some other things there and can do Things from specs that only released yet do further development of something at some features that you might be missing answer on in the Force and move this as a flexible test result by combining Linux and therefore together to do something Okay Any questions on that go ahead, please So you can buy cheap men's sniffer so The chip how it operates and operates on one frequency at a time Which means if you want to just monitor on something on a single frequency you can get everything on that frequency really easy But Lutus uses 40 channels, which means you have to know what your 40 frequencies the chip can't do 40 Frequency at the same time for that one need you why that's never or 40 of these that you put together You can it's just not a high quality sniffer, so you you will miss packets that you would normally get So you have to deal with the error rate on this one, but you can build fundamentally sniffer out of that one as well We don't have one in Zephyr yet. So People are invited to actually do something about it and put one in but it's possible It doesn't replace a white men's sniffer though. Go ahead So what's the I would advise you to go to your own head back stock tomorrow Because he shows will show you how to do this in emulator and also all can use local hardware Put like the blue just dongle put that in emulator and then still use it so you can do a lot of Pre-work in an emulator whatever touching hardware even while touching the hardware is really fast There's also extra advantage some of the chips that have extra ICs in there for control We can actually have extra debug information coming out and attached to the JTAC to the Zag on these ones and so on and so forth So a lot of possibilities. I leave this to you on for tomorrow to give the interpretation But yes, fundamentally you can start in QMO really small and when you're happy then you only touch the hardware It was more like touching the hardware right away Okay We went through the demo part So this was just the pure demos that we actually have published and then gives you basic idea How to use Zephyr how to use the blue to side on it and how you get started? I Think if you are interested and want to work on this one easy ways Take the button example take the peripheral example for the mouse put it together and actually start using it So you have over two buttons left and right but two buttons are there left and right button you build an easy clicker that you can use If you have a question go ahead, I'm happy to answer them. Yes. Yes, so I heard it will make it over to the US as well It's easy to get in Europe. You just go on Amazon and click buy it and comes next day I tried to actually look on this one earlier in Amazon US not yet, but I've been told it actually is making over the I I think so I think this will be available and I heard it they were gonna make it here So as I said earlier take the button and the hit example put them together and actually build your own mouse or clicker But this one really easy you have an excrement on there You can fundamentally also then go once the further I'm using excrement I actually actually can most move it by just moving the mouse in the air so this is really up to you guys take something more build something and Get involved submit this upstream and see how actually it works well And you really only have to focus on the application because all the Bluetooth parts are taken care of you You will see this is really simple But the moment of information that showed can be easily exposed of a gut so if you want to use something Okay, measure the chip temperature application title thing There's a five by five LED matrix in there start making use of these LEDs and Despite the current times you can build a really cheap time clock that actually takes that time from your phone And who does already has profiles for this one where the phone can expose the time and you can use it from your peripheral device So it becomes your mini watch or something that has the time from your Phone and if you want to go a little bit further and actually read into this one I think the five by five LED matrix would be really nice to use the Apple notification service every time you get a notification You can squat it through your five by five on the matrix I'll just have this on your desk and get you to self-distract it all the time So if you don't want to watch or something so there's a lot of possibilities that are Just easy to do and I think the combination of the LEDs the two buttons and the extra pins gives you a lot of options to Go with it without having to actually figure out and get a dedicated hardware or get more expensive hardware And this is rather cheap So We gave you the control back of the micro bit if you want to do something more with it Then actually have just an application type of thing or write in the web application thing And you can do whatever you want with it So at this point it's like really if you want to do something that go toy with it And I hope it makes it over till the yes really soon so you can start and I think in Europe They go for between 10 or 15 years right now, so they're really cheap That's all I have thank you very much and further questions No the original design was running the Nordic soft device and they build it on top of the Nordic soft device That's what there was originally on there. You think he was first micro USB, so that's all it is So I think the only alternative you would have would be the minute stack or the minute operating system All the other ones you would have the fundamental problem You might get it running But you're missing then a BLE stack and that really doesn't help you if you want to tinker with the BLE side of things Because that's where the chip shines because it built in BLE radio go in so As far as I know the BBC is really actively pushing this one But it's building with their own tools like there's an online tool for this one that they can load things in there And all the education stuff They never intended it to be used like this so But I think it will actually get At some point a seven grader gets bored as well if they have all done and Create a couple of buttons so they can do a little bit more now if you get in the higher grade So I think this is really important. It doesn't have to be the BBC micro it by the way Zephyr supports a lot of boards You can get a lot of boards is just one of them that has with the LED 5x5 LED matrix It gives you a lot of options to do things where the other ones you have a single LED lit and a single button Here you have two you have the extra pins and you have a nice package coming together That's the interesting part But there are tons of boards out there that Zephyr supports right now the list of boards I think is 30 or 40 boards by now and They have all the board definitions Upstream and you can do whatever they want them and some of them have external or connectors So if you're like that and want to up into soldering and sorting something on it great go for that one I think this one is just a nice start for kids or a little bit older children actually to get a little bit Hey, we want to do something more and we want to see how stuff works The only difference instead of just typing board BBC micro bit you would type board 96p nitrogen or Intense Arduino one-on-one you just change the board definition. We don't have to change your code It will all work. We make sure it works across the board You're not supposed to touch the BLE stack if you want to change your hardware Adreno one on works as well. The only difference with Adreno one Works as well The Adreno one is the only difference because it has a separate it has multiple cores. This is a single core The Adreno one has three cores. So you have to flash every core You have to build Zephyr for every core individually and then flash it, but we'll work exactly the same Any other questions if none then thanks very much and have a good evening