SERIES: The Amp Hour
DATE: December 10, 2012
TITLE: Bus Buccaneer Builder
PRESENTERS: Chris, Chip Report TV & Chris’s Analog Life
GUEST: Ian Lesnet, Dangerous Prototypes,
SOURCE FILE: http://theamphour.com/podpress trac/web/2167/0/TheAmpHour-
INTRODUCTION: Welcome to The Amp Hour, I’m Dave from the EEVBlog. And I’m
Chris Gammell 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
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
Chris: Really! Interesting!
Dave: Oh really, okay!
Ian: It’s much easier for everyone that way.
Chris: That’s good.
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.
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
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.
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.
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
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
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.
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.
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.
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
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
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.
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
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.
Ian: I mean that’s still a very tiny compared to large production runs, I’m
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.
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
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.
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
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
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.
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.
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.
Ian: And I like to give other people that feeling as often as I can as
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.
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…?
Chris: Every month, sorry.
Ian: On average, we try to have twelve new projects put into production a
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
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.
Ian: Besides the twelve boards we try to produce every year, right now
we’re R&D’ing about one project a week.
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
Chris: I have this great idea, we’re gonna give stuff away.
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.
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
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
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
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.
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
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.
Ian: An amazing time.
Dave: Did you get Delhi belly?
Ian: You mean did I get sick?
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
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.
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
Chris: It is.
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
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
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
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
Chris: My inter-analog guy’s screaming right now.
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
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
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
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.
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.
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
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.
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.
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
Ian: And that gives us plenty of time to go back and fix them. 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
Chris: Oh 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.
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.
Chris: Did you like encase it in amber and it’s like the Holy Grail chip,
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!
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.
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.
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.
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
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.
Ian: So we thought the 1.25 amp resettable polyfuse was a safe way to go.
Ian: And people who want more than that can solder a coat hanger over it or
Dave: Yeah, exactly.
Ian: You have the option to go dangerous if you want.
Chris: Well it is Dangerous Prototypes, right?
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
Ian: Engage danger mode.
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: 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.
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.
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
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
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
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.
Ian: Everything’s done in Google Sketch Up, so it’s a free, though not
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
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.
Ian: Someone will design some awesome case and then we’ll say can we
injection mold that and pay you some money.
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.
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
Chris: They could call it slightly less Dangerous Prototypes!
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!
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.
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…
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.
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.
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.
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
Dave: Yes. But Murphy will get you every time.
Dave: So if you use version 4, Murphy’s gonna get you.
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
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
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.
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
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.
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
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.
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.
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
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.
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
Chris: Hah! That’s a great idea, I like it.
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.
Dave: It’s such a specific use (TC 1:20:00).
Chris: Right. This testament flies, take a crap!
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.
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.
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
Ian: Thank you, guys. Thank you so much.
Dave: Catch you later.