What time do we have?
Not even 20.
This one?
So that people know why I got slipped.
Yes.
Alright.
Are you going up there to that microphone?
Yeah, it's this one right here.
Can you bend me the lighting?
I will stand behind the podium.
I don't want to wear this for an entire hour though.
As the hour goes, it just sheds.
I think it's hilarious.
I'm recording right now.
Alright, we are going to start here.
Excellent.
Welcome to CypherCon's badge panel.
For some reason I got selected to moderate it.
Can't imagine why.
Thank you very much for that by the way.
We have six wonderful badge making people up here.
We are going to kick off a conversation about making badges.
I got some questions off Twitter.
Let me unlock this bad boy.
We will start with some of the questions from Twitter.
First question.
Other than to save money, why don't badges have power switches?
I like this question.
Why don't they?
Who wants to start?
I will start.
That's not fair.
Yours does.
It does have a switch.
That was one of our biggest critiques last year.
He had to remove the battery.
Next year's will have a switch.
That's a very good question.
Speaking from experience on the first few that we did, we know better now, the power switch is kind of an afterthought.
Why would anyone want to turn off your badge?
It doesn't make sense.
That's a lesson we learned also in our badges.
Logistically, a lot of the badges have SMT switches.
And those actually can get knocked off really easily.
Kind of like some of the IRDA modules that you guys have had on our badge.
They just, if somebody so much as knocks it the wrong way, then it lifts the pads and then you no longer have a working badge.
I know some people don't include power switches because of that.
Yeah, that's a pain.
I will say you can sometimes use capacitive touch for switching, but we find that that will still drain the battery over time.
I got one more bit for that one.
Go for it.
Actually on our badge, those that have had the badge or seen the badge, there's two buttons.
On and then off and throw.
On is actually a hardware on switch and off and throw is a software switch.
So to get our standby current down to 6 microamps so that the battery didn't go dead in transportation to the con, the regulator gets bootstrapped when you push the on button to actually power it up and bring up the 3.3, at which point the micro takes over and keeps the badge on until you push off.
That's cool as hell.
Alright.
There's another fun one also from Tim V.
What do you think of the idea of including sound as a post-con option on a badge since having it live at the event would probably be disruptive?
And by probably we mean definitely.
Isn't that the point?
Well that's why these are this bright.
So ours do have a sound option.
There are two solder points that you can solder a piezo or a speaker to and if you get your badge into the Morse code mode or to the DTMF payphone then you can actually make DTMF tones that you can use to phone freak or have the Morse code make sounds.
So we're going to be releasing those instructions once we get some sleep.
I know that feel.
All right.
This one should take a little bit longer for you guys.
Describe your approach to choosing components.
Randomly poking at digikey not being a good one.
So if you were in my talk in the last hour one thing is mostly cost, right?
And then supply.
So how easily can we get our hands on it?
How easily can we prototype with it?
And then who are the vendors that actually sell it?
For the ones that we've done, one thing is the more you do this the more you build up a library of stuff you've done before, stuff you know how to do and you always keep track of what was the best part for that.
So there's also a lot of reuse.
If you can't find ones significantly cheaper or some other good reason to change use a lot of the parts you've used before.
And I would second that.
For us a lot of it is need then cost and it really depends on your budget for the badge.
If you have a nice budget then you can afford to have more protection on your circuit.
If you have him designing it then a lot of it is over.
Just kidding.
No such thing.
I don't believe you.
I'll second that.
No more on choosing components?
How about what happens when you've picked it you've prototyped it, you go to do manufacturing and it's not available anymore.
We didn't have that problem.
We started out with a particular brand of IRDA module got four months into it and then realized that the initial modules we had worked great.
We got another batch of them and they were sensitive to electrical noise.
We were getting electrical interference on our IRDA modules which caused the whole networking stack just to completely stop.
So thankfully we found it before we ordered all the parts for $400.
But it still caused a rock hard spin because the pinout was different on the new module.
The new module was slightly more expensive but there was no choice.
It was either abandon that function or pick a different part.
Actually we have an interesting story on this year's badge related to that.
If you watch the Kickstarter video we mentioned the APA-102 LEDs.
It's actually what's on this vendor badge here, but they look a lot nicer, they're a lot easier to program.
What we learned was they don't support a very high temperature and they crack when they're being when they're being put to a reflow oven.
And so the manufacturer we had putting this together, they were using lead-free solder and that was cracking all the LEDs.
And so we're having to go back and use hot air and remove almost every LED and then hand solder them.
So we've switched to the same LED we used last year.
It's a little bit more resilient.
And we're going to solder 6,000 of these by hand this year.
So they don't go through the oven.
I know those feels.
When I was making those USB blinkies earlier today, I overheated one of them while soldering it on and it did not work anymore.
And I guess another thing to add onto that is just size constraints.
So for the badges for this conference, they were all hand placed by me, among others.
But me.
And so I had to decide are my eyes good enough to see what I'm putting?
So for resistors and capacitors, we went no smaller than 0603s.
And we tried not to do any QFNs and stuck with QFPs, SOICs, that type of thing.
Pins that I could see.
I agree with that.
I give Charles a dirty look if he puts any 0402s on there.
Fly poop.
I haven't done that in a long time.
Come on.
Live dangerously.
010.05s.
That's a thing?
That is a thing.
You don't have to deal with.
I wouldn't even want to breathe near that.
No, you sneeze.
They're gone.
All right.
Let's start a flame war.
Which protocol of LEDs do you prefer?
So I definitely prefer the AP102s.
And that's because you can use SPI hardware to talk to them, which means the core of your microcontroller doesn't have to babysit them.
They can go off and do other things.
In fact, another chip that I like and have been using a lot is the X-Mega series from Atmel, which is really cool because they have both hardware SPI and DMA.
So you can set up your memory buffer and just point the SPI hardware at the memory buffer, say, dump all this out to the LEDs, tell me when you're done.
Very convenient.
We use just straight-up LEDs, so fortunately, the micro that we're using has the eight different cores.
So I put together bitbangs, you know, live-driving all the charlieplexed matrix stuff.
I think it would be really nice to be able to just map things like that.
I like that.
To continue, the the top end of that X-Mega series has eight hardware SPI and I think eight DMA channels.
I'm not sure on that.
I'd have to check the datasheet.
So you could control eight different strips completely with hardware.
So it all depends whether you you're doing a job that you want done and you want it done easy or if you're going for credit.
If you're going for credit, it's the WS 2012.
So I have a project that's been cooking for oh man, it's probably three years now where someone gave me a whole bunch of those LEDs stuck them to a board to make a scrolling text display and I have a 20 megahertz 8-bit microcontroller that reads out of an SD card and spits it out to those strings.
Which, if anyone's worked with that knows how tight that timing is and getting that all fitted into a 20 megahertz 8-bit part was a real challenge.
I'll second the APA 102.
Having that clock line is really nice.
We went back to the WS2812s this year and we are actually using SPI to do it.
We are using Nordic on our MCU and one of the challenges with Nordic is you can only send 255 bytes at a time over DMA so the driver it works, but it will only work up to 20 LEDs.
So somehow able to make it work through bit banging SPI with DMA.
So with that 8-bit PIC I was able to do past that, but same thing.
You get to a point in the flash or into the SD card and you get a page boundary.
When you hit that, you have to readdress the card.
So you have this big dead time before you get your next block of data.
So to get around that, I ended up having to implement a circular buffer.
So I would read ahead in the SD card.
So every time the interrupt came around to go service the LEDs to keep their timing happy, there was always data there for it to do it.
Otherwise, you get a delay all the LEDs would latch whatever data they had right now, even if it wasn't the correct data.
Another reason I like the APA-102s is they can work at, you can send data up to, I think, 32 MHz.
I'm not really sure because it's not really been relevant to me yet.
But you can send data to them a lot faster.
Another project I've been working on recently is we're putting LED strips on a car.
So it lights up and does all sorts of cool things and there are strips that are 200 LEDs long and of course I wanted a reasonable refresh rate so that translates to having to send the data out very quickly.
Side question.
How masochistic do you have to be to get into badge design?
You just need a pair of people that are like, hey, can you give us a hand with this?
It'll be fun .
That was a year ago .
I remember getting that.
So for this badge, for this conference, I started soldering in the beginning of February and it was about 6 hours every day and 16 hours on the weekend.
No breaks.
So if you're cool with that and you don't have a life otherwise, you're welcome to do that.
Yeah, and these two have been programming this badge for about a year?
Maybe?
8 months?
6 months?
Yeah, probably 6 months.
6 months in earnest.
We had all the circuit design before that.
Yeah.
So it really depends on your design.
So last year's CypherCon badge was mostly solder work because there was no programming.
So that was me.
And I didn't have a stencil then, so I hand-pasted all of the pins.
That took a long time, but I personally find it kind of zen.
But yeah.
Yeah.
So very masochistic.
So this year when we started she's like, I'll just hand-paste them.
I'm like, no, get a stencil.
I'll just hand-paste and get the stencil.
She got the stencil, we set her up, and she's like, this is amazing!
Well, and the brain board of this badge has like 80 parts or something like that?
And so I was like, yeah.
I don't think I can hand-paste that.
And thankfully, my hand started cramping actually with the tweezer action.
So I'd have to kind of shake it out every now and then and make sure I wasn't having a heart attack or something.
I feel you.
Anytime anyone asks us if we have a pick and place, Charles just smiles and looks at me.
Yep.
I think I'll add something to that.
If you're 14, go to school and have a job.
It's very difficult.
I'm just going to say that right now.
It's a labor of love, but I think, like, we've had such great feedback from everybody and part of it is loving to see how people work with your badge.
Even if someone just sits there and tries to concentrate on it, even for a little bit, for me, it's worth it.
So there is that trade-off.
So for me, last year, basically, kids go to bed, I get on my computer.
Kids go to bed, I get on my computer.
Weekends, they're napping, whatever, I'm on my computer coding, designing, soldering, whatever.
Some of us within the community, there's a hashtag we use called Badgelife, because it is a lifestyle.
It's something you choose.
I didn't have anybody saying, hey, this sounds like a good idea.
It was mostly me telling myself that, so I can blame myself.
But that's, yeah, that's my experience.
Masochism.
Yes, and I love it.
Alright, so one thing I've noticed, and this is based on another question from Twitter, is that your first badge tends to be somewhat static or animated, and your second or third badge starts to become interactive.
So you guys want to tell stories about transitioning from static badges to interactive badges?
Oh, yeah.
So last year's badge here, it being the first year of the conference, it needed to be pretty light.
And Michael had asked me if I had any ideas that would work out for making it cost effective for a first year.
And I sort of explained an idea of using just some 7400 logic chips to implement an XOR stream cipher.
And he said you're hired.
And I said, that's not what I meant.
And we were closer to when the con was supposed to happen, when that conversation occurred.
So it did have to be really simple.
But we didn't want people to think that's all we can do.
So this year we just sort of dropped the bomb on the conference a little bit with this badge.
Because we all come from software design backgrounds, so we can do all that high-level stuff.
But I think next year we might go back to something a little more analog and whatnot.
I think it's good to be able to just shift around and change, do different things every year.
There is an urge to show off, isn't there?
I like the three-dimensional part.
Thank you.
It came together at a sushi restaurant on a paper napkin.
We were like, we need to do something having to do with fringe science.
And cube the movie while very sadistic is pretty fringy.
But wait, can we do a cube?
Wait, can we do a cube?
Do we want to multiply everything by six times?
Next time I want to see a dodecahedron.
I think we were talking about a buckyball or something.
That's basically it.
Yeah.
Nope.
So in our experience in going from static to interactive, I just want to say I am still convinced that capacitive touch sensors are black magic.
They're awesome because they're cheap.
You basically just need like a resistor and a copper core.
I did some on the badge that Ben is wearing.
The recharge badge.
And there's two down in front that work beautifully .
And then I tried to do like a d-pad thing somewhere else on the badge.
And I can see when stuff touches it, but the capacitance like crosses over all the buttons.
There's no way to get any reliable direction out of it.
And then I did try to do the same thing on this.
I just kind of threw together at the last minute and when I built it, put the code on it, I started trying to use the touch pad and just nothing happened.
In the car on the way up here.
So I'm convinced they're black magic.
If you get it to work amazing, please tell us how.
I think another thing with the badge interactivity thought is, so our first one, there's different levels of interactivity.
There's one where it's between you and your badge with another person and their badge and helping each other figure out like the encryption method for last year's badge.
So there's the collaboration portion of people working together to try to figure out puzzles that are dealt with with the badge.
With our second badge that we did for another conference, we thought about not only how people could collaborate, but also just the physicalness of actually getting two badges together to interact with each other.
And if you've come to our table, you'll see one of the DNA strand badges.
And so we wanted something that was simple enough to understand so that people didn't have to be geniuses to figure out how it works.
And from that, when we come to this badge, this actually also has different levels, I feel, where it can be as simple as helping each other figure out how not to suffocate, to how you can jump from your badge to another person's badge, and then to the point where multiple people in one person's badge can talk to each other.
So there were different levels that we wanted to try to hit for different reactions so that when people got to that reach goal, they're like, dudes.
And that was motivation for us to keep feature creeping in some of these different aspects of the badge.
So hopefully you guys have gotten to relay with each other on the badge.
If you haven't, it is possible.
So speaking of feature creep, how do you decide what to keep and when to cut off new ideas and such like that?
And tell us stories about when you came up with an idea that was just too good to not do and was worth staying up all night for a few weeks to do.
It's Tuesday night.
The con's on Thursday.
Charles can't answer this question.
He does not know.
I was going to say, Tuesday night?
That's your cut off?
This one it was.
I think last year we had one that they're delivering the badges to the con in 12 hours.
Yes.
I remember that night.
So anyone who's interacted with this one knows that we didn't stop at any point with our feature creep.
We just kept going and going and going.
It has two processors in it, which is reasons, right?
The PIC hardware can do the IRDA stack and USB stack better than the PROP could have.
But the PROP can do all sorts of neat things that the PIC wouldn't be very good at.
So we just used both.
The problem with the PROP is it only has 8k longs of programming space.
And I needed to implement a timesharing operating system, an LED driver , and a text adventure , etc.
So I kept running out of longs.
Every two days, there would be like 40 longs left.
And I would have to go back over the whole codebase and figure out ways to make it smaller and smaller and smaller so I could just have enough room to be able to implement the next feature that these guys were asking for without overflowing my stacks and the processor crashing and puking things all over the screen,
etc.
And then we found an idea that just let us go absolutely crazy.
We took all of the strings in my source code and put them on the EEPROM in the PIC chip.
Now I can just send a long to the PIC chip and the PIC chip loads up the string and sends it on to the user.
So now I have 8k longs of all code space.
So we were able to do things like implement the payphone and implement frequency generation on the fly for all the blue box and red box tone freaking, you know, all that stuff.
So we basically just never said no.
We just kept going and going and figured out how to fit it in.
That seems to be a theme.
How about you guys with the vendor badge?
So the way we picked features, we had maybe 40 different ideas in our spreadsheet that the team contributed to.
If you saw my talk, I mentioned FPGA.
There was really no reason why other than to have an FPGA.
So what we tried to do was just map, we have this cool hardware, what will it actually do?
What's the person going to use it for?
And then try to find commonality between those ideas.
So one of the things we removed from this year's or this upcoming badge is accelerometer.
We couldn't find anything to do with it other than to tilt the badge.
So it was a huge waste of money just to put this QFN part on there.
I've got to think of another one.
As far as coding and feature creep, that is how it goes for us.
The same thing as the toy makers.
Our issue tracker this year already is up to 300 issues or 330 issues.
That's well beyond anything we did last year.
We're up to 170k of flash used.
We only used 108 last year.
So we're just above everything we did.
And I don't think we're going to stop until right before the con where we have to flash these things.
The issue is really stability.
So every time I introduce a new feature into the code, what am I breaking?
I have to go back and regression test everything that's already in there.
And where I may have added a timer over here to drive an LED, I just affected the display driver over here on some animation or some game.
So it's really difficult to ferret all those bugs out.
Especially when you have so many things going on at once.
And so I'm an expert at the game inside the Texas Adventure game because I'm the alpha tester for them.
So I just have to know, I have to first be able to test all the deaths, to make sure I can get through the system, that all the actions and the looks are correct.
So that's probably why I think it's so easy.
Yeah, so this year, I'll throw it out, so Hyren is one of our new team members.
He's been furiously testing the badge.
Every time I push something to get, he's flashing onto his, he's doing some sort of test, and he's dumping about ten different issues into the tracker.
So I close one thing, he opens ten.
And it's usually some sort of frustrating chat log between us going, what just happened and why did this happen?
So, yeah, I don't really have the same experience, but Hyren does.
Again, masochism.
Alright, let's start another Flame War.
Language to write your code in.
So, one of our friends that we hang out in IRC with is a microchip rep.
And these guys originally said we want to do USB serial and IRDA.
So we need two different chips to do this.
He's like, oh, you can just do that in a PIC.
And that's where I got involved, because I've done a lot of PIC code.
Unfortunately, with the time frame we had and the chip they picked, they forced me to use C.
So I have a ton of experience in assembly, because my previous jobs, I had to do some really tight optimization for work.
And that just, you know, I learned in assembly, they wanted it done in assembly, because that's the only way we could optimize for certain cases.
And then these guys come along like, hey, can you do this?
There's this whole code thing over here, you just paste it in.
So it was a real experience.
You know, I knew C.
I just didn't use it for programming microcontrollers until this last go-around.
So, my preference is assembly.
I'm a hardware guy.
If I do it in assembly, I know exactly what the hardware is going to do.
The downside is, I have to optimize everything.
So it's totally a trade-off.
If you trust your compiler, and you know it's going to do a good job, go with a compiled language.
If you're doing something a little odd, or really odd in my case, then assembly might be the better way to go.
I spend most of my time in C, although it should be pointed out that you can embed assembly in C, and I've had to do that on a few occasions when the compiler just couldn't figure out exactly what I was trying to do.
The compiler also can usually do all kinds of amazing things that you would never think of.
And I also find it very useful.
The compiler, or one of the object manipulation things in the toolchain, will spit out an assembly listing of the code that is compiled.
And if you really need to optimize something, you really need to figure out why you just lost 2K of program space when you added something that seemed really simple, you can go back to that listing and see what the compiler actually did and figure out where it might be doing something stupid.
So first of all, Arduino sucks.
I did the Bender badge last year in Arduino.
If you look at our code on GitHub, we had about 30 different files.
I had to name the file and give them the shortest name possible so it would fit on those tabs across the top.
This year we're C, using Nordic.
I actually kind of like the Nordic SDK.
It's pretty nice to work with.
As long as you don't use their high-level libraries too much, you're pretty much okay.
So contrary to basically every Hackaday comment ever about the Parallax Propeller, you can use C on it.
I don't, because I've been using Spin for a long time and I'm pretty good with it, and I treat it more like you'd approach assembly.
I'm mostly shifting things in and out of registers all the time.
To me, it's more about how I'm using memory than it is about what language I'm using.
All this stuff is super low-level.
But again, this is a weird one because not only was I having to choose a programming language to work in, that made sense for my platform.
There's also a programming language interpreter built into this.
So I had to design a programming language for it.
So, I don't know.
Alrighty.
Here's the last fun one we got from Twitter.
And I will add a couple of details to it because it's kind of short.
Would you rather hand solder 1,000 duck-sized horse badges or one horse-sized duck badge?
Asking for a friend.
And I'm going to say same component count for both scenarios.
How many components?
The same.
I see what you mean.
How big are they?
Well, there are 1,000 duck-sized horse badges and one horse-sized duck badge.
Yeah, but the components can be kind of small on them, or they could be like you know, whatever.
Your choice.
Does it weigh the same as a duck?
Does it quack like a duck?
Yes .
1,000.
1,000 ducks.
Wait, horse-sized ducks?
Duck-sized horses.
I don't know.
Whatever.
The 1,000 options, because you have reach goals.
So like, when you're soldering, you know that if you get this 10 done, like this group of 10 done, you're 10 closer to the end.
And you can look at your little stack of done piles and you're like, look what I did.
That's so nice.
But with the horse-sized duck, then you're just waiting forever.
You know, and you're still pasting, pasting, pasting.
And, yeah.
So I think I'd do the 1,000.
I mean, I did 2,400, so...
whatever.
I'll agree with the 1,000 because it becomes repetitive, right?
That was kind of our pick and place last year.
It's really easy to line up four badges and then drop the same component on all four and then put those into the oven.
If we did the horse-sized duck, I'd just make Jorge do that one because he's really good at soldering a bunch of different components.
Now the other thing is if you have like a quilting club, you know, you just set everybody around a lazy Susan or something and then they can take care of a part of the horse.
So I guess there's that, but if you can't rely on, you know, everybody soldering like a masochist, then, yeah, 1,000.
I'll echo the 1,000 for the assembly.
You know, you can, you know, do assembly line style.
You can get into the right rhythm.
Can we make the large duck out of the smaller horses?
Why not?
Because then it's basically the same thing.
I would just send mine to Macrofab for assembly.
I'd send it to my picking place.
That would be me.
All right, I'm out of Twitter questions, so it's time for audience questions.
Who's got a question?
All right, you get first.
So what feature of your badge do you hope and pray somebody finds?
An Easter egg or some kind of hidden component?
I'm asking for myself.
The woods?
For you?
Probably.
For Peter, it'd be the woods.
If you find the woods.
One person has found the woods, and they're like this close to getting in.
No one has come anywhere near locating the panopticon that is in the center of the missile silo.
So, you know, get busy, guys.
So next year's badge will be trawlable like last year's.
I had a little device last year that was sending out the rickroll packet every second, and we were rickrolling everyone we walked by.
So of course we're going to do that next year.
And if you're really good at Bluetooth, you may be able to figure out how to rickroll or Hypnotoad or whatever you want, all other vendor badges.
And you won't need a badge to do it.
You can do it with your phone.
I remember I was like two drinks in, and all of a sudden I looked down and I'm getting rickrolled.
And I'm like, where are they?
So a story that I can tell is back when I was a noob at going to cons and nobody knew or cared who I was I'd put puzzles on my shirt or something and nobody cared and nobody would try to solve it.
So for...
and I want to echo what was said earlier about basically if you find anything that we've put into these badges that's just amazing for us.
That someone actually took the time to find it and mess around with it.
And I think actually that goes like last year's badge with encryption we had a single encryption sentence, I guess, on the back of the badge.
And of 225 people I think, or 250 people who came to the conference, one team solved it.
And it was students.
So we love students.
Because they roll over to our table.
Okay, does it work like this?
Oh no!
And then they roll back and they work on it.
So the working on it is really like what drives us and what we're going to be talking about on the trip home, to be honest.
Yes, those students that cracked it last year, you may see them in the hallway.
They've taken over an alcove.
They've found an outlet.
They have disassembled the badge, hooked logic analyzers up to it, broken basically everything.
They're going through it every step.
And that is worth more than whatever Getsman paid us.
That feels really good.
You know, continue to play with the badge.
Just because the con's over, you can still play with it.
And if you do find stuff, tweet it out at us.
I mean, it's cool to see that, hey, two years from now someone tweets you and is like, hey, on the CypherCon 2.0 badge I found this.
Just know that it's still interesting to someone.
They just didn't all get thrown out at the end of the con.
And for me personally, there are two things that I want to see done.
So one, I've already seen kind of because people wanted points, like the QR code points, which was relay people chatting with each other.
That blew my mind when Whisker implemented it.
They're like, hey, sit down.
And I'm like, okay, whatever.
They're like, relay me.
And I'm like, okay, blah.
And then he starts talking to me, and I'm like, what is this?
Right?
I was amazed.
And I love that, like, chat with each other on a badge.
The other thing is when I was testing, I never managed to get more than seven hops through the badges.
Seven to eight, maybe, hops before it got way too slow for me to talk or to telnet to the next badge.
So I want to see how far somebody can telnet, which may require getting a bunch of people together in a circle and keeping track of where you are in the chain to make sure you're not doubling back on yourself.
So , yeah.
So one thing that we did at the last minute is I put these coins together that we've been handing out a few of them here and there.
There's a couple of things on here that you can try to figure out.
If you go to a lot of these cons, like DefCon, DerbyCon, we're going to try to hook that into something that we bring to those.
So, yeah.
I would be really happy if someone actually makes that connection and does that.
Especially since I don't know what exactly it's going to do yet because I haven't written it.
Okay.
How much time is spent on research and development compared to production of the badges?
So, a lot of that come... oh, sorry.
Can I go first?
Go ahead.
A lot of that comes down to what you're doing and have you done it before.
So, this year with the USB stack and the IRDA stack, that was a lot of... I mean, it wasn't so much research and development, but it was just a lot of learning.
I knew this part existed here, I knew that part existed there, but I never put them together.
So, what do you say?
40-60 split?
Yeah.
For the hardware portion, it also depends on your parts.
So, we sourced through a broker in China and there are ups and downs to that.
One of the downs was that the part that I asked him to get was completely opposite from the part that we got.
So, we had like 2100 LEDs that were completely backwards.
And so, what that meant was I had to re-spin all the boards, like all the sides, and make sure that those prototypes worked with the new LED that we actually got sourced.
And then the other thing is partially feature creep.
So, if you look at your badges, there are, on the sides and the top, there are absolutely no vias.
So, there's nothing...
Yeah, okay, I'm really proud of that.
There are no vias on these boards.
And so, if you look at the rose pattern inside for these 16 LEDs, and you've done trace work before, like that's... I'd like to think that's impressive.
So, the amount of time that was spent doing that trace work was a little more than your normal board.
But , yeah, so at least for me, that part depended on the parts and whether it worked or not.
So, for us, it's about 30-40% of the time is spent just researching, buying sample parts, prototyping, writing drivers, and just kind of figuring out all those ideas that we have, which ones will actually work.
The production part is...
it's a furious activity.
At least last year it was.
It's about 6 weeks long.
Not counting sourcing any of the parts.
One thing I've learned, especially dealing with China, is buy the parts early, get them on hand, and then finalize the design based upon that.
So, our displays last year, I think I had those on hand in March, and we didn't finalize until May.
And that was just because I wasn't sure what pins I would actually end up with.
Any more questions from the audience?
Don't be shy.
Can we make up more questions?
Any duck-sized dogs or horse-sized elephants?
Is there any way you can control things like TVs with the badges?
The IRDA stack relies on a hardware IRDA engine in the PicMicro.
And the way that IRDA works is whenever you...
We're using SIR, which is simple IR.
IRDA mode.
So basically, it acts like a glorified UARP.
The way it does it, though, is it takes for any time you send a zero, it takes the bit time, divides it by 8, and sends one high pulse for that bit time.
And then on the other end, it uses that to sync things back up because they're going to be totally out of sequence and also due to reflections and other things, if it sees two pulses in that same window because of reflections, it ignores the second one.
So it helps it recover the signal.
So in theory, no.
But as soon as I say that, someone's going to be like, hey, I just turned off my TV.
So if you get the right baud rate coming out of IRDA and the bits just happen to line up in the right spots, it might be possible.
So the TVVigon is a really neat little mischief making device.
And it's completely open source so you can get the plans off of wherever.
Adafruit has one version of it.
It runs with an ATTiny85, a couple of transistors, and infrared LEDs.
And, well, crystal power filtering capacitors, all that.
Boilerplate.
And that has been and will be rolled into badges.
So the first IRDA part that I picked had a RR remote mode built into it.
But unfortunately, when that part just turned out to be junk, the new part didn't have that, so that feature got dropped.
But it would have been a good feature for you.
Yeah, I mean, we were totally planning with the original part to support there's a Linux open source project for controlling remote TVs and whatnot, where they have a standard format of libraries for IR codes.
We were planning on supporting that format so you could just type it in and your badge would do it.
But unfortunately, switching to the other IRDA module sort of killed that feature.
I will say that Charles and I have been told not to provide batteries for certain things.
You can do that at certain conventions by the hotel staff.
Pro tip, some of our TV BeGons and some of our other soldering kits take the same kind of battery.
So that was actually one of the ideas we dumped.
We had a TV BeGon idea.
We wanted to do IR and do some interesting badge-to-badge comms with it.
We didn't continue with that idea.
But if you have the Defcon 20 or Defcon 22 badge, those are easy to hack to do any Sony IR remote control code you want to do.
We did it and we're actually able to basically DOS any IR signal around us with the Defcon 20 badge.
So if you have that on hand, go look at it.
So what dream feature would you guys like to add to a badge if you had the budget and the time and all of the stars aligned?
Defray!
Defray or deathray?
Let's go ahead and add a deathray.
We might have a winner there.
Fully fledged relay computer?
Clack, clack, clack, clack, clack, clack, clack, clack, clack.
Oh!
Yeah, flip dots or something.
Flip dots.
Alright, so the first thing I'm going to do with mine when I get it home is tap into the UART that's on the bottom and hook it up to my acoustic coupler because we have a PBX in our house because we're those kind of people.
And our own ISP on it because I want to go in IR to the badge and then out to the acoustic coupler and dial through to our ISP to get online that way.
But I don't think that's really the sort of thing you would do for an actual conference day of rollout thing unless it was just for a demo or something, but it would be a cool feature.
Because reasons is perfectly valid for me.
Wait, so it's possible?
Yes.
So actually we probably could still talk to you guys through the internets with the badge.
But very, very slowly.
So I'm not going to talk about our dream features because that's what I'm actually working on back in the hotel room.
I know.
I'm sure you won't.
It's been obscured on the badge.
Sorry, you'll have to wait.
Any more questions from the audience?
I kind of want that LED matrix up there to have a capacitive touch matrix under it.
If budget were not an issue, I think I would have put corner... in time.
I think I would have put corner LEDs in everybody's badge.
And that was the initial intention, because the corner LEDs are pretty epic.
I think I will provide the part number, though, for you guys.
If you choose at your own risk to take your badge apart and to put the corner LEDs in.
Because when you play the game, the corner LEDs act as a map for the game.
So, I think that would have been my dream feature.
I definitely want to do that.
Any more questions from the audience?
Bueller?
Nobody?
Let me see here.
Oh, there we go.
I know you guys integrated a game or a story into your badge, and I was just wondering, how common is that, or is this a really unique approach?
Yeah.
These guys have games in theirs.
Do you mean like the story or the game, or both?
Okay .
I think...
Oh, sorry.
Yeah, I've played with theirs a little bit, and they've got some pretty cool games in there.
Is there anything that's really like story-driven on those?
No.
Nothing.
Next year?
We'll see.
I'm trying to get him to tell us stuff.
We did Flappy Bird and SkiFree Asteroids.
That's only because I had some back problems, and so I couldn't move, so I just sat there coding.
I know you got Snake on there.
On last year's, there's Snake.
And then on next year's, we've implemented a Chip8 emulator, and so there's 64 emulated games in there that we've put on.
But nothing story-based.
The only other badge I know that even attempted that, the Whiskey Pirates tried one last year, but they had some issues with their hardware.
I will say that the SkyDogCon badge that I'm wearing was designed by Red, and it had an interactive game of tank that all of the participants in the con could play versus each other.
They had that running off a server over the wireless without completely killing the wireless, which was pretty amazing in of itself, and that was pretty impressive.
Yeah.
And speaking of badge life, if I can tell a story, Charles and I arrived at SkyDogCon going, yay, a con!
We won't be up all night soldering badges before, and we'll actually get sleep.
And then we met Red, and he was still putting together the last finishing touches on these, and we were talking badge stuff and soldering, and one way or another the challenge was issued, and so Charles and I stayed up until I think one or two in the morning soldering our own badges because masochism.
Is that time?
Yeah, that's about it.
So, thank you all very much for coming, and for the panelists for talking to us all, and thank you very much for inviting us out.
applause