← All talks

The Making of the Banglet

BSides PDX · 201825:59177 viewsPublished 2019-02Watch on YouTube ↗
Speakers
Tags
CategoryTechnical
StyleTalk
Mentioned in this talk
About this talk
Nisha Kumar (@nishakmr) This year’s DefCon DC503 badge was not a badge at all but a bangle with Bluetooth LE controlled lights. It was a risky gambit that paid off (or not, depending on your perspective). Nisha is the badge designer for the DC503 badge for DefCon26: https://github.com/pdxbadgers/2018-banglet. She also maintains an open source project: https://github.com/vmware/tern
Show transcript [en]

I've actually had the pleasure of working with Nisha Kumar our first speaker today I also had the pleasure of actually wearing the prototype of what she's going to talk about today at DEFCON 25 so and I had the only one and that's why this came out and I'm really pleased that she's here to talk about it today so anyway Nisha Kumar it has is the badge designer for the DC 503 badge that they used at DEFCON 26 this year all of this stuff is available out on our github it's the PDX Badgers github PDX Badgers 2018 bangla she also maintains an open source project turn which is working with docker containers with docker containers on finding out what

you've actually got in it and so anyway without further ado Nisha Kumar okay okay I do not know how to operate Google Sites obviously there's a triangle button oh yeah present okay and right there sweet okay hi so this talk is about the making of the bangle it I have one on my hand which I will try to demo and while I'm trying to demo I'm going to talk about all the wonderful people that actually worked with me on this so there's route killer John Han and secure leaflets and odj and peers all of this stuff that I'm talking about the code the docs all the Gerber files everything is on this github special thanks to the dog

crate who got me involved in all of this in the first place and the family who were ready supportive while I was doing this quick question how many are under 21 nobody under 21 good I don't have to have a filter then all right so a little background about this so back for Def Con 25 which is 2017 DC 503 made this lovely wagon badge how many of you are familiar with the wagon badge yeah it was awesome it had this regard owed BMD 300 module that was Bluetooth enabled this badge did not use any of the Bluetooth features but it also came with this 64 megahertz ARM Cortex with the giant amount of flash memory and RAM

so you could run a little video game on it and that was pretty cool but there was no Bluetooth and that was something that the DC 503 folks wanted to include this time around in 2018 meanwhile in my corner there was Mickey asked me to make her bangle that had blinky lights on it and this was a weekend project that I built really quickly I had the I knew what to use but I had no idea whether I could do it or not and so I just tried over the weekend to do it so this is what it looks like she took it to DEFCON and everybody wanted one apparently I do not I do not know because I didn't go to

DEFCON this is what I heard this is third-person the feedback that I got but that was when later it turned out to be right because dc5 wordplay approached me and asked me if i wanted to make one that had basically a bangle and all of the but the BMD 300 so Bluetooth enabled bangle which I will try to demo for you right now so here's my phone here's the bangle in passive mode it just has blinky lights well it just has like static lights it doesn't blink and through the app on the phone I can connect to it if I could find it because there are so many I should have connected to so they

think this is Hoyt well anyway here it is it blinks it's got a pattern there there's proof people have seen it and I will this is unfortunate ya know well and it's also like rebooting a number of times so it's obviously not foolproof but there's lots of the things that it has is that it's got in passive mode it just detects any nearby Bluetooth devices and based on their MAC addresses it will glow a certain color and that's what it is in right now then based on the number of Bluetooth devices it sees you can unlock special pattern like blinky light patterns with it so as far as the design is concerned this is inspired by a de

fruits LED bracelet there's a link to it they have all of their files for this available on their github as well they have a tutorial on how to make their bad about their bracelet and it uses the Adafruit trinket which is like a tiny a teeny eighty tiny 85 based dev board so their their bracelet basically has a slot for the trinket to go into now over here the dev board that we base this upon was the Adafruit feather which is much bigger than the trinket so we had to place the board horizontally rather than vertically and so there's a lip and there's a slot over there for the board to sit in there is also a slot for the LED strip to go

around and the LED strip actually is soldered on top of the board so even even though the board is placed on the slot there's an LED strip going around it so on the outside you see like it's a one continuous strip so then there's also like a neodymium magnet thing which snaps on really satis it's got a really satisfying snap like a normal bracelet john hanis made this thank you John the board design is mostly borrowed from Adafruit feather board which is also available on github if you want to check that out this board layout is also available on github on the on the link that I showed earlier I'll put that out if you want

so the SOC for the Adafruit board we replaced that with the BMD 300 and the we shrunk the board down by basically removing a bunch of components from the Adafruit the original feather board we only routed out one data line we didn't have any reset switch or any on-and-off switch the Adafruit feather also has like a DF few ons on switch which is like a factory reset we didn't have that and this board was designed by me that's my github and root killer who helped me the board programming uses a Adafruit s-- bootloader which we burn which we weren't using the regard of board as a what a jst programmer and so nordic has a way of this

based on the NRA 52 832 Nordic SOC and they have a way of making a bootloader but we just use data fruits cuz we were we didn't really have much time and we programmed with Arduino I know Oh DJ said that he's an electrical engineer I'm an electrical engineer too so I cheated here so all the programming was done by Dean Pierce okay and the board programming this is actually one of the cool things about this board is that Nordic has UART ble service so you can it it converts the service allows you to talk to the D to the device so you can actually use one of the you can either use a de fruits blue bluefruit le app in

UART mode or you can use one of those serial Bluetooth terminal apps they're available both in Android and in iOS and you can use any one of them to send data to the device so we had made it such that if you parse the data and you see any of these key words it'll tell you what to do so yeah the the bangle actually has a shell which is I think this is one of the coolest parts about this so yeah it just scans scans any in passive mode it just scans devices and reads the data from the rx buffer and figures out you know based on the MAC address what color it should blink the

lights and this the fact that it has all of these different things like the Nordic Development Board is really powerful actually so you could you could operate the device in either central mode where it just scans for nearby devices or you can operate it in peripheral mode where you can talk to it from a central like your phone or you can operate it in dual mode which makes it behave like oh the central and the peripheral so you can make it do all kinds of like mesh networking stuff there's actually like a GATT service for mesh networks that I haven't read about so programming wise the possibilities are just amazing for this one and you know we can they're all

the code is out there so if you want you can hack it and see if you can make it work because within the time we had I like couldn't figure it out myself okay now for all of the gotchas so the design because we were probe we were designing the bangle and the board at the same time I really didn't know the exact dimensions of the board beef before the bangle was designed so we needed to secure the board to the bangle with a with heat shrink so we use clear heat shrink there this made assembly horrible we spent lots of time just trying to stretch the pain over the board and we had to also secure the battery that way

this didn't turn out we didn't plan it this way this is just like how everything turned out and this is basically hacking to make it sit there so another thing is that we only had one size we were hoping to have many sizes for like vigorous as well as small wrists I have a tiny wrist and this is the only one which was tiny and the reason I could make it work was because I dremeled out a slot for the board to sit in so basically when the whole design was shrunk the board slot was also shrunk and so the board couldn't fit in it there was a lot of Dremel in happening as you can see we also had to

Dremel and carve out slots for the the program the USB slot as well as the battery slot so along with the original design there was a lot of hacking going on but at least that now we got a good idea of what to consider when we're designing this board as you can see this is how this is how we made the this actually turned out very well like I thought that we did pretty a good amount of forethought to think about where the pads ought to be on the board in order for the strip to be soldered onto it as far as the line mint is concerned there was a lot of arguing going back and forth with regards to

this but I thought it turned out very well one thing I didn't consider when I was designing the board was that the strip the strip thickness so it actually sits a little slanted on the board because the board was not wide enough to accommodate it these things there were many devices on the original feather board that were specific to Adafruit so you could only source those spots through them and I mean I understand why they do this they they need to make money but we had to find alternatives for that the USB alternative was reasonably easy fine but the jst one was really hard because we also had to consider what batteries we had on hand so these are these lipo

batteries are used to they're used in drone design like drone hacking so that was the kind of connector that we had to work with and so we had to find a compatible connector and we also had to consider whether it was housed or not and depending upon whether there's housing or not we can make the connector fit so they were very I spent a I spent a lot of hours looking for the right connector for this so these these are actually available on de jakke so this out in the end oh there's something over there that says I am a noob this is actually my first board design I had never done this before so in that itself

was like I I was I was terrified so when I started off I actually didn't do anything until your root killer told me did you do anything you got to work on this so there was some there was some hesitation from my part but and I'm so glad that it worked really like relief that it actually worked otherwise it would have been like you're never doing this again yeah so these are things that we or I did not consider when we were doing this it was well for one thing the planning to put all this together was just enormous I had no idea there I mean you had to think about assembly timelines and and this is not just board assembly

this is like board fabbing this is born putting the parts on the board soldering stuff onto the board putting the board in the bangle I felt like if we spent more time thinking about how much time it would take to assemble this it would have gone much faster we I don't think I think we did consider whether the bangle is going to be easily assembled but not to the extent where we're thinking we're trying to shave of seconds in the assembly we were just like oh it takes us two it takes us a minute to do this it's not gonna be that bad well you know two or three minutes multiplied by one hundred and sixteen hundred and twenty I

don't remember one hundred and sixty that's a that's a long time to assemble there was also like 3d printing dates along the bangle was 3d printed they were 3d printed up to day of event by people in the community like people actually said I have a 3d printer and I can print these things for you and I don't think we would have gotten all of the bangles printed if it weren't for people helping out like that so this took a lot of people hours okay and people tell me that this was received well but so take this with a grain of salt i assault I didn't go to Def Con so I don't really know yeah no that's secondhand I don't

know I will I will be the judge of there I guess some of it happened like some of the feedback I was getting was from the one hackaday article about all of the DEF CON badges and they barely had anything about this so it was probably because I wasn't there to explain like you know this is all the cool stuff that it can do how they saw was this tab angle with like blinky lights and some diffuse stuff and everyone would and lots of people had them so I'm wondering you know just looking at all of the other badges that are out there maybe this wasn't that flashy a badge first of all it wasn't even a badge so it's kind

of like one of those things DC 5 or 3 took a gambit on like they took a risk saying well it's not a badge but you know it'll be cool but it wasn't garish and I wasn't really looking for anything garish but maybe it ought to be garish I'm not sure they're I mean so I I'm still looking for feedback on that maybe it maybe it ought to be subtle I don't know DEFCON badges doesn't they don't seem to have subtlety built-in so I wasn't maybe this was just like a mismatch of vision but the fact that it actually worked was something just amazing to me we there wasn't much as far as expertise was concerned this looked like something

that required expertise and we didn't have that much of expertise and we guard ourselves up to speed on it you know big shout out to control age that had all of the equipment it was in state-of-the-art equipment but we were still able to use it to make something like this so it's I am just very thrilled that this worked out the way that it did and my hats off to everyone at DC 503 and control H to be able to help me pull this off so with that I'm saying thank you

and I don't know do we have time for Q&A five minutes for Q&A okay does anyone have any questions yes sir we thought that we would but we actually didn't we thought about it and we were like oh crap maybe we you know but no we didn't have any interference so yeah no that's a good question okay so I am in the process of thinking about it one of the ideas I had was maybe make beads use the mesh thing and make like individual beads that when they when you string them together will produce different effects so I'm kind of thinking in the way of like mesh networks but I do not have I do not have enough knowledge of

how the platform works in order to pull that off I am also helping with the Diana initiative and that's I am that's gonna be like a very simple earrings kind of thing but not with this that that'll be like more my style which is like subtle thank you yes sir

well so I mean there are several ways we could have gone about this I suppose the fastest way we could have done that is make a mold you know and then outsource it to some kind of mold producing thing but really what what the 3d printer allowed us to do is to be more flexible like I said I was designing the board while the bangle was being designed and we were actually able to make some changes with the bangle based on how the board was changing but I think that that's a good point like you know if we had a prototype all set and we say okay this is and this is how it's going to be then we could probably

find a supplier who would produce a mold for us that would require long like we we did this in three months so that might involve you know more six months period so yeah there was also like some consideration of making fly using Flex PCBs but again we do not have any expertise on making Flex PCBs so I don't know how that would that would have worked out but yeah mass production was not something that I was considering thank you for the question [Music]

I think we worked with whatever we had

yeah the the black one I actually use super glue to stick the the strip on top of the black one we thought about clear PLA s the before but I don't think we had any on hand oh yeah you have one okay I think thank you [Applause]

you