This week we sit down with Guido Bonelli, founder of Dr. Duino, a company that makes custom Arduino boards and kits to help beginners and more experienced hackers create their own electronic projects. He walks us through what has made Arduino so popular, how you can learn to use it, and what the future holds for open source hardware.
Sara shares the story of a developer conference that was smoke bombed by an Arduino bot gone haywire. It was this chaos that inspired her to dig deeper into Arduino, which would eventually play a big role in helping her to found her company, Jewelbots.
Paul unravels the mystery of what's really inside the Goonie Box: a timepiece, puzzle, and mechanical wonder that Guido uses to test his house guests.
This week's lifeboat goes to Terminator17, who helped solve a problem around object detection using a Tensorflow-gpu.
Paul Ford Especially right now that's a future I'm totally behind. I want a future with lots of goodie boxes where we're just talking about Arduino. Let's build that future again!
Ben Popper Good morning, everybody. Welcome to the Stack Overflow Podcast. I'm Ben Popper, Director of Content here at Stack Overflow with my lovely cohosts, Paul and Sara. Sara, I know somebody's cleaning your carpet, so just jump in and say hello. When that rumble dies down. Okay?
PF Here, I'll be Sara for a minute. Heeeyy!
BP Oh, that was a pretty good impression.
PF Yeah, you know, it's one of the things I rehearse quite a bit.
BP Sara's like quietly on mute stewing. Oh, she says ''that was great'' in the chat. [Ben laughs]
BP Sara, you just chat and we'll, we'll say your lines this time. So we have a great guest today. Guido Bonelli, did I get your name right?
Guido Bonelli You did. Yep.
BP Alright. And Guido is here to talk to us about Arduino. Guido Arduino. Now I know the creator of Arduino is also named Guido, but can you claim credit for creating it?
GB No, I wish I could. But no. [Guido laughs]
BP Guido, tell us a little bit about yourself. Who are you? How did you get into computer programming and then eventually I guess into Arduino?
GB So I had gotten started in electronics because of my uncle who is a physicist. And he had shown me my first green blinking LED, I think, Oh my god, it must have been in the early 80s. And I just remember staring at it and going, ''I don't know what that is. But I want to do whatever that is for the rest of my life.'' And I think from that point forward, I was just really enamored by anything electronic.
BP You were still in diapers when you put the soldering iron in your hand?
GB Yes, absolutely.
PF What I love is it just it was that green LED, right? Like just like, ''Oh, yes.'' And I mean, literally every other human being is like, ''Oh, there's a blinking green light. Okay.'' But no, that the nerd is in there, like, this is me, too. Like, ''oh, I wonder how that happened? Oh, it's a world of mystery and wonder''
BP So Guido, did you do stuff with electronics in high school or in college? Like, you know, it sounds like you started early age. What were you doing early on creating projects, building things, selling things?
GB Oh, yeah. I mean, I was always building something didn't matter what it was, I had done this wacky thing called the 'japoolzi', which is my version of turning my father's pool into a very small portion of it into a Jacuzzi. I just thought it would be this cool kind of thing to do. Little did I realized that backflow pressure was an issue, but you know, whatever.
PF When did you do that? How old are you?
GB Um, that one I probably did in my early teens. You know, it was just more of a curiosity. But I was always messing with electronics. I had worked at a photography store, you know, a photo developing store, if you can remember those. [Paul laughs]
PF For our, for our younger listeners, you used to go to a store, and they would have lenses. And you would think about cameras. It was exciting.
GB So I used to take all of the disposable cameras and I would take them apart. And I was really curious about you know how the flash worked. And I collected maybe about 100 of them at one point and I stuck them all together. And I made this giant sign that said 'Noel' out of these, you know, little, you know, maybe an inch tall looking flash flashbulbs. And I remember trying to get them all to go off at the same time. So I would say like 'Noel' as you know, people were driving past my father's house. That never worked. [Guido laughs]
PF I mean, luckily, first of all, I mean, one of the classic hard problems, right? It's like sinking up, you know, all of those different elements. Second of all, we're very fortunate because about, you know, 100 flashbulbs going off at once, if someone was driving probably would have resulted in death. [Ben laughs]
GB Yea, probably not a great idea. I agree.
PF So that's early lessons, many of our failures allowed a lot of people to survive, right when you're when you're particularly nerdy. Alright, so get us to Arduino. I mean, it doesn't feel like it's gonna be hard, like this particular person coming across Arduino, what were you doing at that moment? And we should actually pause like, what is Arduino for everybody, like, let's bring everybody into this world of true nerdery.
GB So Arduino is just a super simple way of being able to add electronic control to anything. And, you know, my background is I have a Bachelor's in electrical engineering and a Master's in software. And my day job is I'm a director of engineering for a large power supply company. And you know, I was really used to using all of the traditional very heavy TI tools and Freescale just a lot of the big players. And I remember, I really wanted to, you know, build some more stuff at home, but I had just gotten tired of using the big tools, you know, to get an LED to blink it was, you know, would literally take you hours, maybe a week to you know, get the tool chains working. But the great thing about Arduino is that it's you know, within minutes, you have LEDs blinking and sounds. And so, for me, that was just a really great crossover where I didn't have to worry about all of the heavy, heavy technical stuff that I normally deal with in my daily job.
BP And when did Arduino come around, like when did it come on the scene?
GB So I had first gotten involved with it, maybe, my goodness, it's 2020 already. So maybe 2010-ish, somewhere around there. But that's that's when I had started to kind of get involved.
BP Paul, how about you? Have you ever played around with it?
PF Uh, no, you know, every time I've messed around lower level, I get a little distracted. Like, for me, the apex of this world is the Raspberry Pi, a little tiny Unix server like that. When I connected to tech, it was via Linux, there's a big moment that Guido describes that I think is really foundational, which is when you realize that there's secret value and all the garbage like that you can you know that that expensive thing that somebody is throwing away could actually be extracted and turned into a new experience. So like, you can take an old gateway machine and turn it into a relatively powerful web server, you know, in the 90s. And you could do that by putting Linux on it. And so like, that's my vibe. So when I get when I think about little things, I think about little tiny servers. And every time I've tried to do anything with a breadboard, I just fail completely. It's a disaster. And I've given up trying.
BP This says Arduino project comes out of Italy, it was started with a basic step microcontroller. And they wanted to, you know, sort of extend that 2003 they began working on it. And then 2005 was when it kind of spun out into what we know is Arduino today. So 2010, you know, five years later, it started to become a little bit more mainstream, and you came across it.
Now Guido, I do want to raise an issue here, which is you got a Master's degree. And yet you identify yourself as a Dr. Dunio? So it feels like there's a little inflation going on.
GB So that's actually just the name of my product, it's not not my self-identifier.
PF Alright. Alright. Feeling, I'm feeling good right now. [Ben & Guido laugh] So wait, what is the software experience? It's always puzzles me. So how do you actually--you can put wires between things on boards. And that makes, you know, in circuits activate. And that's exciting. And there's signals going in and out of chips and LED light up, but I kind of get the physical carpet, how do you program these things? How does that work?
GB So the programming language itself is actually super simple, you know, and again, coming from the TI background, you know, and the full instruction sets that normally come with a huge sea bass compiler. It's just so simple. You know, it's, you know, with a handful of really rudimentary commands, I mean, you can just do so much. So Arduino has their, their built in ID or in their integrated developing environment. And that handles all of the compilation of the code, which, at that point, essentially just crunches it down and crunches down all of your lines of code into zeros and ones, and it then transmits that zeros and ones down to the Arduino more specifically, the microcontroller, which is really what's doing all the operations. And that's how you're able to control your LEDs or make things smoke maybe when they shouldn't, but you make things smoke. So.
PF And then Okay, now I think we're at the point where we can learn about Dr. Duino. And what it is you do, it sounds like not all day, but all night?
GB Definitely, by night. Yes. So the Dr. Duino, it was something which, when I had first discovered Arduino in general, I thought their stacking system was really pretty neat. You know where you could essentially, you have your Arduino Uno or whatever mainboard that you're using, and then stack and stack and stack and stack.
PF So these are the hats right where you like put more devices on top?
GB Yeah, I think in Arduino land, they call it shields.
PF Shields, okay.
GB But the problem that I kept running into was, okay, this was my very first project that I had done with Arduino was this thing, which I call Orbis. And so I really love to kind of combine some art pieces that I make for my home, and electronics. So I built this thing called Orbis. And it's this giant, it's almost like a portrait kind of like a portrait of a tree that's backlit, but it does some movement. And it communicates wirelessly with this with this separate control box. And in order to do all of that I needed to stack I think it was two, maybe three different shields one on top of the other. And the problem that I kept running into was, I needed to be able to see what was going on in between the stacked shields. And it was driving me nuts. Because you know, traditionally I'm used to working with boards that are all laid out, you know, on a plane, you know. But in Arduino world, everything stacked vertically, so I couldn't get into the middle. And once I realized I was like, you know, it would be really awesome if I could bust out everything that was in the middle of the of the shields. And no matter where you plugged it in, they would kind of bust it out to the outer almost lip, you know. So that's where I had come out with the previous version of the Dr. Duino, which was people loving it, they call it almost has like a doughnut shape to it, where the middle is empty, and it extends all the way out along the sides of the Arduino. So it's not something that you would necessarily plug into your final product. But it's more of a testing or it's kind of like a doctor, which is why I call it a Dr. Duino, you know, so it's to be able to help you diagnose what's going on internally.
PF So maybe not for your very first Arduino project. But if you really are playing around in this ecosystem, and you are tired of just wondering what's happening between in the stack, this is a good tool.
BP Sara, I know, you know, you've obviously worked with Arduino and done Jewel Bots, if you have decent sound, now, do you want to tell us a little bit about how you found it and what your experience was?
SC Yeah, I remember very vividly because I was at a conference in Ireland. And what happened was, I saw a talk with people that were coding hardware. For the first time I saw someone that had programmed a parrot drone to charge every time it saw the color red.
BP Oh that sounds safe. Yeah, that sounds really safe. [Ben laughs]
SC Yeah. So they were on stage, both fighting a drone, which is really funny and cool. And then someone else came up. And I had programmed a smoke machine to smoke. It was like every time they clapped, or every time it heard a sound or something like that.
BP Uh huh, clap on, clap off, like that little light in the infomercial.
BP So how did it actually end up getting integrated if at all into Jewel Bots? Like, did you use it when you were first prototyping it? Is it part of Jewel Bots? Like the full thing? What's the relationship there?
SC The whole prototyping process, we use lots of different Arduino compatible boards. One thing you'll learn when you're doing this is that there's all kinds of boards online and even now, we sell as part of our science kits, we sell different kits that allow you to use Arduino and things like makeup light up tee-shirts and program things like that. Because what we found is kids really love that kind of thing.
PF Let me throw a curveball here. And just like, how do you get so if folks go to the Dr. Duino.com website, what you see are Arduino asked looking electronics that have blue plastic boards with enormous amounts of stuff put onto them. And so I'm in software, and I'm used to creating a deploy process with GitHub. And out it goes and I'm done. I have now shipped and done my work, right? And you're selling new. So how do you get them made? Like, how did how did you make a physical thing in the world that is obviously filled with lots of little bits and incredibly complicated.
GB So I use something called KiCad, or KiCa, depending on how you pronounce it, I hear people say it both ways. That was a PCB creating piece of software. So you know, those two boards that you see there, one is the Pioneer, which is the smaller board and really meant more for kind of beginners. And then you have the larger board, which is the Explorer. And that one is meant really more for intermediate and advanced. And the so I told you about the donut version, which was the red version of the board. And so I had discontinued that because I had lots of lots of customers saying, ''Hey, we want something which is a little bit easier.'' And then I would get on the flip side, ''Oh, I want stuff, I want something I can do a lot more.'' So I separated that out into two separate product lines. So basically, I spent since last September, in my basement, you know, with with my PCB creating software and creating the different versions of it, and then working with my suppliers and getting everything brought into the US. So that that's kind of how I did it.
PF And how do they get assembled?
GB Yeah, that's the fun part, actually. So the user actually puts it together. So it comes as a kit, there is something which I created, that's called Dr. Duino's Labs. And that's where all of the manuals, and I didn't want to create, like, you know, a very generic kind of manual, like the way you see everywhere else, you know. So it's kind of written in a fun way where you kind of learn things along the way. So it's not just as simple as plugging this resistor and plug in this LED and solder it. You know, it kind of gives you some history on the backgrounds of certain things like the Bluetooth module, Bluetooth is actually named after a Viking Lord, which it's kind of a weird thing, because his name was Bluetooth.
PF That's right, it's like Harald Bluetooth. That's a good little bit of weirdness in our Yeah, and engineering culture. Okay, so your real job to make something like this happen is to get the PCB together, and then give people instructions on how to put it to put all the pieces onto the PCB.
GB Correct. And that that's kind of where it really is just starting. So I wanted to create kind of an ecosystem within an ecosystem. So for, you know, Arduino in itself is without question, you know, a giant ecosystem, but I wanted to give people actual projects that they could build out of the box that were cool. So one of the, you know, given the current condition of COVID, and everything else I had come up with a social distancing machine. It's part of what I call my expansion packs. So part of that is where you're using an ultrasonic sensor to detect how far somebody is away from you. And I busted up into anything below six feet, I have a servo that goes back and forth and some music that kind of yells at you if somebody is getting too close to you. So it's not meant to be taken seriously, but it's, but it teaches you so much about how the ultrasonic sensor works and how to get the music the time correctly. I really wanted to create something which would give people a lot to do, especially during these times.
PF I mean, the vibe for me. I'm guessing you remember these too? It was those 101 Radio Shack boxes. Ben, did you ever see these?
BP I had a couple of them when I was a kid, but I never managed to do anything without hurting myself.
PF No, I would just cut myself on the little springs over and over. [Ben laughs] But it's definitely that vibe. Like hey, you can do a million things with this.
GB You know, a lot of people always ask me, ''Well, what do I do with it?'' And you know, my response is always ''Well, what would you like to do with it?'' Because you can really do anything, you know, anything which you can imagine.
BP Can you tell me a little bit about Goonie Box because I just I like saying that and I want to hear you say it.
GB So Goonie Box was something which I created because A, for and I know again, I'm dating myself here but for the for the younger generation. My favorite movie hands down still to this day is Goonies, the movie The Goonies,
PF Fair enough. I mean, it's a classic.
GB It's a classic. And so I wanted to create this giant timepiece in my house and something which you know, when people would see it, they would be drawn in, like a moth to a flame, you know. And so I created this this entire thing, I used Autodesk fusion, create the entire model. And you know, it stands about what 3, I think 36 inches tall. So it's a big piece of quote unquote, furniture. And I call it interactive furniture. So what I wanted was it to be kind of double duty where it was part grandfather clock, and then part puzzle box. So if it's just sitting there, there's this giant hourglass that sits in the middle that spins every every hour, and then a Roman numeral dial at the top, which rotates every hour as well. And it gives a really nice chime every hour. But I wanted it to be something that people could, you know, when they saw it, and they would walk over to be like, ''Oh, my God, what is this,'' they would begin to see all of these inscriptions that are all written all over the box, and it would lead them down to this chain of puzzles that they would have to solve. And the whole point of it is that there is a there is a real life treasure in the middle that can't tell you what it is. But there is a real life treasure in the middle of the box, which is just a ton of fun.
PF Hold on, let's do some investigative journalism. Guido, what's the real life, what's the treasure in the middle of the box?
GB Alright, alright, I'll tell you.
PF I'm not getting that, oh, go, go!
GB So one of the things which I just, I have always loved the concept of is a timepiece that that you can kind of come back to at a later point and see, you know, kind of through that person's eyes what was happening during that particular moment in time.
PF Sure, sure.
GB So at the middle of it is actually this puzzle, it's actually a puzzle box within a puzzle box. So it has a combination lock on it. And you have to open up this box. And in there is a camera, which you take a picture of yourself having solved the Goonie Box, right? Because it's pretty cool to you know, once you once you do and you see people's reactions, you know, it's just a really great feeling. So they take a picture of themselves like one of those Polaroids and you put it into a book and then it this book becomes kind of it kind of grows over time with everybody that has played and you know, I've had I think I finished uni bucks, maybe three, four years ago, something like that. So there's lots of people that are in there now. And you know, it becomes like a time capsule, which I just really love that thought.
PF So like there's one thing I really want to understand here, which is how, Sara's dealt with this too. This is a pretty significant side project. And it's a lot of pieces, you're sourcing things from overseas, you're getting things manufactured and delivered, and then they're getting sent out to people and there's a lot of intellectual property and so on. And you have a job, you have a house you have things going on, what are your ways of balancing those two worlds or not?
GB Sleep is optional. It's just, it's just a drive that I have to be able to do kind of both things, I have to do both things, you know, so it's definitely a balancing act, you know, and my girlfriend's really wonderful about about that. And she's super supportive about it as well. So it's tough at times, but it's it's worth it to be able to see people actually interacting with either Goonie Box or the Dr. Duino brand, and getting the feedback that like ''wow, this is really awesome.'' Or, you know, ''I learned a ton from this.'' So it's a bit of a double edged sword, admittedly, but it's definitely worth it.
PF I want to build the community too. I mean, as I'm looking at your site as we're talking just like their happy customers are potential friends you know, it's cool. Yeah, it's very cool. It gives it gives some context.
BP Where do you see this kind of stuff going in the future, like has anything in the last year two kind of really excited you? Or is anything coming out in the near future that you feel like is going to be a game changer for Arduino or for people who like to play with electronics? You know, when you think to like, ''Oh, you know, what could I be doing in four or five years'' that gets you excited, what do you see out there?
GB Without question, I think, you know, robotics is something which has always excited me. And I think the Arduino space is really perfectly primed to kind of address that entire kind of segment. So yeah, definitely robotics in my future. There's definitely more type of Goonie Box machines that I want to make.
SC I think that we'll see more open source hardware, which is very cool. It's been a community that's been really slow to get started because the big chip manufacturers are so closed off. But I think the more we see that, the more people can learn from each other. So I think another thing we'll see is like faster prototyping processes, which has already been happening. You know, some people have their own CNC machines at home and things like that, that help them do these things. But I just see it getting easier to build things and maybe even scale things as well.
PF Cool. Alright, so how do people find you if they want to find you?
GB Yeah. So if you just go to Dr. Duino and it's D R D U I N O .com. And you'll find everything there, including, I keep a pretty active blog blog page there too. So there's lots of cool information. And I try to make, I try to focus it more on the technical challenges which surround Arduino. Right? So for example, sometimes if I run into an issue with Arduino in particular, I'll document it and then share it so that that way other people don't stumble upon that the same way that I did. So I try to give different types of Arduino related information and not just your standard, I use an light LED. But here is, hey, you're not compiling? Why aren't you compiling? Oh, you're out of memory. Let me show you how to fix that.
PF And for the person who is brand new to this world, where should they start?
GB Definitely on the Pioneer side of life, you know, you still need to have some basic soldering skills. But I designed the board in such a way that it's really forgiving to soldering mistakes, for sure. So that that's without question where to start. And once you start with the Pioneer series, you're going to get a really great foundation in terms of how Arduino overall works, and then how to work with the projects that are given. So, you know, there's 10 projects that you can build right out of the box. So a kitchen timer, water leak detector, there's just all sorts of stuff that I built. So that way, you can just dive right in.
BP Guido, thank you so much for coming on. We appreciate it.
GB Thank you so much. I appreciate it, guys. Thank you for having me on.
BP Alright, our lifeboat of the week, somebody who came by and saved a question that had a negative score, got it up to a positive. This one's from two years and two months ago. It's got 33,000 views, ''Import error, cannot import name, abs or maybe ABS cannot import abs.'' I also cannot get abs. This is a question about TensorFlow, ''I got a problem while doing object detection using TensorFlow GPU. I was trying to detect an object inside of a virtual environment.'' And we've got an answer here that worked in Ubuntu 18.0.4, so the solution was found. Thank you so much to the folks who got that lifeboat for us, it would be--oh! Terminator 17, like that name, too. Alright. I'm Ben Popper, Director of content here at Stack Overflow. You can always find me on Twitter @BenPopper.
PF I'm Paul Ford. And you can find me on Twitter @Ftrain. I'm a friend of Stack Overflow, check out my company Postlight at postlight.com.
SC And I'm Sara Chipps. You can find me at @SaraJo on GitHub. I'm our Director of Community here at Stack Overflow. And check out my friend Jeff's Kickstarter. It is Bit.ly/BooksKickstarter.