SERIES: The Amp Hour EPISODE: #125 DATE: December 10, 2012 TITLE: Bus Buckaneer Builder PRESENTERS: Chris, Chip Report TV & Chris's Analog Life Dave, EEVBlog GUEST: Ian Lesnet, Dangerous Prototypes, SOURCE FILE: http://theamphour.com/podpress trac/web/2167/0/TheAmpHour- 120-MugwumpsMullingMilling.mp3 (TC 0:00:00) INTRODUCTION: Welcome to The Amp Hour, I'm Dave from the EEVBlog. And I'm Chris of Chip Report TV and Chris Gammell's Analog Life. And I'm Ian Lesnet from Dangerous Prototypes. Dave: Hey, Ian, thanks for joining us. Ian: Thank you so much for having me. Chris: I did not realize your name was pronounced like that; I feel bad now. Dave: Yes, so do I. Chris: I've been saying it wrong. Ian: Well you'll never actually hear me use my last name, that's why in forums and even in presentations at Maker Faire, I insist that they just put Ian. Chris: Really! Interesting! Dave: Oh really, okay! Ian: It's much easier for everyone that way. Chris: That's good. Dave: Right. Chris: That is easier. All right, cool! Dave: You see, I'm exactly the opposite because David is so common and then David Jones is so common, I've had to put my middle initial when I used to publish stuff, so that I didn't get confused with any other David Jones's. So I had to put David L. Jones just to differentiate myself from everyone else. You're going the celebrity one name route, hah! Ian: Well I think the Dangerous Prototypes fills it in. Dave: Yeah, of course, yeah. So you're an open hardware aficionado? Ian: Oh yes! At Dangerous Prototypes we try to make a new open source hardware project every month. Open hardware means, of course, that all the files, the documentation, the pictures, even the articles and things we write about our hardware, it's all licensed under an open license so anyone can take it and use it just about however they want. Dave: The million dollar question is what license do you prefer? Ian: Okay, well you know in the past we've done a lot of creative comments, attribution share-alike, so you have to share it as well and you have to our name on it. But increasingly, we're doing public domain. Dave: Oh, interesting! Ian: Just do what whatever you want with it. Dave: Right. Ian: I come from this as a writer and a blogger, and my first open hardware was published on Hack a Day and other blogs, and really the license is just a formality. Dave: Yeah. Ian: I really want people to do what they want with the work and have a good time with it. Dave: Hmm, hmm. Ian: I really don't want them to worry about licensing restrictions or any of that kind of stuff. And I'm not into the philosophy of licensing. Dave: Yeah. Ian: I know there's good reasons that people do all sorts of different license types. What I really want is the least amount of BS possible… Dave: Awesome! That's a good idea. Ian: … for the people using our stuff. Dave: Yeah. Ian: And so, you know, public domain is the way to do that. We disclaim all rights, except our trade mark on the name, and then people are able to use it however they want. And that started with development boards and breakout boards because you're making a board specifically for an engineer to use to build or learn a project. And why one earth would you lock that down? Dave: Yeah, I know. Ian: In my mind, that's like a text book saying well every time you use this formula you found here you have to attribute this text book, and that's not generally the way it works. Chris: I wouldn't put it past too many publishers though; I think some of them might go the mall eventually. Charge you 200 bucks and then 50 cents per equation. (laughter) Ian: So I really just want people to be able to use our stuff however they want, especially the development boards and the breakout boards. Stuff that's intended for engineers to use it in their own projects and to quicken their development cycle. We're putting all of that out under public domain now. Dave: Fantastic! Thumbs up, definitely. Ian: Well it hasn't hurt us any yet. Dave: Right. How did you get into all this? You started on Hack a Day, but what about before that, have you always published stuff, worked on projects and stuff like that? Tell us about your background. Ian: I saw in the write-up there was a question about my education. Dave: Oh okay. Ian: I did start as an engineer but I wasn't very good at it and I didn't like it very much. Dave: Ohh! Ian: So in my Master's degree I moved to urban planning and regional development, and I also started a PhD in that as well. And when I did my PhD, I started writing a dissertation about using wireless sensors and wireless sensor networks to learn things about cities and measure things in cities. And I worked with, what was called, the Berkley Smart mode at the time, based on the TinyOS operating system. And I got this equipment and I tried to implement it and it just didn't work very well. Dave: Mmm. Ian: So of course, after being frustrated with it for a while, I had to whip out my asset etch tank and start building QFN radio boards in my dormitory room, on top of a hotplate. And that's really where I learnt the nuts and bolts of electrical engineering, something aside from the theory. And that I found I liked quite a lot. Chris: Yeah, fun stuff, right. (laughter) Ian: So in the process of developing this wireless sensor network, which ultimately I always wanna point out, fails. It was just a disaster of a project. Chris: Is that just like a general sweeping statement? Dave: Why? Please, tell us. Let's get into the technical details. Why did this thing fail? Was it politics or was it engineering? Ian: God, no, it was engineering and my lack of ability to pull that off as my first major project, no question about it. Chris: Right. That was a big bite to take I think but yeah. Ian: Yes, yes. But along the way, I developed a number of tools and a number of scripts and a number of things that eventually became the Bus Pirate. I developed these tools for debugging problems I didn't understand, especially doing things very low cost because I was a starving grad student, and since I wasn't in a proper engineering department, I didn't have access to the tools you would have if you were in an electrical engineering department doing this, instead of an urban planning department. Dave: Mmm, right. Ian: So I developed all of these little tools and all these little helpers that eventually became things like the Bus Pirate. So for a few years, I published the Bus Pirate on my private blog, on my own website. And then eventually I went to write for Hack a Day, the fairly well known blog, and I wrote features for them, and I started writing a few features about the Bus Pirate and how it had developed over time, and people were actually quite interested in it and it really surprised me. And after about a year of writing about it on Hack a Day, Eric Pan from Seeed Studio, a manufacturing company in China, who does exclusively open hardware, approached me and said hey, you know, we've had some readers say they'd really like to buy some Bus Pirates. And we can make some; we can make as few as twenty and try to sell them. And I laughed. I said there's no way in the world anybody wants to buy this, you're not gonna sell twenty of 'em. (laughter) Ian: You're gonna have a warehouse… Dave: You'll be left holding a bag of nineteen, you know… Ian: Yeah, exactly! I figure there's gonna be twenty widgets sitting there rotting in a warehouse in China, and, you know, I was still in the graduate student mentality that was a lot o' money there. Chris: Yeah. You gotta take delivery; those'll be sitting in your dorm room under your bed. Ian: Yeah, exactly, exactly. Chris: Oh, man! Ian: but we ran the Bus Pirate as a pre-sale, which I guess these days you'd do Kick Starter and Indiegogo. But we just did a pre-sale and a pre- order with Seeed Studio on their site and we did it as a fund raiser for Hack a Day. And you know in a week I think we sold 1,000 of them. Chris: Awesome! Dave: Holy crap! Ian: And I was really impressed and just couldn't believe it. So from there I started Dangerous Prototypes to release my new open hardware projects. Dave: So how many of these things have you sold now? How many are out there in the wilds? Ian: Of Bus Pirates? Dave: I've certainly got one and I think somebody sent me another one. Ian: People ask me that; it's really hard to say because of the number of non-official channels and quasi-official channels. Dave: Yeah. Guesstimate? Ian: I would guess there's somewhere between 50,000 and 100,000 of them. Dave: Wow! Chris: Dang! Dave: Awesome! Ian: I mean that's still a very tiny compared to large production runs, I'm sure. Dave: No, no, of course, but as… Ian: I'm quite proud of it. Chris: It's not consumer but… Dave: But as kits and hardware products go, that is an absolute winner. Ian: Great! Dave: Generally, back from the old magazine days when I was a boy, you know, when you published a magazine, if there was 1,000 of 'em that was, you know, you had made it, that was a massively popular project if you sold 1,000. But nowadays with the Internet and the communications revolution and where you've got an instant, ready… like on Hack a Day, you've got a ready audience of many, many tens of thousands of people, then yeah it's easy to sell 1,000 of something these days if you have the audience, or if you get it listed on the right blog. So yes, 20, ha! That's great. Ian: Yeah, I never thought we'd sell 20. Dave: Oh boy! Been there, done that. Chris: So you're still working with Seeed Studio and everything though, right? Everything kinda still…? Ian: Yeah, it's one of the things that makes us, sort of, unique. We are almost exclusively an open hardware design shop. I have never sold anything myself. I don't run a website that takes money. I don't do any of the fulfillment stuff, what I derisively call putting things in boxes, stamps on them and taking them to the post office. Chris: So you're the smartest electronics designer in the world, is that the idea? Ian: Well, I think what I'm good at is designing hardware(TC 0:10:00), writing documentation, keeping a blog going. What I'm not good at is doing the fulfillment side. And Seeed Studios there in Shenzhen, China, where the vast majority of the world's stuff is made these days, and they're right in the middle of it and have experience doing it and they do quite a good job, especially for a very small runs, which, you know, nobody's doing these tiny runs, and have someone supporting open hardware with batches of 100 to 500 to 1,000 is just really excellent. And they do a fantastic job of that and they work with other designers too, so it's not just my stuff on a site I'm trying to promote. I have the benefit of other people coming to the site for other people's projects and seeing mine and wanting those as well. So what we do is exclusively the design, and what I like to say the stuff we're good at. I'm not sure everyone would agree with that, but I'll say that now. I think the stuff we're good as it the design and the documentation, writing firmware, providing user support. And we farm out all of the manufacturing, all of the fulfillment, all of that stuff to Seeed Studio, and to a lesser extent of course, our distributors. We have distributors around the world who also take care of selling things and advertising our projects. Dave: You're saying 'we' there, have you got more than one person working at Dangerous Prototypes? Ian: Yeah. That's sort of a unique thing about us as well. There is no central office, everyone works wherever they are. But what we generally try to do is hire people out of our forum. Dave: Oh! Ian: so if we have people somewhere where we can afford them, who are looking for a job and we can arrive at some agreement that everyone's happy with, we try to hire people out of our forum. There's the advantage of they already know our stuff, generally inside and out because we're open source. You don't have to train them and you get to see what they can do upfront, without having to go through any sort of job interview. Dave: Got it. So they're not really full-time employees as such. Do you do it like on a contract basis, or is a very informal, handshake kind of, yeah we'll pay you X a month and you write some documentation for us, or something? Ian: Well we have 3 full-time contractors. Dave: Oh okay, right. Ian: Yeah, and that, of course, we have contracts and everything is fairly official. Dave: Okay, right. Ian: Then aside that, we have a number of part-time contributors, both people who are more like contractors, who have a contract for X number of hours or X number of dollars per hour, or something like that. And we've got probably four or five of those who work to varying amounts. And then we pay people who contribute to open source. So if we have a contributor who drops by and puts a new chunk of code down, if we have people who are active in providing user support in our forums, if we have someone who contributes a new project and says will you guys please consider making this, then we will pay them as much as we can. Dave: Nice. Chris: That's great. Ian: Whether that's a chunk a month while they're contributing or royalty for a project, or whatever, we just try to find some way to make open source pay because I know one of the coolest things for me is that open source could actually pay money. Dave: Yes. Ian: That is something I'd love to do as a passion. I would do it regardless of whether I got paid, but it was really cool when you actually get a check from that work you did for fun, not because you needed to eat at the end of the day. Chris: Right. Ian: And I like to give other people that feeling as often as I can as well. Chris: It's like in Fight Club where they get to go from just the one day a week to seven days a week, right, that's what it enables, you know, like I'll come Tuesday and Thursday. Dave: And the interesting thing there is that you're still able to do that, whilst still taking the minority of the retail price because as everyone knows in this kind of business, the person who makes the most money on this stuff is the retailer, i.e., Seeed Studio, who do it all. I mean you're only taking a relatively small percentage of the retail price there. So it's amazing that you're still able to do that and run that business and pay these people, even though you're sort of, don't like to say getting the breadcrumbs but, you know, you are probably getting the smallest percentage, not actually retailing the hardware yourself. Ian: Yeah, to some extent I would agree, especially when it comes to distribution deals. You know, we really take a hit to get our stuff out there at the distributors, and that's fine because it's a partnership where we make some money, they make some money, but more importantly, we have a larger presence and that has a value too. But with Seeed Studio, it's not quite the same as licensing deals other open hardware designers have, with say SparkFun or some of the other companies out there. We actually get a quote at 100, 500, 1,000, 10,000 and then we decide how many we want to order. And then we set the final price. So we get the difference in price there; we're not just working on a percentage royalty with Seeed. Dave: Oh, okay, right. Got it. Ian: And when I privately compared what other people are doing with their projects, I think Seeed treats us extremely well. We come out on top with that model compared to what I've heard other people doing before. Dave: Got it! Chris: That's cool. Ian: I want to object to the breadcrumbs comment actually. Dave: Right, okay. No, all right. Ian: We're doing a little better than breadcrumbs. Dave: Okay. Ian: I don't want someone to think that we're just limping along. Dave: No, no, you certainly aren't. Chris: I mean you can support a lot of people though; you’re forum is huge. So you said you get contributors from there but you also get new projects from there? You guys still doing the… was it every week that you said you do new projects, is that still…? Dave: Month. Chris: Every month, sorry. Ian: On average, we try to have twelve new projects put into production a year. Chris: That's crazy. Ian: Because of the absurdity of getting a project produced, that maybe five projects one month and then a project every couple of months, but we try to think on average we'd get twelve new projects a year into production. And if we're having a slow year, sometimes that can include revisions as well. Chris: Okay. We're counting! Ian: If they took us any amount of time. Dave: Although, granted, these are mostly bare board-type projects, right? It's not like you have to design (inaudible 16:22) closures… Chris: Oh here comes Dave talking about closures. Dave: … you know, you're not selling commercial products. Chris: Wah, wah, wah. Dave: Yeah, yeah. Exactly. Ian: No, you're absolutely right. Dave: It is substantially easier to get just a bare board out there than it is to… Ian: Absolutely! Yes, it is. We do only bare boards. Dave: Because otherwise you wouldn't be able to do twelve a year, I think, if you had to develop like a form. Ian: No, I don't think so. Dave: For one commercial-looking product. Ian: We do have a standard PCB size now. Chris: Oh yeah? Ian: And we can come back to that. Dave: Oh right, okay. Ian: It's supposed to make it much easier to kit things up and to case things, but we're still working on that. Chris: That's good. Dave: Right. Ian: Besides the twelve boards we try to produce every year, right now we're R&D'ing about one project a week. Chris: Wow! Ian: And most of those go up onto the blog. Most of them are ideas where we put up a schematic or PCB and that's the end of it. Many of them will send out and have the PCBs made, and we have a store that we call the Free PCB store, it's just a simple Zen Cart store. And I keep an inventory of all the boards I've had made there and then people can get a free PCB coupon and check out, or buy a board with their free PCB coupon, then they can build the project themselves. So a lot of our projects will design, will open source it, it's public domain, take it, make your own fortune off of it. But we decide ultimately that the cost/benefit ratio of getting it into production, versus supporting it and what we're gonna make on it in the end, just isn't worth it. But because we're all open hardware bus and what we wanna do is design hardware, we do that, even though it's not necessarily a profitable part of the business, we're still designing things that have no chance of being produced. And I think that's one thing that you can do as a very small, very loose-knit open hardware company that I could never do if I had an actual manager telling me how I should spend my money. Chris: I have this great idea, we're gonna give stuff away. Ian: Yeah! Chris: You're fired. Dave: Well that's essentially all part of the game really. If you enjoy doing that sort of stuff, that's what you do, you know, and it helps build up your rep as well when you're doing stuff like that. Ian: Absolutely, it's great publicity. Dave: Yeah. I like it. Chris: So what about travel? You said your manufacturer's out in China, in Shenzhen. I forget how exactly to pronounce it, is it Shingen, right? It's exactly as I said it. Ian: Yeah. I'm not a Chinaphile yet, I've only been there a couple of times, so give me a few more years and I'll have the proper pronunciation. Chris: Looking at your YouTube channel and talking with you online, you go everywhere. Is it like you've been listening to Johnny Cash songs and you've been everywhere man or what's your deal? Ian: Well for about the last year and a half or so, I've been doing the Maker Faire circuit. A year and a half ago, the very first Maker Faire I went to was the Bay area Maker Faire in California and Seeed Studio was the sponsor that year and had a big booth and invited me, as well as some of their other open hardware designers, to come and exhibit there. And at the time, I had avoided going to Maker Faires, I had avoided going to DEF CON and things like that. I wasn't interested in being out there in that way. I'm a kind of a shy geeky guy. Dave: No! Ian: I didn't wanna be seen. I didn't have my picture on my blog. Seeed Studio thought I was a 50-year old engineer. Chris: Well maybe you've changed, but I don't think you're like that anymore. Ian: Well no, that's what I decided. After going to this first Maker Faire, it was like wow, you actually have to put yourself out there. You have to be the face of your business. You have to own the process of pressing the flesh, shaking hands, saying hi, meeting people. And besides all that business garbage, it's actually quite fun (TC 0:20:00) and you meet really cool people who know… well for me, people who know may more than I know. Dave: There's always people who know more than you do. Ian: And are just brilliant people to talk to. It's just been amazing to meet all the people. And so after that I went to Maker Faire, New York, and the Open Hardware Summit, and from there it just, sort of, cascaded into a year-long circuit of doing these Maker Faires in Japan and Singapore and Shenzhen, China and just all over the place, the UK and on and on and on. And when we go, we try to hook up with the local hackerspace and we try to hook up with readers, you know we have readers all over world, so we try to hook up with some local readers, and visit their local electronics part markets. And some of the places they used to be the manufacturing capitals of the world, like Japan. In Tokyo they have Akihabara, which is a fairly well known electronics part market. Now it's in decline, there's no question it's in decline. You're gonna find more Anime, maid cafés and more, weird, crazy Japanese stuff in Akihabara than you're going to find electronics now. But back in the day, it was the heyday for all the Japanese manufacturers to go there and buy parts that they would use in manufacturing. And people would go there to buy the absolute latest electronics stuff. So we did a video there; that was our very first video we shot in an electronics part market and we went with Tokyo hackerspace and shot a film. And the very first time we went, was the Tokyo Maker Faire and the video was unusable. We were gawking so much at everything, mouths hanging open, just sort of staring and pointing, there was nothing usable on this video whatsoever. Chris: Do you still have that footage because you should post that if you can. Ian: I do, I do. Chris: If you can you should just see what's in the cut takes. Ian: It's me in our regular shot, and we're both just sort of err, err, and nobody said anything, so we had to go back in February and re-shoot the whole thing. Dave: (laughing) Oh no! Ian: With actually making an effort to talk a little bit. Dave: Ahh, that's great! Ian: And so that still stands out, I think, as our most popular one. There's something about geeks in Tokyo that they just go together well and that's been our most popular video. But from there we made an effort to shoot a video in every parts market we visited. So from there, I went to Seoul, South Korea, which has a parts market called Chona Chong and the hackerspace there is right in the middle of that, so we shot "Geek Tour, Seoul" and from there we went to Shenzhen, China, which has Hua Qiang Bei Bay, which is, I guess, the world's largest wholesale part market. There's thousands of little stands covering six floors of twenty buildings over a whole neighborhood, with nothing but switch samples and connector samples and crystals, and resistors, you know, anything you could possibly want. And we'd been doing our best to shoot what we call our "Geek Tour" videos there and show what it's like, how people buy things, and importantly, how people like us, how hobbyists can actually use these markets because most of them are intended for big manufacturers, but you can get in there as a hobbyist and buy things as well. Chris: Yep. Ian: So it's been an amazing last year and half to do all of that travel. Put in a lot of miles. Learnt how to do a long haul flight, which was something I was not a fan of before, but now I can, kind of, lean over and sleep. Dave: Well I know all about long haul flights. Ian: I think pulling the tray table down and sleeping on it; that's how I made it to Tokyo and back this time. Dave: (laughing) Oh dear, oh dear! Ian: And recently we did India; that was an amazing trip. We went to India and met up with twenty readers in Bangalore and rented this crazy painted up magic mystery bus we called it, and they took us all around Bangalore and we visited all of these industrial sites and we saw a PCB-stuffing factory and we saw open hardware shops and we visited their local electronics wholesale markets, and we actually did that throughout three cities in India; it was just an absolute hoot. Dave: Nice! Ian: An amazing time. Dave: Did you get Delhi belly? Ian: You mean did I get sick? Dave: Yeah. Chris: Delhi belly. Ian: No, no, absolutely not. Dave: No, really! Ian: The food was amazing. Dave: Oh okay. Ian: I was quite careful about what I ate, I'll admit that. Dave: Oh right, there you go. Ian: I have a rule on all of these trips just because when you're on business and you're having a really tight shooting schedule, you actually feel like you're making a TV program, which is very hectic and you're up really early writing up your locations and what you're gonna say there and what you need to show. Chris: Dave, is that how you do it? I don't think that's how everyone does it, Ian, I have to say. Dave: I remember getting sick once. I went to the US, I got food poisoning at the Hilton, of all places, and that knocked me around for two weeks. I almost didn't eat anything for the next two weeks. Ian: Jesus! Oh man! Dave: I came home and I had lost like 10 kilos. It was shocking. Ian: Yeah. Oh man. Dave: Yeah. That sort of thing, you have to be careful, it could ruin your trip, it really can. Ian: Yeah, I'm very careful on all the trips, even ones in first-road countries for that very reason. You're eating on the roads, you're always eating things that are questionable quality anyways, but my rule is hot and fresh. If I can see it cooked, I'm okay. If it's steaming hot, I'm okay. And it doesn't matter if it's from the street, you know, street food or a restaurant or whatever; those rules usually serve me well because there's nothing worse than getting sick on one of these trips where every minute is already accounted for. And you can't lose… even if you are sick, I'd probably have to go shoot the "Geek Tour" video set. That wouldn't be pleasant. Chris: I have your next, you know, monthly project, you could do a DIY IR thermometer and you could just point it at stuff you like - I'm not eating that, it didn't cross the threshold. (laughter) Dave: What you've gotta do is just deep fry everything. Just live on deep fried grease for two weeks. Ian: In a lot of places that's pretty unavoidable; that seems to be the local cuisine. Chris: It is. Dave: Yeah. Chris: Oh man! Dave: Speaking of India, we have a question from, I will not even attempt to pronounce his user name on (reddit 0:26:25), who's from India. He met you in India, his name is Yeg… Ian: Yes, (Yegnesh 0:26:29), who we hooked with in Mumbai. Dave: Yegnesh, yes, he already says, you've answered this question but it could be of benefit to a larger audience. You've read the question; you've probably already got a response to it. How did the Seeed guys produce the bus part and can you step us through the process from the start. How do you do DFM and all that sort of stuff? How do you load the firmware on the bus parts, is it done one by one or is there a custom jig, all that sort of stuff? Ian: Yeah, sure thing. Sure thing. So DFM is designed for manufacture, and in my experience with Seeed, since we hand prototype everything and we use 0603 size and no chip smaller than SSOP, and fairly hand-sortable, friendly stuff. We don't have to do a lot of DFM; we don't have to do a lot of prep to get something ready to be manufactured. Most of our stuff has to do with sourcing, getting the right parts, making sure that the parts they can source in China are the same as the parts we use. Dave: (laughing) Yes! Ian: You know, Seeed is very keen to make sure that everything works perfectly. So if I give a part number for a 3.3 volt regulator, and it's not available in China, they will sometimes go out of their way to source it from the US. And then they're importing it back and paying duties, when, in general, we use very generic parts where that's not necessary. So sometimes, a quote will come in, and I'll say ohh, that seems really expensive and I'll ask and it'll be because they were worried that the part they could source locally wasn't good enough and so they went ahead and sourced from the US and then it cost more than expected. So we have a lot of back and forth on that. But as far as modifying our actual hardware to prepare it for a pick and place, we've never really had to do that because we already designed fairly to loose standards, to something many people will be able to hand sort. We also design according to a standard part list now, so most of the things we do, we don't have to tell them a specific part number, we just tell what, from our standard part library, we're using, so you can go out and get that much faster then and they stock, basically, a set of parts that work on all Dangerous Prototypes boards. Chris: Ah, so you gotta watch out there, man because you're becoming the bigger company now. You're gonna have your own part number system, then it gets all crazy and, oh that's… Ian: Actually we're in the process of doing that very thing. Chris: Oh boy! Ian: We want to put together a part kit of our parts, enough to build essentially ten of any board we have. Dave: It's all over. Ian: And we've got all these free PCBs so people can then use the part kit to build the boards and have all the parts without (inaudible 0:29:06). Chris: It is a great idea but, looking at old schematics, I have an old Wurlitzer and the part numbers are like 111124, so don't do that. Dave: And that's it; that's the only design, that's the only marking on the schematic. Chris: That's all it is, right. And I know it's an NPN, that's about it. So good luck! But that's an interesting topic too. That's great having blog fodder too, just like how you're setting up part numbering systems. Dave: Of course. Ian: We're going to design our own data sheets on the (inaudible 0:29:35). Dave: Really? That's cool! Ian: Along with, basically, a minimum set of tolerances. Saying a part should follow within these tolerances. Not specifying necessarily a part number. We will, of course, specify maybe three dozen part numbers from different manufacturers that would fit these criteria. But you know, generally, when you're just doing digital work, and you need an NPN transistor, there's only two or three you really needed to stock. Chris: Right, yeah. Ian: (TC 0:30:00) A big current one, a small current one, and generally you can get away with one. I mean we use, 99% of the time, one general transistor. Chris: My inter-analog guy's screaming right now. Dave: (laughing). Ian: Of course analog people are gonna like bash me over the head and never wanna read my blog and that's understandable. Analog is not my thing and I don't do a lot of analog, but in the digital world we can get away with a very select limited part list along with a good resistor kit. You know, with plenty of values in 1% you're good to go. Dave: Exactly! And it's all done and dusted, yeah. They're almost entirely different worlds because you, essentially, cannot do what you're doing with more complicated analog or more specific products. Ian: No, absolutely not. Chris: But then it's not a mass market either. Dave: It seems… well that's right. Chris: I mean that's the main thing. Dave: It seems like every project I'm doing, I am using ten new parts in it that I've never used before. And I have to use them because I'm trying to meet some cost or performance target for a particular part, and I can't just, oh, I'll use exactly the same part I used last time because it just doesn't fit the bill, either in size or price or functionality or whatever. Chris: Yeah. No, you gotta change your specs too man, that's the other thing. But I think the stuff you guys are doing is still really advanced for a lot of commodity components, so it is cool that you're able to make these standard kits; I think that's gonna be really helpful in the future. Ian: Yeah, there's been some requests for it and we're just interested in getting the parts out there and making it easier. I met with this guy, Mitch, in Shenzhen, he's doing Hackvana… Chris: Oh yeah, we saw the video. Ian:… and he's trying… currently, he's making PCBs and Sawdust stencils, but he wants to get parts out there to hackers from the flow of parts moving through Shenzhen. And one of the things he said that I just totally agree with, is that you can spend ten hours sitting there trying to fill your BOM with the cheapest, most appropriate part that you can get locally or doesn't cost $1 million to get shipped from another country, or blah, blah, blah, and you can spend ten hours just sourcing parts for a project when somebody else has already done that, and maybe hundreds of people have already done that. And so the goal was just to make it faster and simpler to pull these parts out and build our boards specifically because we do give away so many boards, and we also spend a bit of time telling people where to find the parts that go with the boards if they're not on our standard list. And I think having the stuff available would be handy, though I'm sure the open hardware… I did, two years ago, the Open Hardware Summit with Eric Pan, we gave a presentation and he talked about a standard part library that all open source can use. And I think that's a very lofty goal. Dave: Yeah. Ian: I'm not sure I would propose what I'm doing for all of open source, but I think from my little tiny corner over here, I could make it easier for people to build our crap. Chris: Crap! Come on, man! Dave: I can continue talking about the Seeed building process if you like? Chris: Yeah, that'd be great. Dave: Yeah, please do. Ian: Okay, so basically I wrote down some steps, I think some of them are pretty obvious but I'll lead you through what I understand to be the process of getting a board made at Seeed. On our side, the first thing is, we get a quote, we send our part list and our board files and we get a quote at, it used to 20, 100 and 500, but they stopped doing 20s and now you do 100, 500, or 1,000, and depending on the price and what we think we can sell, we'll order however many of them and they'll build them and put them in the store. So understand the first step is they send out all the PCBs, many people maybe familiar with Seeed's inexpensive PCB prototyping services. My understanding is that they boards that are done in volume go to a different facility that doesn't specialize in quick turn. Dave: Yeah, that's very common. Ian: They're always a different color. They always seem quite… the more bulk boards seem to be higher quality. I'm very happy with the proto boards as well, but the bulk boards just seem to be like they're done through a proper PCB process instead of a quick PCB process. From there, they source all the parts, from all over Shenzhen. If they can't find a part that matches, they'll import when they have to, but it's actually quite expensive to import American parts into China because fairly high tariffs on that I understand. Chris: That's interesting. Ian: And then for small batches of, say, 100 and sometimes even 500, Seeed will do pick and place in-house. They have their own pick-and-place machine the same one SparkFun has, the same as several open source hardware shops have. And they'll pick and places batches of 100 to 500, and things that need to be turned very quickly, they'll do it right there in-house. For big things, you know, if we do a batch of 1,000 or more than 1,000, those get sent off to the professionals all over Shenzhen; they do nothing day or night but assemble boards. They're good at it, it's what they do all the time and they have very high yields. From there, I guess they inspect visually. For a new run, they'll inspect absolutely every board visually. I think for runs that are established, they depend more on the self-test than the visual inspection. So then from visual inspection, they'll move on to be programmed. With our boards, we use basically a ROM, the same way you have a ROM from a video game, or a ROM, like an ISO from a CD-ROM, is an image that has all the information you need to put into the chip. So if there's a boot loader for doing upgrades, it's got the boot loader. If it has a firmware, the firmware's in there too. So it's a single step. You program this one manufacturing image into the device, and it's got boot loader firmware, unique ID, whatever you've gotta put in there, it's all in there in one programming step. And someone mentioned on the reddit that it wasn't SparkFun boot loading, and yes, that's true. At one point SparkFun was building the Bus Pirate and they were programming the boot loader, and there was a little quirk in one revision of that silicon where the internal oscillator wasn't stable enough to support 1,500 bps, 115,000 bps whatever on all the chips; some of them wouldn't program at that rate. So they had to back it down at 9,600 baud. So they were programming the boot loader and then connecting to a computer and programming it over the boot loader at 9,600 baud for each board they sold, and SparkFun were selling quite a few of these. And I eventually found out about this and I immediately wrote to Nate and said, you guys we have this manufacturing image, you just program it in there one fell swoop, it's done, no boot loading at all. So the reddit mentioned that so that's why I bring it up. So we program one master image, with a PIC programmer and then run an internal self-test on the Bus Pirate. So basically, you can jumper two pins and that allows the Bus Pirate to turn on its power supplies and measure the voltage, make sure it's what we would expect to test various chips on the board like the 4066, that's used to control the pull up resistors, we can check that. We can check various parts of the board to make sure, basically, the pins are moving the way they are; there's nothing that's soldered together, no two pins are soldered together, there's no problems like that. So every board we do with Seeed they run some sort of internal self-test like this on the board, so we know when it leaves Seeed it's in good working order. That doesn't mean that things don't happen along the way, you know, shipping is brutal sometimes and bad boards do get out there. But we actually have very high success with our self-test and it's so high that when we have a complaint in the forum, we immediately say we're just gonna replace it. Dave: Yeah, it's easy. Ian: It's very rarely we have something that's you know a defect, and when it shows up it's fairly obvious. And we say we'll just send out a replacement, don't worry about it, you don’t have to return anything, we'll just give you a new one. That's my understanding of how the process works with Seeed. Dave: Did you design that built-in self-test from the start? Did you go, right, we're gonna manufacture a zillion of these things, we really need to think about how we're gonna do the build-in self-test? Or did it just go, oh yeah, look just by coincidence we can just write a few lines of code and the hardware's already capable of doing that? Ian: Well, yeah, I gave a presentation on getting your stuff made, and one of the steps I mention is that to design your self-test, some way of testing this widget before you get to that stage. You need to think of it from the beginning because it's so hard to bring out test points and design a rig or reverse engineer a test into it. Now with the Bus Pirate, I got extremely lucky because it's a tool, essentially, for measuring things and debugging things… Dave: Exactly, yeah. Ian: By jumpering a few pins, we got it to test and debug itself, so that was really just an absolutely lucky break. Dave: That's why I asked. Ian: I highly recommend people design it in from the beginning. And now everything we make, if we need extra pins to do a self-test, we'll move to a bigger chip if we have to because the added cost of being able to do that test from the beginning… sorry, the added cost of having to reverse engineer that test into the device at the end instead of doing it from the beginning is not worth the extra cost for our low volumes of you're using a bigger chip, using a bigger CPLD, (inaudible 0:39:40) to get a little bit of extra test logic in there or something. You gotta design for tests from the beginning, it's absolutely necessary. Dave: Now that you know, right? Ian: Now that I know. Dave: Exactly. Everyone has to make that mistake. Ian: Yeah, yeah. One thing I haven't been able to cover is people often ask me (TC 0:40:00) how you do the self-test and, of course, that's gonna depend on how your hardware's set up and what you're doing. But obviously, I just wanna say, you know have some spare analog to digital converters, so you can measure voltages from anything that's supposed to be voltage-based. Have a few pins so you can detect logic one or logic zero from things that are logic-based and start from there. It doesn't have to be very complicated; it just has to be on the board and ready to go. Dave: That's the advantage of using a larger pin count micro than what you need, for example. Like, you know, if you need twenty, say eighteen IO pins, don't you use a 20-pin device because then you got no spare pins left over to do anything like that. Ian: Yeah, absolutely! Dave: That's the advantage of choosing a larger device upfront that has more capability built in and then just all those spare pins, well I've got a dozen spare pins, what are you gonna do with them? Well, don't leave 'em floating, connect them to various points in your circuit, just so that later down the track, you can implement that stuff in software rather than have to mod the boards later or not do the test and be caught short. Ian: Yeah, absolutely! Dave: Trap for young players, folks, which I do time and time again still, you know because I just like the elegance… Chris: Well you're still young, Dave, come on man. Dave: Well because I like the elegance of using just an optimized chip for the job and not just using some big-arsed one. Chris: Just sneak it in under the wire. Dave: Yeah. Ian: Have you worked with any chips with programmable pin placement? Dave: Yes, yes, that's really nice, so you can send the UART to any one of the pins, for example. The PICS have that capability; well many of the PICs have that programmable pin. Ian: Yes. Yeah, the PIC24s. Dave: Yeah, the PIC24s have that capability; I've used that, and that is quite nice. If people don't know what we're talking about there, it means like all your internal stuff like your UARTs and your SPIs and your ADCs and all those features built into the chip, most micros on the market they are two fixed pins, they're connected up to fixed pins. But some micros, like the PIC24, which we're talking about, they have an internal routing logic, kinda like, you know, an analog FPGA routing thing that allows you to route that UART to any two pins that you like and it's just really nice. Chris: Yeah, that really helps during those 'oh crap' moments, right, where you're like, oh no! Dave: Those 'oh crap' moments, yes, yes. Ian: That's the principle the Bus Pirate's based on as well. It uses one of these chips with selectable pins so we can move all of the hardware modules to whatever pin combination we need for whatever test mode the Bus Pirate's in. And you just mentioned loving a very simplified and direct design and it made me think of that. I know there's several other chip families that now have programmable pins as well; I've worked with some of those. And I just love it for the routing, the elegance of the routing. Dave: Yeah, yeah. Ian: When it goes, essentially, straight out from the chip; you don't have any veers jumping under and coming back up the other side. Dave: Yeah, I know, it's nice. Ian: You're not routing things around in a snake-like fashion. You literally come straight out from your chip and everything hooks up just perfectly and nicely. I'm a big fan of that too. Dave: Yep, me too. Chris: So have you had any big 'oh crap' moments? I guess the open source hardware side of it would probably have a couple more eyeballs on it than maybe a proprietary project would, but have you guys had any huge defects that maybe might be lessons for people? Ian: You know we've been very fortunate that, so far, we haven't produced a batch of anything that, for example, had to be reworked… Chris: Oh that's good. Ian: … or modified or anything like that. I've been very fortunate so far. I'm also really paranoid. Chris: Knock on wood, right. (laughter) Dave: Damn, he's not gonna sleep tonight. Ian: It scares me to death to put something with a problem into production and then what would happen with those boards to have 100 or 1,000 or something rotting in a warehouse in China somewhere that I can't do anything with. Chris: Yeah. I think you have a lot of goodwill as well though from it being open source, right. Dave: Ah, people would understand. Chris: Yeah, exactly. Ian: Part of doing the free PCB giveaway is that most of our boards, by the time I get around to building and programming and testing it, somebody else has already done it, maybe two or three people. Chris: Oh really! Ian: So we actually crowd source that side a lot. Dave: Right. Ian: So we actually have not just man eyeballs on the design but we make it possible for people to get a hold of the board and build it themselves, and, of course, anybody who's building service-mount stuff themselves, and just wants the PCB and has their own parts, they're pretty bright. These are really talented, amazing people. And they always point out a number of things that we should consider before we put it into production. And on top of that, we also generally do our development in the forum as well, so we're not just open source, we're open development. Dave: Nice! Ian: And our projects will be in our SVN archive, in our file repository. We'll post progress on the blog. We'll post updates on the forum. So a lot of the time, even before we send off the first PCB, there will have been a dozen or more people who've looked over it and told us these horrible, horrible mistakes we're about to make. Chris: As you were saying, electronics designers always have the (inaudible 0:45:21). Ian: And that gives us plenty of time to go back and fix them. Yeah. Chris: Yeah. Dave: That's brilliant. Ian: Actually, one thing I did have a minor problem with was the second project I did, which was the Twitter (watcher 0:45:31), a little network appliance that would connect to Twitter and get the most recent trending topics, as well as some tweets to go with them. They needed a unique Internet ID. Chris: Oh yeah. Dave: Yeah. Ian: I had to get the whole IEE whatever, ID. It's sort of like a USB ID only instead of being a per device, it's like each individual unit, should have a unique ID. Dave: Yep. Ian: And I hadn't planned for that. I hadn't really thought that through. And so I ended, at the last most, buying a bag of those… Microchip makes some EEPROMs with a built-in MAC… they're MAC (inaudible 0:46:10)… Chris: Yes, the 24-bit (inaudible 0:46:11) ID stuff. Ian: I built in a MAC address and so I just pulled one out and they all got that same MAC address. Well at least the license said I couldn't use Microchip's that they had used in their demo; that was against the license. So it was a whole 'oh crap' moment. And I ended up taking a train to the nearest parts supplier that had them on stock, getting them that day, reading it out on the train so that by the time I got home, I could recompile the firmware with our own custom unique ID in it and then putting a screwdriver through that chip and mounting it in a frame to say this is our destroyed MAC chip with our official MAC number in it. Dave: Nice! Chris: Did you like encase it in amber and it's like the Holy Grail chip, ohhh. Ian: I should do that. I could put it in a big block and use it as a paperweight or put it in a frame. Chris: Or you should wear it around your neck or something, you know, be like, this is the one! (laughter) So what about some of your other projects then? I'm looking at the forum and there's a really nice layout of the all different projects and stuff, but could you maybe give us some of your other favorite ones to work on and how other people help contribute with all that stuff as well? Ian: Yeah, okay. Well our number one thing is the Bus Pirate, and it's basically a tool for talking to chips so you have a little terminal window and you can type in the values you want to send to a chip and it will send it and get any reply. That helps you avoid that development cycle where you write some code, program it to your microcontroller, try it out, it doesn't work so then you make some changes, compile again, program again, try again, and you go on this loop trying to learn how a new chip works. With the Bus Pirate, you just type a few commands, it sends it out. You know the protocols, most likely correct and working, so if there's a problem, it's something to do with how the chip is working or how you've got it connected, so you're eliminating a lot of the problems you have with learning how a new chip works. Some of our other popular stuff is, the Bus Blaster is extremely popular. And this is a JTAG debugger and JTAG is the programming interface for lots of modern chips. ARMS use it, but also (inaudible 0:48:17) and CPLDs and things like that. Lots of chips have this standard programming connection. And there's lots of open source software out there to support JTAG, like Open OCD is a fault debugger for ARM chips. UR JTAG is used to program (inaudible 0:48:33) as well as CPLDs, but most of them are still using commercial programmers. Most of them support a range of commercial programmers, and a few home brew, sort of, hack kits. And I thought I'd really like to make open hardware to go with open source software. So I designed the Bus Blaster as a sort of a universal JTAG debugger. And what we did was we took the same chip that's in every manufacturer's low cost JTAG debugger, as well as most of the hobby debuggers, the FT2232. It's the bigger brother of the little FT232 that's on the older Arduino, and it does USB to serial conversion but also USB to JTAG. And it has two JTAG channels. So we thought, well, the only difference amongst manufacturers' programmers that use this chip is the buffer logic on the front that translates voltage. What if we used a CPLD and made the buffer logic programmable. And then to one-up that, we'll connect the CPLD as a JTAG connection to the secondary JTAG connection on the Bus Blaster, on the FT2232. That way, you can, over USB, upload an entirely new programmer logic into the CPLD on the fly. Dave: Nice! Ian: So if you want a .TT link programmer that supports the new two-wire debug protocol, you got it, just upload it over USB. You want the classic JTAG key programmer that works with just about everything, you upload that buffer image, you got it, it's good to go (TC 0:50:00). And along with that I might add, that CPLD is able to help out with the self-test so that we know all the things are functioning properly. Chris: Nice! Ian: And that has been one of our most popular boards, and I might also say, the one that requires the least amount of support. Dave: Right. Ian: Since it's all dependent on the software and it's very much just a hardware design with a little bit if programmable logic. We hardly have to support that at all. So I'm a big fan of the Bus Blaster. Another one we did recently that was surprisingly popular is our ATX power supply breakout. Dave: Ah, yes. Ian: Lots of people use an old ATX power supply from a computer to make a bench lab supply. You know, you've got plus and minus 12 and if you're working with an op amp, having that negative voltage rail is a lifesaver. If you're like me and in the digital world most of the time, you won't usually use it, or need it. But then you have that one project where you need an op amp and you just don't have a negative rail so a PC power supply has plus or minus 12 volts, a big hefty 5 volts supply and a 3.3 volt supply. So just about everything you need on a day-to-day basis. And a lot of our forum users have hacked their power supplies to be a useful bench tool, but many people, like me, don't wanna go in there and mess around with something that's UL-listed and raided and where there's big coils and capacitors full of dangerous AC electricity. So we built a breakout board where you just plug in an ATX power supply into it and it brings all the main voltage rails to screw terminals that also have banana plugs, that accept banana plugs in the top, indicator LEDs so you know each line is good and it's fused at 1.25 amps, which we thought was a respectable amount because it's comparable to what you would get out of a TO220 voltage regulator. You know, you can obviously get 30 amps off the 5 volt rail on some power supplies… Chris: But you probably don't want to. Ian: but you short that out and you're gonna be in a lot of trouble. Chris: Exactly! Ian: So we thought the 1.25 amp resettable polyfuse was a safe way to go. Chris: Yeah. Ian: And people who want more than that can solder a coat hanger over it or whatever. Dave: Yeah, exactly. Ian: You have the option to go dangerous if you want. Chris: Well it is Dangerous Prototypes, right? Ian: Exactly! Dave: Well, you could have a… voom! Well you could have a jumper on there labeled, 'dangerous', and it just shorts out the fuse, boom, little jumper lead. Ian: Engage danger mode. Dave: Yeah. Chris: This board is incredibly affordable too. Like people listening might think, ah well, you know, it's probably like 20 bucks or something, it's like $4, that's insane. You get an old computer and a $4 board and you're ready to go, that's crazy. Ian: I think (RAID 0:52:46) now actually it's coming in at $13. Chris: Oh! Oh no, I'm looking at the case, sorry. Sorry! Ian: No, we're going into cases because we're trying to put everything into a standard board size now. Chris: Ah yeah. Oh that's right, okay. Ian: That way's it's easier to recycle cases. The Bus Pirate there, there must be 200 user-designed cases on Thingiverse, on the various sites that let you put up an open source 3D-printed or laser-cut thing and then buy one of your own. And we keep changing form factor to fit whatever cheap case we could find in China, or whatever manufacturers' case looks cool, and they're always so ugly, they're these ugly, beige cases. So I looked at all these parts markets when we went on our "Geek Tour". I was on a singular quest to find a cool looking project case. You want something where you can show off your work. Where you can go to your local hackerspace and say, you know, I made this and let me explain to you how it works. You don't wanna hide that in some ugly beige plastic box. So we set out to do something a little better and make those user cases recyclable, not just amongst our own projects but for people who want to use them in their own projects. So we standardized on a set of, I believe, eleven circuit board sizes. There's a golden ratio size, a golden ratio rectangle, as well as just a square size, starting from, I believe, 3 x 3 centimeters, going up to the Eagle CAD free maximum of 10 x 10 or 10 x 80, I believe, somewhere in there. So we have a footprint library for Eagle, where, literally, you toss whatever standard board size you want on your schematic, and then on your board automatically appears the nice board in the right size, with the nice rounded corners, mounting hole placements in the correct places, as well as suggested placements for things like USB mini-B jacks, headers, things like that. Then the idea then is that the cases that are up online that someone doesn't (inaudible 0:54:54) for the Bus Pirate, then you just use the Bus Pirate footprint, which I believe is the 60 x 37 millimeter golden rectangle, and then if you design your project on that and use the USB placement or whatever, anything that works for a Bus Pirate will now work for your project too. And so we're also… Dave: I'm gonna have to check this out. Chris: I was gonna say, Dave can stop complaining, alright. Thank you, Ian. Ian: So we've got it now only for Eagle but we also have (inaudible 0:55:19) available for Key CAD, and we're working on getting it available for more professional suites as well. But most of our users are still in the hobby or pro-hobby space, so we don't have a lot of people using Altium or those really expensive CAD packages you get. Dave: I'm frantically looking for this enclosure now. Chris: Dave's gonna design it by the end of the show. Ian: The system is called "Sick of Beige", both for the sort of lewd innuendo, but also just because really I said, I am fed up and sick of these beige cases. Dave: Am I able to… oh, here go, yes, I am able to Google that, "Sick of Beige", it's the first link. Let's have a look. Chris: Oh boy! All right, we've lost Dave for the rest of the show. Dave: Sorry! Chris: Just go on without him. Dave: Yeah just keep on talking. Ian: We set out to do… just to start off… I'm not a mechanical designer; I'm not good at that, that's not really the thing I like to do. But just to kick things off, we've designed simple laser-cut acrylic cases, you know, the simple sandwich case, with a plate on the top and a plate on the bottom, and some stand offs and the small ones come in, I believe, at $3 and the big one, like for the ATX case, $4. Chris: Yeah. Ian: So these are very inexpensive to manufacture and to sell. Chris: That's great. And I'm sure we're going to start seeing a lot more of those just pop up everywhere too because it is… Ian: I've actually seen a surprising number. You know we started off just to do it for ourselves, so we stopped jumping around and following various manufacturers' own preferences and said set our own, and that way if we do things, using the same basic size, we can recycle the case even amongst our own stuff. So if we want to injection-mold a case for the Bus Pirate, well if Bus Pirate version 4, 5, 6, 7 all use that same profile, then our investment in injection mold is… we can drag that out over some time and it's not such a big upfront investment that we don't recoup over multiple versions. Chris: It'll be crazy when you actually see vendors start matching that too right. That'll be the point where you know that you win, when you see… Ian: That'll be excellent. For now, I've seen it show up on Hack A Day, I've seen it show up on a lot of the projects that users are doing in our forums, and I didn't expect that, I really only designed it for us to use so we'd stop jumping around and torturing our case designers. But I think some other people are seeing the value in it, if only because it's one step to (inaudible 0:57:42) down the thing on your schematic and you get the board with the nice round corners. You know there's no work involve in that. Chris: Man, that's how a lot of the best tools come out too. I mean, you talked really about the Bus Pirate starting like that, the cases starting like that, you're looking at some CAD programs, you know that some of them are probably internal to start with, with companies, and they're like, oh well, we should just sell this. Those are how the best tools are made because it's made for people that wanna use 'em so, I dunno… I always like stories like that. I think that's a good thing. Ian: The case design especially comes with help of our forum. We enlisted all of the case designers who had kicked out multiple cases for our projects and brought them in and said, hey, you're the mechanical guys, what would your dream situation be? And we spent probably two or three months going back and forth and working out the details on this, until it was something that they were satisfied with. So we really tried to work with our community of designers to make it as easy on the case designers as possible. Dave: I'm looking at these now. Are they just… Chris: Saw this one coming! Dave: … clear acrylic sheets? Is that the…? Ian: Yes, and we do everything… Dave: So there's no side panels, it’s just a top, bottom held together with spaces, is that the idea? Ian: Yes, yes. It's just a simple sandwich case. The idea is to keep fingers out and to keep your board from shorting out on the random screw, underneath of it on your workbench. Dave: Right. Ian: Everything's done in Google Sketch Up, so it's a free, though not open, tool. Dave: Okay. Yep. Ian: And we provide a tutorial so that people can customize these to fit their own projects quite simply. The idea is to make it really easy to use in your own stuff and then send off the sheets to whoever's cheap laser cutting service and have it customized for yourself. Dave: For my new project, I've been thinking about this exact concept because if you don't have sides on it, then you don't need cut-outs for anything, right. You just have your right angle connectors on your board and that's, bingo, you're done. Chris: If you don't have any high voltage. Ian: Yeah, I agree. I like that concept as well. Dave: Ah, well, but then you get all dust in there and everything else, so it's not, you know, it has trade-offs both ways, but no, it's good. Chris: No, you guys do conformal. Ian, do you guys do any conformal (TC 1:00:00) coding or anything like that? Ian: No, no. Chris: No, okay. I don't think there's any need to but just wondering because of that. Ian: In terms of cases, we just hope to get it started and see what would happen there and also provide a modicum of protection with our otherwise bare boards. Chris: Yeah. Ian: I am so far away from putting something in a proper case or box that I wouldn't even be able to tackle that. If we ever case things, it will come from the community. Chris: Right. Ian: Someone will design some awesome case and then we'll say can we injection mold that and pay you some money. Chris: Right. Ian: I imagine that's how casing will happen at Dangerous Prototypes. Chris: Right. I'm guessing you're probably like me and you have it dangling from the USB while it's plugged in. Like dangling there so it doesn't touch the… Ian: Yes, absolutely! Chris: You know, short out or anything. Ian: Absolutely! Chris: That's the way to do it, man. Dave: You can buy this kit, right, this case kit, can you see there being a service where you can also order a custom variation of it? For example, like I made ten laser-cut holes on the top of this, but I will use your existing format, but I need ten holes cut in and I need 100 of 'em. Or are you leaving that up to the individual to take care of that? Ian: I mean until now, we've just left that up to people. We have a tutorial on how to do it yourself and all of our files are open source, so you grab our blanks and add your holes wherever you want and send it out. I don't really foresee us doing that. Dave: Right. Sounds like a job for Pinoco or somebody like that. Ian: Anybody who wants a side business and has a laser cutter is welcome to take our stock and do that. Dave: Yeah, exactly, that's what I was getting at. There's a business there for somebody who can… yeah, they can buy these things in bulk and go, yep, you can use this same size and I'll laser cut your custom holes for you. Chris: They could call it slightly less Dangerous Prototypes! (laughter) Dave: We've got a question from (Gibbald 1:01:57), great user name, on the reddit list, when will the Bus Pirate 4 be officially released? Ian: I love that one! Dave: Yeah. Ian: Let me give a little background on it first. Dave: Yes, please. Ian: Bus Pirate version 3 uses a PIC24F, along with an FT232 USB to serial convertor as the interface. Now when I started the Bus pirate, my goal was to have human scale interaction with chips. Literally, you need to write the value 255 to register number 1, while you type in 1 space 255 or 0XFF, or whatever format you wanna type it in, enter, and those values get sent to the chip. And that was the extent of my planning on the Bus Pirate hardware when we started version 3. And then, you know, over the years, and now five years going on that it's been out and about, I think. Dave: Wow, five years! Ian: Probably three years in serious production. People have hacked on and added so many features, not just user scale stuff, but a binary mode so you can write a script. It's supported by flash ROM for programming, little flash chips in motherboards and things like that. And some of those are quite huge, I guess, 64-Mbit chip programmed over a serial connection with all the overhead of a binary protocol, it would take hours on some chips. So we needed a way to make a faster interface. So Bus Pirate version 4 came up and we used a bigger PIC chip with more pins, four times more storage space, and most importantly, an integrated USB peripheral. Dave: Right. Ian: Now the problem with integrated USB is that you then have to have a USB driver for it in the chip. Microchip provides that they call a microchip application library or MAL… Dave: I can see where this is going. Ian: … which I like as malware… Dave: Yep. Ian: … because it comes with a license clause that says… Dave: Here we go. Here we go, folks. Ian: … you can use it freely but you can't actually include the source when you distribute it. So we could use their USB drivers with our firmware but when we wanted to share the source, which is under a public domain license, we had to keep all the USB stuff separate and pull all of it out and then just distribute our source. So what good is that for somebody trying to learn something new and I like Microchip's products and I like the people at Microchip, but that license is still… Dave: But the evil bastards… Ian: … the stupidest thing they're doing. Chris: Yeah. Ian: They're trying to get students, people who are used to Arduino to come aboard and do free demonstrations of their project, which simply amounts to free publicity and free application notes. But they're gonna stop a beginner from a one-click compile over this stupid licensing agreement. Dave: Yep. Ian: So at the beginning of this year, we were still using Microchip's USB stack, and pulling everything apart, and the developers had their own version locally and blah, blah, blah. And at this point now, we had a user come and basically dump upon us a open source USB stack for PIC microcontrollers. Over the last few months, we've worked out most of the bugs. I think it's running pretty solidly. I think, the latest firmware for the Bus Pirate version 4. The USB part is working without problems. And writing a USB stack is now small thing. Dave: Of course, yeah. Ian: I could never have done it myself. It's not a project I would be willing to take on. It's something you'd have to have a passion for doing it. I know the open AVR one, Luther, you know, someone did it as a senior project right, or as a university project, it was definitely a labor of love and it's high quality code, very well done, and I just don't think for a USB stack, I personally would sit down and do that, so I'm totally indebted to the community that made that happen. So we started off the year using Microchip's MAL and now we actually have an open source USB stack integrated there. The whole code base is available for download. You can do one-click compile and get into hacking the BUS Pirate version 4 yourself now. So we've come a long way, I would say a huge way, considering the amount of stuff that had to be done to really get this to be an open source project that I would want to release officially. Now, there's still a lot of things that have to be hunted down. There's still a lot of things that need to be moved from the old serial interface, to the new USB interface, and that's before we even start taking advantage of all the new speed and opportunities we have with the direct USB connection. So there's sort of an instant speed up because we're still using their USB CDC ACM, which is their USB to serial convertor class for USB. And so it doesn't matter what you set the virtual serial port at, most operating systems will just give you as much speed as they possibly can. So you automatically get that speed up with the new Bus Pirate. But in terms of taking advantage of the double buffering and all the really fancy features that we have in this open source stack, features I might add that aren’t available in the Microchip one, that's gonna take a lot more work. And especially bringing that to some of the user supplied features, things that people came and tinkered with and integrated into the code and we accepted… Chris: And then left. Ian: … but they're no longer they're maintaining. Chris: Right. Call 'em up and (inaudible 1:07:21) that. Ian: It's a huge task; it's just a huge chore. Chris: Yeah. Ian: And I keep telling people version 4 will be ready when we release firmware version 7. And I have no plan for that. I have no roadmap for that. I just think that will be the starter pistol when version 4 is something I would recommend to use in your lab for a project that you actually have to get done. You know, for now version 3 does everything version 4 does. It's been tested 10,000 times in 10,000 labs around the world. It's been used in very brutal conditions as well as, you know, there's maybe 100,000 of them out there being used in hobby conditions, so you can be pretty much certain that the Bus Pirate version 3 will do the right thing for you when you're trying to figure out why your chip isn't working at midnight. Now, if you're doing version 4 you may be chasing down bugs that are my fault. Dave: Right, yes. Ian: Bugs in the code base, bugs in the compiler, bugs who knows where, and that's why I keep telling people version 3, you know, it's tested, it's not the new sweetness, but it's tested well and it's still the one we still highly recommend that everybody go for. But version 4's great for developers. It's like being able to get the new iPhone before it's available. Dave: Yes. But Murphy will get you every time. Ian: Absolutely! Dave: So if you use version 4, Murphy's gonna get you. Ian: Absolutely! Chris: It sounds like a call for Amp Hour listeners to come and help contribute and help Ian with this next firmware release and to jump in on the project wherever people can. Ian: Any developers welcome from one line of code to a spellchecked comment to whatever; we're just grateful for everyone in our community, and anybody who wants to joint is more than welcome. Chris: Yeah. You mentioned SVN. Dave: Yeah, how do you find that SVN thing works for developing firmware for an open source product like this? Is there one central person who goes, no, we're not gonna include that in the "official" version of the firmware. How does that all work? Do you find there's an issue there? Ian: Well you know everybody's got their own style on that. Every product maintainer does their own thing. I believe I have to move to GET, there's a lot of pressure to move to GET and I like GET because people can then push things to you, instead of saying here's a patch will you apply it, or will you give me SVN access or whatever, people can just push things in. And I definitely see the advantage to that. I'm just not ready to move our whole shop over to it yet. But with SVN, right now (TC 1:10:00) what happens is we grew pretty organically, it just grew as a community over time, and I'm just in the habit of giving anyone SVN access who wants it. Dave: Cool! Right. Ian: If you want to write an email and say I want SVN access, I give it to you. I get an email for every commit and I work over it. If it's something I have problems with, then I might say can I fix it or someone on our team fix it. As of yet, no-one who's committed has committed terrible code. I haven't had any problems with chasing people down or kicking code out but maybe my standards are much lower than some other people. I'm fairly lax on those things and I'm just happy to have people help out. I'd much rather have someone help out and clean up their code a little if it's not to my style than to lecture people on how their code should be to get into our repository. That just seems unproductive on everyone's part. So we're pretty open. Dave: Yeah. When I did my watch, my scientific calculator watch, I released the source code out there under open source and I had somebody basically re-write the entire thing. Like they just didn't like the way I did it so they re-wrote it from scratch and they… well almost, and they just coded it in a completely different direction to what I was happy with. But in the end, their code was hugely feature rich and much more capable than what my code was but it just… they completely re-did it, just in their own style because they didn't like mine. So I imagine that sort of thing can happen. Ian: Were you happy with that? Dave: Well I was happy with all the features that he added, and I ended up actually selling the unit with that firmware, of course because it had all the cool features; you could play chess on it and you could do all sorts of stuff. But in terms of the code, I couldn't follow it anymore because it was just completely different to the coding style that I was used to personally and I just couldn't maintain it myself after that. Ian: I think it's great that you went ahead of used it, and I was just going to say did you even host it, but obviously if you put it to a product… Dave: Oh no, of course, yeah. Ian: … you had full on. Dave: Yeah but then it got to a point where I couldn't maintain it anymore because I had no idea what he was doing, which is good and a bad thing; he did all the hard work, which I'm very grateful for and it was great firmware, it's just that I couldn't… it had the side effect of me not being able to maintain it personally anymore. Ian: I 100% agree with that. We had the exact same problem. Dave: Yeah because I'm not a huge C-coder. I can write in C and I've got my own little style, but apparently, it's totally different to what all the professional code monkeys out there do. They took offence to my style and went, oh no, this amateur hour, you know. Chris: Wait 'til they get a load of me, buddy! Dave: Yeah. Said in your best (inaudible 1:13:6) voice. Ian: We had the exact same problem. We have fairly advanced features that people have added to the code base at times, and then when we do something and someone reports a problem, especially when we have a cool feature, but no-one really explored it at the outer limits, and then we get someone who says, well they've done it up to here but I wanna do it at 100 megahertz. I said well, you know, I doubt it's gonna work. Chris: Yeah. Dave: Because if you wanna do that, you'll have to change the whole underlying infrastructure or something. Ian: Yes. So then I'm in the code and the guts of it trying to figure out exactly what's going on and how I would re-write it and whether we can actually get to this point. And I would definitely say that's certainly a danger with open source, there's certainly the danger of losing control of your code base. In my mind, I can picture the grey areas in three or four projects, which I know are both things people have done that worked great in the beginning, but have, over time, not aged well or kept up as well, and are now becoming problematic. And it's on my 'to do' list to get in there and re-write all of that and re-do it so that it’s not a problem for our users. Chris: Do you consider it your… I guess a larger question is how much of this do you see as yours versus community. I've never open-sourced a project myself so I don' know, but I assume that some of it is hard to push it out there and just be like, well whatever, right because it's also a business, so where is that line drawn for you? Ian: I'm fortunate enough, I've never had that issue. Chris: Yeah. That's good. Ian: For me, the code belongs to the community. The code belongs to everyone. Public domain means I don't claim any rights on it at all. And when people contribute generally, especially if it's a public domain project because there's technically no license, we actually have to have them fill out a little form or send an email saying they're dedicating this code to the public domain. Chris: How interesting. Ian: And if they're in a country that doesn't allow that, like Germany, there's actually a contract they have to sign off on… Chris: Oh wow! Ian: … that says that they're transferring the code to me and then I can release it into public domain. Chris: Goodness, do they send you a piece of mail and you make a little paper airplane, you throw it off the roof or something? Ian: All this licensing stuff it's really just a formality and it's a huge pain. In my opinion, public domain should be the default. Chris: Yeah. Ian: If you put something down and you don't say it's copyright, if you draw something and you don't put copyright on it, if you code something and you don't put copyright on it, then it should be public domain. People should feel free to use it however, but that's not the way of the world. Dave: Unfortunately, legally that's not the case because lawyers… Ian: Absolutely, it's the opposite. And so we run into the situation, in order to not claim rights on something we have to jump through all these hoops. Chris: So weird. Ian: So I see the code base as belonging to everyone. I generally know which parts I've written and I know other people's code when I run into it. But I'd say the code belongs to the community, the user base, and the people who maintain it. And people, of course, are welcome to take it and fork it and use it on their own and call it their own for all I care. Chris: Yeah. Interesting! Phew! Well there's one last topic, I wanted to ask about the 7400 series competition. Ian: Oh yeah. Chris: What was your final take on it, what was your favorite? Ian: Oh it's so hard to have a favorite. We've done it for two years now and it's a competition to see who can build really the most interesting, creative, wacky, odd, whatever, using 7400 discreet logic chips, and it really will take any logic chip. We always say we'll leave it to the judges. So if you wanted to use the CPLD… Dave: No, no, no. Ian: … but it's still consistent with the spirit of the 7400… Dave: (inaudible 1:16:49) Ian: Well if you use 7400 logic and mix it with CPLD or do something innovative and it still reflects the nature of the contest and the spirit of the competition, I tell people that's fine. It doesn't mean you'll get first place, but anybody's welcome to submit anything innovative based on discreet logic. And this is the second year now, Dave judged last year. This year we had a pool of community judges, as well as a forum voting. There's one guy who makes really incredible projects. Last year he was the grand prize winner, and this year he did a RFID card, made entirely from discreet logic. I thought that was cool, not just because doing all that work with the discreet logic, but because by looking at the design, I understood more about how RFID works than any other RFID project I've been involved in. I've made PIC tag readers, PIC tag clones, stuff like that, but just looking at the layout of that and seeing how he did that, it was just mind blowing. Chris: Yeah. Ian: That's what I like about the 7400 competitions. You see these things that we now do with the microcontroller reduced to the discreet logic components and then you can sort of see how it would happen, and I find that really fascinating. And this contest, I would love to take credit for it, but it's actually Squeaky Beaver, one of our community members, came up with it last year and did all of the heavy lifting last year to get it off the ground, so he definitely deserves credit for the creative side of that. Chris: Yeah. Ian: Now this year was quite good as well, but I think doing a yearly 7400 contest is difficult because you run out of the obvious projects; you're getting into some really, really serious work, which is very cool as well but… Chris: Right, shakes the pool up. Ian: Yeah, exactly. So I think we're gonna put it on hiatus for a few years and come up with some contests in the interim. And one that came out of the forum that I'm particularly fond of and I'm sure it's gonna be our next competition is lab equipment with no specific definition. Chris: Okay. Ian: Just make some useful lab tool. Chris: Oh yeah, that'll be like the (swan of DIY 1:19:10). Dave: I'll write that, yeah, yeah. Ian: With the effort, the creative energy and the engineering that's going towards something maybe useful for everyone and the community, instead of just some simple learning demo project oddity, we're actually starting to get a body of open source tools. Chris: Yeah. So you name end product as the goal instead of the ingredients? Ian: Yes. Chris: Hah! That's a great idea, I like it. Dave: Hmmm. Ian: so I think that would… Dave: And I would weight that one the more universally useful it is the higher it would be ranked; that's how I'd run that one. Ian: Oh yeah, absolutely. Dave: Because yeah, you could someone to do something really obscure, so obscure it's really cool, but it's so obscure that nobody else would ever wanna make it ever. Chris: Right. Ian: (laughs) Dave: It's such a specific use (TC 1:20:00). Chris: Right. This testament flies, take a crap! (laughter) Dave: That's a great idea. Chris: And just on the commodity side too, seeing what commodity equipment now can do, it'll probably have some test-the-measurement companies perk up a little bit I'm sure. Ian: Right. And I would love to build and sell a test batch of the things, both from the 7400 contest, or a lab equipment contest or whatever. And people suggested it but my feeling is I don't wanna infringe on anyone's project. I don’t want anyone to feel like I'm taking something from them or capitalizing on that. So I've been very, very hesitant. Dave: Yeah, that's tough. Ian: But I think next time we may offer the winner the option… Dave: Yeah, for a test batch. Ian: … to have a test batch done. Dave: Yeah, I would do that. Yes, you have the option to get it assembled and we'll take care of it all for you and cut you in on the profit. Ian: Yeah, absolutely! But even with a licensing deal, I'm just so nervous and so scared about getting someone upset and appearing to use someone's project in that way. I've been in that space, people have cloned work I've done and it's made me really nervous, especially when you're just getting started. You don't have the resilience to say yeah people have been cloning my stuff for years now and it's really done nothing but help me. Chris: Really! Ian: In the beginning it's nerve-racking. You know you have that knee-jerk reaction and say oh no, this is gonna ruin me, gonna take me down, or they're getting all this credit off of something I've done. And I would never want to give anyone else that feeling. But I really would like to offer the option of having a test batch made, especially if we come up with some really cool test tools. Dave: Ian from Dangerous Prototypes, without a last name. Ian: Of course. Dave: Thank you very much for joining us. I think our capacity is well and truly up here. Chris: Definitely. Ian: Well thank you, guys, for having me, it was really nice to talk to you and I know we've been working on this for a while to get all the times lined up and I'm glad we finally did it. It was a lot of fun. Chris: I agree. Dave: It was indeed. Thank you very much. Where can people catch you? Ian: I'm available at dangerousprototypes.com. I'm @dangerousproto on Twitter. I do tweet. Watch out there's some tweets about food there that seem to upset people. Our blog has six to ten posts a day. All user projects or stuff we're working on, and of course, if you wanna get involved in our projects, our hardware, our forum's always open. 24 hours a day you can get a hold of somebody on the forum almost immediately. There's a great community there and they're always working on projects; they're always hacking something, debugging something, or fixing something. Chris: That's awesome. Well, thank you again, Ian. It was great talking to you. Ian: Thank you, guys. Thank you so much. Dave: Catch you later. (TC 1:22:44)