Embedded - 115: Datasheeps

Episode Date: August 26, 2015

Daniel Hienzsch (@rheingoldheavy) spoke with us about reverse engineering a board, bypass capacitors, and serial protocols. Rheingold Heavy is Dan's company for educational boards. The one he started... with was the I2C and SPI education board (its fulfilled kickstarter page). He brought us the theGraphic Equalizer Kit and Bubble Display Experimentation Pack. Dan's Arduino from Scratch blog series looks at the Arduino hardware in great detail.  Contextual Electronics course for learning to build boards Chris wrote about his Photon based garage door opener on the Linker blog TinEye for searching schematic snippets

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Embedded FM, the show for people who love building gadgets. I'm Elysia White, here with Christopher White. We're going to talk to Dan Hinch about electronics, specifically Arduino electronics. Hi, Dan. Thanks for being on the show. Hi, how are you? Good. Could you tell us a bit about yourself? I am Dan Hinch, and I run a company called Rheingold Heavy, which I founded in May of last year after getting laid off from what I hope will be my last job in IT ever.
Starting point is 00:00:37 Because you were laid off or because you hate IT? Probably a little bit of both at this point. Fair enough. But now, what are you up to? but that it was matched with actual hardware. So circuit boards or individual components or kits that would go together to form an actual education system rather than just a bunch of tutorials or just some hardware with a little get started guide that went with it.
Starting point is 00:01:19 So there was an actual educational system that included the thought process behind how you would go from sort of base knowledge of something and then layer upon it step by step until you got the full gamut of understanding of this particular topic. Is your background hardware or software? My background is in IT. So I guess it's probably a little bit of both. But honestly, in the end of doing IT, it was mostly management. So I don't think it really actually included either of those at that point. Is it mostly password management? You can tell us. I understand. It was probably mostly user management at that point and cell phone contracts and licensing agreements.
Starting point is 00:02:12 And you've been doing a blog series recently where you look at the Arduino Uno in detail, look at it from an electronics perspective. We talk a lot about Arduino and software and that sort of thing. But the electronics of it, I don't know, I guess I've never really thought about that. Right. And that was something that I realized myself is that I'm relying on this thing to be the basis of understanding, the common denominator for anybody that comes to the content that I provide or to the boards that I design. And I realized that I didn't truly understand the absolute nuts and bolts of that actual board. And when I went to go try to find some sort of central repository that explained all of this stuff to me, it didn't really exist.
Starting point is 00:03:00 And on Twitter, I said that my comprehension of a topic is inversely proportional to the amount of browser tabs that I wind up having open to try to explain it to me. That you would try to find this understanding for the comparator that will turn off the USB 5-volt signal in uh, that you plug a power supply into it, but there's no resource that tells you how that interacts with this or that interacts with that. It's people saying, well, I know there's this comparator on there. Can somebody explain this very small defined aspect of it for me? And somebody explains it usually in very angry tones on a forum and, and then it moves on, but there there's no there's no comprehensive let's start here and work our way in all the way through it so that was the the start of it and then the more i i thought about it i thought it would be a great resource for explaining to people not just how the how the schematic can be understood but how you actually take a schematic, understand it, then pick the parts, then design
Starting point is 00:04:07 the board, then get the board manufactured, then populate the board, and then do things like, this is the, and this is the part that I'm particularly interested in. I have no idea how I'm going to program the 16U2 that's on there. I have no idea. I know I'm going to get a chip. It's going to be in cut tape from DigiKey, and I'm going to solder it down, and then what do I do with it? The 16U2 is the bootloader chip that usually acts as the USB interface? Exactly. And so that's sort of a programmer chip as much as anything.
Starting point is 00:04:49 Exactly. Yeah, in the end, I think all it really does once the board is up and running is it sits there as the USB to serial interface, and that's pretty much all it does. At least that's what I think it does, and I will be happy to be corrected as I go through the process of understanding how the board actually works. It's pretty funny there wasn't a tutorial about this. Every single piece of Arduino software has some tutorial that describes it in excruciating detail and yet the electronics are very you just buy the board you don't worry about it they're open source but i don't know yeah you know it when you when you look for the actual hardware resources on the arduino website what you wind up seeing are the pin out. And you see the sort of pseudo data sheet that says, here are the Arduino digital pins, and here are the Arduino voltage limits. And what they're actually talking about are the digital pins are the actual pins on the,
Starting point is 00:05:42 at mega 328P, when they're talking about the current or the voltage limits of the 5-volt pin or the 3.3-volt pin, they're not talking about the ATmega anymore. Now they're talking about the two little voltage regulators that are on there, but they don't actually explain that anywhere. It's just, these are the VN pins. These are the 5-volt pins. These are the 3V3 pins. They exist on the pin header right there, sort of in abstract in a black box, and they just provide 3.3 volts out of nowhere. That's one of the things about open source hardware. It sounds good, but open source doesn't mean well-documented.
Starting point is 00:06:19 Absolutely. It's always been true. And that was something that really surprised me is when I said, okay, I'm going to do this thing. I'm going to go grab the schematic and then I'll take what I will imagine to be this beautifully documented schematic that's going to be so easy to read because it's from Arduino, right? I mean, they've had so many people look at this. At some point, somebody would have gone, boy, we should really make that look good. And I got it and I could almost not read it it was it what strikes me is that it was probably something that somebody took and went man we really got to figure
Starting point is 00:06:52 out how we're going to fit this onto an a4 size piece of paper and so it's all kind of crunched down from the edges and things are laying down on top of each other. And then they printed it in black and white and then it was done. And there you go. Do you think it's partially not their goal to foster an understanding of their hardware? I certainly don't think it is their intention to make it abstract.
Starting point is 00:07:20 I think it was like, well, we got to document the schematic, so we'll put the schematic out there as the schematic is. But boy, if, we got to document the schematic, so we'll put the schematic out there as the schematic is. But boy, if you go to the Arduino language reference, I mean, it's a beautiful thing, right? It's so easy to understand for anybody of any programming level. And it's clear that they put real heart and real passion into that. And on the hardware side, I think it was, and I don't want to say that it was the least they could possibly do, but it was on the Gantt chart of stuff that they had to check off. And so they checked it off and they put it out there.
Starting point is 00:07:55 And then when it went from Rev 0 to Rev 1 to Rev 2 to Rev 3, they updated the schematic. But I don't think it got the level of care and love that the software side got have you really focused on the official arduino schematic or have you also looked at the other offshoots the evil mad scientist diavolino and the arduino pro and the arduino trinket Pro? Well, I have the, I think it's the SparkFun Redboard at home. I have intentionally not gone to look at any of the clones. The idea was that I am going to take the documentation that is freely published by the people that designed it as an open source device, and I'm going to use this to make my own. Now, that doesn't mean that I'm not going to actually use the hardware that I bought.
Starting point is 00:08:48 And I sit there and I check connectivity between different bits and pieces on there to verify already gone through the process that I'm trying to go through right now and probably already figured it out. And it would kind of defeat the purpose for me to go out and discover that SparkFun's got this beautiful schematic that is really easy to understand. And I just look at it and go, oh, of course. Yeah, because the process is the part that you're interested in exactly that's how you learn right if somebody delivered you the answer you probably wouldn't even look at it exactly exactly yeah no no get that away from me i cannot see it yeah so one of the things i liked was not only that you had started explaining like the voltage regulator which was just the right perfect time for me to look at that because i was looking at how to do battery stuff
Starting point is 00:09:45 and get to the lower current draw using an Arduino. And so your explanations were perfect for what I needed to explain to my client about why they needed that. Here, just look at this. And yet you say you're going to go on to actually building these, even manufacturing and talking about each step along the way. Right. What can a junior electrical engineer or an embedded software engineer or an IT guy learn
Starting point is 00:10:11 by looking at the Arduino hardware? Why is this important? Well, especially when I worked in IT, it was always important to understand the entire process of any product that you were going to be installing, any piece of software that you were going to be giving to your end users to use. You had to understand what the thought process was of the person that designed the software and the thought process of the person was that was going to be using that software in the end. And if there was some conflict between those two, as there always is, you should try to be aware of it and at least try
Starting point is 00:10:48 to make some kind of plan for when this conflict is going to erupt so that you can head it off at the pass. Maybe it's even just the form of an email saying, hey, look, you're going to try and print this, but it doesn't work with HP printers. And I know we've only got HP printers in the office, so we know this is going to be a problem, right? You, you at least know that this is going to be a problem beforehand. Um, and for my own personal sense, I, I think if you're, if you're dealing with an Arduino in the first place, you've got probably a little bit of a tinkerer attitude. And wouldn't you want to know how it works? Wouldn't you want to know,
Starting point is 00:11:26 you know, what that, what that little capacitor is doing sitting there on the board, right next to the microcontroller. I mean, it must serve a purpose. It must serve an important purpose. There's not that many parts on this board and yet it's sitting right there
Starting point is 00:11:39 next to the brains of the box. So what's it doing there? I don't know. It's the curiosity of it for me. And I think it's certainly borne out by the fact that it's probably by far the most popular thing I've ever written on Rheingold Heavy by this point. I mean, the difference between the sight stats that I had before and after was like I I told you earlier, is about triple at this point. But you have only gotten through a tiny part of it. You posted part five recently, I think.
Starting point is 00:12:12 I think I'm up to part seven now. I fell behind. Did you not see Admiral Purple Hat? I did not see Admiral Purple Hat. It's been a busy week. Admiral Purple Hat and the explanation of low impedance op-amp inputs? No. I got stuck on, was it op-amps?
Starting point is 00:12:34 And then that slowed me down. Yeah. Which really kind of describes my whole career with electronics. I got stuck on op-amps. Okay. electronics i got stuck on op-ams okay uh but you are still i mean that sounds even admiral purple hat probably wasn't you sent it off to osh park and got purple boards that was no that was that was my attempt to try to explain the whole point of uh of why they had to use an op amp to power the led on pin 13 because pin 13 also works as just a
Starting point is 00:13:08 general gpio it's also the s clock pin for the spy bus on the uh on the the at mega 320 ap and then they went and stuck an led on it right and i and it's interesting because i sat there and went okay so there's an led on there but then i thought thought, well, why is there an LED on there? And why did they take that LED? And why did they put it on that pin? And there's no documentation for any of that. So I think somewhere in there, I say, I'm going to engage the, you know, the, the rank uninformed speculation engine to try to figure this out. Cause I, you know, I'm just guessing at this point as to why they put it there or why they included it on the board. But you know, it's my, my, my rank uninformed speculation is that you got to have an led to blink. If you're going to have this board and you're going to have
Starting point is 00:13:54 people that are starting off with the basics, it's got to be hello world. You got to have the blinking led and you got to make it nice and easy to use. The problem is that if you're not expecting people to plug in a resistor in an LED of their own, in which case they're using that GPIO specifically for that activity, this chip and this LED, that resistor and that LED are going to live on this board in perpetuity. So they've got to be on that board in a way that doesn't affect the pin, you know, 18 months later when they're actually using something that involves SPI. That makes sense, actually. It's actually rather clever. Exactly. It probably saves them a lot of headache by doubling up. But yeah, I can see coming into that going, what the? Yeah, because I expected there to be, you know, pin 13, there's going to
Starting point is 00:14:42 be a resistor, there's going to be an LED, and you're done. And suddenly an op amp appeared out of nowhere. Why would that possibly be there? Well, that was, that was my guess for it. Um, and I, and I want to backtrack just a second here and say that even though I, I, I have a little bit of a problem with the, the way they published the schematic, the board layout itself, itself which i will which i will wind up getting into and i actually wind up doing my own board layout has some really really beautiful elegance in it the they've used some components like resistor networks which i like well i'm going to need you know five 10k resistors i'm going to go buy five 10k resistors and i'm going to have five individual 10k resistors on there and i think their quantity of individual resistors on that board is maybe one
Starting point is 00:15:31 or two but they've got resistor networks which are single package devices that have four resistors built into them scattered all around the board and they use them very very very efficiently so if they needed two 1k resistors in order to accomplish one task they would use two of the resistors in there for that and then well hey we've got this led over here we need a current limiting resistor for so they just took the other two resistors in that package hooked them up in parallel and now you've got a 500k resistor led is done right right? It's very efficient in the way that they actually laid out the board, which was an actual joy to actually sit there. And when I started looking at it and understanding that that's not just a resistor,
Starting point is 00:16:16 but an actual resistor network, I thought, well, that's really cool. But from an education standpoint, that's the sort of thing they hid in the software. I mean, they wouldn't have used a resistor network because it would be harder to explain. In the software, they made everything as simple as possible. Oh, absolutely. Yeah. And it's interesting to me that that wasn't the path they didn't, in the software, it's simple and it's well explained in multiple different ways. And in the hardware, it's efficient and perhaps not as well documented as desired. Well, making simple software isn't a cost per board. That's true. That is absolutely true.
Starting point is 00:16:57 Yeah. And, you know, there's some things on there where again rank speculation but i can i can see past the schematic and i can see past the documentation and i can see into the manufacturing process that went into the actual board itself and i can see the design decisions in there sometimes where they're like you know why would we go with you know discrete resistors when we can spend you know two euro to buy you know 500 of these resistor networks over here and just get it done just as easily and all we got to do is run a couple extra traces over here um so do you think you're going to end up with that that right now you're putting single resistors in your schematic but once you do the price
Starting point is 00:17:45 breakdown and the manufacturing, you'll realize that it's just far more efficient to do resistor networks yourself? I would never, honestly, I would never have thought to do that until I looked at this board. I have resistor networks that are in my parts bin that have been in there since the late nineties that I have never used, not once. There's an electronics shop here in Silicon Valley. It starts with an H. I don't remember the- Yeah, Halted.
Starting point is 00:18:11 Halted, exactly. H-A-C. It depends on which one you say, but they're the same place. Right. And I remember going to Halted when I was first getting into electronics and building my own resistor kit and building my own electrolytic capacitor kit. And I remember going, oh, look, you get all these resistors and they're in a single inline package.
Starting point is 00:18:30 I'm going to get me a handful of these. I'm going to get me a handful of these. And I've never touched them, never once used them. But now you might. But now I might. Yeah, exactly. So yeah. Probably decayed after all this time.
Starting point is 00:18:44 Probably not going to use those actual resistor networks. I honestly, I have schlepped that, that parts bin of parts across all of California, Nevada. And, and, and at this point I,
Starting point is 00:18:59 I should probably throw the capacitors out. You know, you'd open it up and you can see that so that the the ends are starting to bulge out a little bit so uh yeah i won't be using any of those parts in production i can assure my customers right now that all the boards you get will not include any parts that come out of that they're all new old stock they're fine exactly exactly they're rustic speaking of capacitors why are bypass capacitors you know no i mean that's actually pretty much the grammatically way wow that was pretty much what the way i wanted to say it i mean bypass capacitors they're like
Starting point is 00:19:41 salt to me i know i need it to cook with but sometimes i don't really know how much or what kind and i do know enough that if i'm looking at a schematic that from an electrical engineer i will make sure there are some bypass capacitors but that's really all i'm not like so why are bypass capacitors well there Well, they act sort of like, you know, when you're driving around in the country and you drive by a ranch and you see that grill that's in the pavement. So, like the fence comes from here, the fence comes from here, and in the pavement there's this weird grill that's in the ground. And that's designed to keep the cattle from going through. They don't like it when their paws fall, or their hooves fall.
Starting point is 00:20:26 When the cow's paws hit the grate, they don't, they don't, they're incapable of getting across the grate. So you have this fantastic way of keeping all the things you want in one location, but allowing these much larger objects to actually pass through unimpeded because you don't necessarily want them in one location, but allowing these much larger objects to actually pass through unimpeded because you don't necessarily want them in one location or another. These little bypass
Starting point is 00:20:52 capacitors that you see across every circuit board next to every integrated circuit, they act to take any noise that might be on the power rail, or we sometimes refer to it as the power plane on the on the pcb itself and they act as a little cattle guard right there to allow high frequency noise to just disappear right into the ground plane but allow just pure clean five volts or 3.3 volts to go to the power pin of the integrated circuit that you're working with. And the chips that you work with are generating noise just left and right all over the place. Some are much, much better at it. Some are much, much worse at it. But there is a lot of noise on that power rail. And when you get to the point where you want to actually turn on your chip by energizing that power rail,
Starting point is 00:21:46 you want to make sure you've got that little filter sitting there to take any of that high frequency noise and just send it straight down to the ground plane. And that's based on how capacitors actually work because they sit there and they charge and they discharge and they charge and they discharge. If you get this super clean, very clean DC signal coming there, capacitor charges up and then it stops because it's charged and there's nothing else it can do at that point. But when you send the AC signal to it, it charges and then the fluctuation starts to drop and then it starts to discharge and then it charges and then it discharges, right? And then the faster and faster and faster it goes, it matches up with the particular frequency of these 0.1 microfarad capacitors, which is the typical one that you'll see, 0.1 or 0.01 microfarad capacitors.
Starting point is 00:22:32 And that allows these high frequency fluctuations that you get from logic chips to just go straight through that capacitor because they allow AC signals to pass through and go directly to ground and they don't actually get to the power pin of your chip. And you should use salt because it makes everything taste good almost like butter of course but how much and what kind well a pinch somewhere between a pinch and a skosh arduino as a language uh you mentioned the Arduino language tutorial or thing. You brought me wine and this is what you get for bringing me wine. Do you see Arduino as its own language or is it just simplified C++
Starting point is 00:23:18 and maybe we should tell people they're learning something? I got in trouble on Twitter. I know. i got you into twitter battle and i felt sort of bad afterwards you know i i i don't really think of it it's i'm not i'm not writing in arduino i mean that just sounds strange to say for for some reason i'm not writing in arduino i'm writing in whatever derivation of C or C++ that it actually is. But it doesn't seem like it's its own language.
Starting point is 00:23:51 And I think the reason for that is because I didn't have to relearn a whole bunch of syntax in order to figure out how to create a for loop or to create a while loop or something like that. I looked at it and went, oh, yeah, that's familiar. Okay, I can do that. I can like that. Like I looked at it and went, oh yeah, that's familiar. Okay. I can do that. I can do that. But it wasn't like, you know, four ampersand open quote, you know, some strange open print. Exactly. Like I'm going to sit here and I'm going to have to relearn again, how to write a four loop because they've decided that their way either had to be different or we think this is unique or something like that. Like I didn't have to go through that. So through that, for me, it feels like a derivation of some other variation of a language that I probably learned at some point.
Starting point is 00:24:33 So I don't think it's a language in and of itself. Some people like to say it's a language in and of itself because then they are teaching classes and camps and young people and people not in technology, they're teaching them Arduino, which everybody knows is easy. You can look on the internet. It says it's easy. And so they're sneaking in C++ without anybody knowing. And so I can see that because there tell them that you're giving them a simplified C plus plus or C because that's a very marketable skill and it's one they should know they have.
Starting point is 00:25:12 It's like that lady came up and told me all about her robotics project. She was working on with her, her kids and how detailed it was. And she was working in with Arduino and, and I, then she said, well, what do you do?
Starting point is 00:25:23 And I said, embedded systems. And she said, what's that? you do? And I said, embedded systems. And she said, what's that? Well, let's see. Let's have a little talk. So yeah, sorry, I shouldn't have really put you on the spot with the language thing, but I'm sort of taking a poll in the world. No, I think what the Arduino stands for isn't the hardware. It doesn't stand for the language. It stands for the ecosystem of the combination of hardware and software. And it also, for some people, it will be better. And for some people, it will be worse. They will sit there and go, oh, Arduino, that means it's going to be easy.
Starting point is 00:26:12 And that is, you know, like some people really, really hate it when there is some easy entry point into a system that they have worked in all their life. And some people are very welcoming to something that's easy that allows people to grasp something that they've been working on all their life. And some people are very welcoming to something that's easy, that allows people to, to grasp something that they've been working on all their life. And I think that is the more salient point about Arduino as to whether or not it's hardware or software or software language or something like that is that it's the, it's almost a mindset at this point that if you were dealing with something Arduino, people immediately perceive that this is something that they can learn themselves. Even if they're not particularly interested in electronics, it's that 18-year-old boy syndrome of, if I really just applied myself, I could be a ninja, right?
Starting point is 00:26:56 And anybody can look at an Arduino and go, you know, I know if I really, really wanted to, I could learn Arduino. Now I'm going to go work on my car instead. If you phrased that as, I could learn 8-bit processors and C++, that actually does sound a little harder. It does, and it doesn't roll quite as trippingly off the tongue either. So, yeah, running an Arduino camp as opposed to running, you know, 8-bit AVR camp. Embedded systems with C++ camp. Woo-hoo! That sounds thrilling.
Starting point is 00:27:27 For you and all three people that showed up. Although I would like to point out to listeners that this does mean if you've been thinking there's an Arduino language and you have to learn it in order to help people with Arduino, that's not true. You may already know the language. Well, I honestly got tripped up playing around with some Arduino stuff
Starting point is 00:27:46 because I was like, do I have to go look some stuff up? Because this is Arduino language, right? And so I would stop and look stuff up, and I wouldn't even realize, oh, that's just normal syntax for C. I was like, oh, I wonder when I'm going to run into the different syntax. Well, I think it's not that it's different syntax. It's that they put those sort of ease of use layers on top of it that you might sit there and go,
Starting point is 00:28:12 well, how do I actually raise the level of the GPIO? That's valid, yeah. Yeah. Well, you don't. You just digital write, you know? And that winds up doing all the stuff that you would normally find yourself familiar with, right, on the back end.
Starting point is 00:28:23 Well, actually, it seems like most of Arduinoduino programming is typing into google how do i arduino exactly well i you know even even when i'm doing my stuff the the arduino language reference page is open almost all the time because i mean at this point i there's just no way i can remember all of that stuff just you know that easily So let's see. We talked a lot about the Arduino schematics and a little bit about Arduino. Let's see, I have a question in here. Are voltage regulars really important?
Starting point is 00:28:55 So maybe that's not the best of questions. Let's go on to Rheingold Heavy. Where did the name come from? Well, back in the hazy days of my youth, I thought it would be a brilliant idea to, and I can't believe I'm going to be admitting this over the air, to have a tinsmithing booth at a renaissance fair. Everybody thinks that's a great idea at one point. Exactly. It was either that or become a ninja. Or you could be the jouster at renaissance fair. Wait a minute, weren't you something at?
Starting point is 00:29:25 I actually did work at Renaissance Faire for a couple of years. Yes. Oh, God. I was in high school. It was great. When was this? 1995, 94. Was it at the Renaissance Faire up here in Marin County?
Starting point is 00:29:39 No, no. There was one in Southern California. Oh, okay. So you were at Southern Faire. I was at Northern Fair. And that is the extent of Renaissance Fair jargon that I prepare to repeat in my life. Anyway, so I thought it would be this great idea to have a Renaissance Fair booth where I would make chess sets and necklaces and stuff like that out of tin because I'd gotten this tin casting kit from my grandfather a couple of years before that. And my dad's like, well, you're going to have to have a name and I was like well I'm gonna call it Rheingolzsinn it's got this German connotation to it and I got it from my German grandfather and
Starting point is 00:30:13 you know my whole family's German so uh and then my my grandfather here in the United States actually hand carved me this big beautiful sign out of walnut and then 24 karat gold leaf Rheingolzts in across the face of it. I mean, it's awesome sign. I've still got it to this day. Um, and consequently every business venture I've ever had after that has always had Reingold somewhere in the name. So I was going to have this, uh, this adventure travel and training business, uh, five or six years ago before my body decided that adventure travel and training is probably not a wise idea. And that was going to be, you know, Ryan Gold training and travel or something like that. So I wanted to have that in the name somewhere and then heavy just, I wanted it to
Starting point is 00:30:56 sound like Mitsubishi Heavy Industries. So, and that's, that's where the name came from. Um, and then clearly after having seen my last name and then seeing the website domain that I chose, I apparently don't want anyone to ever find me because I can't find any way of communicating what I do in a way that people can spell. So I at least didn't use my last name and my email address. That was a step in the right direction. Have you scooped up the similar websites with incorrect spellings? I have not. I'm a little budget constrained for stuff like that. Just go shopping for every possible permutation of somebody misspelling a German word.
Starting point is 00:31:39 Oh, yeah. I do find it amusing when I get emails at Logical Elegance with my name misspelled, which I did make the aliases because why not? Those were free. Yeah. So, it is your company. Yes, my company. I believe on the About page, there are four different jobs described, and under each one, it's your picture. Yeah. That was pretty amusing actually that was the
Starting point is 00:32:06 intent i think it was either going to be terribly amusing or terribly unprofessional it was going to be one or the other yeah sometimes and then i realized you know what it's my company do what you want exactly so electronics hardware for high quality education products. Do you end up competing with SparkFun and Adafruit, Makershed, Parallax, Evil Mad Scientists? Or, I mean, is there just space out there? There is space out there. I don't know how much in the way of education that Adafruit is necessarily focused on or Evil Mad Scientist Labs. I know SparkFun's got a huge education outreach. that that adafruit is necessarily focused on or uh or evil mad scientist labs uh i know spark funds got a huge education outreach they're both pretty focused yeah um but you know i i guess
Starting point is 00:32:55 that's you know i i certainly don't have the the revenue or the volume of sales to to to compete in in that regard i might be in the same subject matter. But when I first started working on the very first project, I certainly went out and I tried to find things where I was not in conflict with people that were doing similar things. What was the very first product? The very first product was the I2C and SPI Education Shield.
Starting point is 00:33:24 And that was funded with Kickstarter back last December. And so that one, when I saw it, I was like, why do you need this? Arduino has I2C and SPI. Why? But then when I looked at it, you were visualizing how things get clocked out and what the lines were. So it was a very electrical approach to what I see as often a software problem. Was that your intention? somebody that wants to use I squared C or SPI in their project, how the signals get generated, how you can test that the signals are being generated correctly, that they're being transmitted
Starting point is 00:34:14 correctly, and then cover sort of a few of the bells and whistles. Cause I know that, that people aren't necessarily all that familiar with bitwise operations or bit shifting. And if you aren't familiar with doing, you know, AND or OR binary operations, you can wind up sort of jumping through a lot of hoops to try to get your data into a register looking exactly like you want it to look if you don't know that you could just shift that one over four spaces, you know, left or right. But, but the, the origin of it really was that there, there are these things I2C and SPI, uh, and as you read through the documentation, such as it is, you wind up hearing a lot about registers. And then I started wondering,
Starting point is 00:34:58 well, you know, what, what, what is exactly a register? Well, you start reading about registers and then you start reading about flip-flops and then you start reading about digital logic. And I thought, I can't be the only person that wants to know these sorts of things. And it was, again, that sort of scenario of, as I tried to comprehend the breadth of everything that made up the I2C or the SPI bus
Starting point is 00:35:22 from the registers inside the 328P all the way out to what you get inside the actual chip that you're working on, that I wound up with 45 browser tabs open again. There are very few resources that cover a topic completely in depth in a way that is approachable to people that might not necessarily be familiar with it up front. If you want to go get the guide to I2C from Philips, you can try to comprehend what it is that they wrote. Yeah, exactly, right? Or you can read any I2C device.
Starting point is 00:35:58 They always feel this need to restate the entire concept of the I2C bus inside the data sheet. Well, that's because they always change it slightly without you noticing from a little timing. We don't, you know, we don't, we don't want the rise time to be this. We want it to be this because that's the way our chip works. And, you know, you spend a week trying to figure out why this simple thing doesn't work. Um, so I, I, I wanted to be able to provide a resource where you could go, you could start off with, with knowing that I squared C or SPI were a possibility of something that you could do and go all the way through understanding, not just how to execute a spy command or how to execute an
Starting point is 00:36:38 I squared C command, but understand what was happening. Because if you, if you don't do that, then all you're doing is you're following recipes you're not you're not actually making food yourself you're just opening up the packaging and you're adding you know a little bit of a and a little bit of b as the instructions tell you but you don't really understand what's going on and then when your quiche comes out tasting bitter you can't fix it you you it's not that you just can't fix it but considering the attitude most people will most likely have they'll just never make it again right because they don't have the tools to go in and go okay well i just need to go in and you know i need to to add a
Starting point is 00:37:18 little bit of marjoram to this or whatever it is to make the food actually taste good right that you you need to be able to provide them the background. And in some cases, I'm sure people don't necessarily need to sit there and actually use the clock data and button or clock data and latch buttons that I put on there to manually operate a shift register. You don't necessarily need to understand exactly how the clock signal needs to be,
Starting point is 00:37:44 you know, up when the data button is pressed. You don't necessarily need to know that, but at some point you might want to backtrack your way into it because you're starting to struggle with some concept later on. And in order to do that, all you're going to have to do is go to one page. You're not going to have to go and open up 50 different sites in order to get to the information that you're looking for. At least that would be my hope. Cool. And I've heard good things about it. I haven't played with one yet. Honestly, one of the best pieces of feedback I got was a guy that bought the board and he said that he hadn't been that excited to get something in the mail since he bought a Forrest Mims book. And I thought that...
Starting point is 00:38:22 That's quite a compliment. Yeah. I'm like, I don't know that I really live up to that, son, but I really appreciate it. No, that would have come in handy back when I was first learning to use these things, because almost every time, and I have some understanding of those buses now because I use them all the time, 50% of the time I got to pull out a logic analyzer because something ain't right. Well, if you're using I squared C, you really should use an O score.
Starting point is 00:38:46 I seem to recall us having that conversation already. Some sort of debugging device which makes wiggly lines on a screen. Because devices are different. Your electronics might have a problem. You might have a pull-up in the wrong place or not have a pull-up where you need one. Or stuff conflicts. there's addressing problems and if you don't understand how it works you you're kind of adrift and you can't learn how it works unless you do what you know do the debugging stuff that right right you're already in trouble so starting out with something where okay i'm going to flip
Starting point is 00:39:19 these up and down see what happens and getting an intuitive feel. That's awesome, I think. I spent a lot of time in the Arduino subreddit on Reddit, and I try to help out anytime I see anybody asking a question about I2C or SPI. And this one guy was wondering why his SPI chip didn't work, and he's talking about his code, talking about his code, talking about his code. But what he didn't actually say until you sort of got him into the actual design of what it was that he was working on is that he had tied the chip select pin to ground. He's like, I'm not going to have another SPI chip on the board.
Starting point is 00:39:56 It's going to be the only active SPI chip I have. So I just, it's always going to be active. I just, I just always want it to be active. And then didn't know why his data never latched in so that actually works for some chips and for some chips it will work but if you don't read the data sheet how would you know yeah which was another of your posts that i found quite amusing you have one about reading data sheets i have uh uh data sheeps data sheeps really great i have a chapter in my book about reading data sheets because i agree that it is something of a skill it is. You shouldn't read the data sheet from start to
Starting point is 00:40:29 finish if this is the first time you've ever read the data sheet. And that first page, that's for people who only need the summaries. Kind of skip the first page. Walk away until you're ready. But you had a post that was pretty cool. What advice did you offer? I think probably the most brilliant piece of advice I put on there isn't even my piece of advice. It's from Douglas Adams. I just put the big Hitchhiker's Guide to the Galaxy Don't Panic sticker right on the front in big friendly letters, right? Because you look at these things and you get the first page is all manufacturers' logos and highlight specs that might be right, might not be right. And they're all so dense.
Starting point is 00:41:09 They expect you to know what all this means. Absolutely. Absolutely. And it's like MV slash S slash the phi symbol slash sigma. You're like, do I need to know that? Is that the spec that I'm looking for? And then you turn the page and it's logarithmic charts, like six logarithmic charts on there. And it's the temperature coefficient versus the frequency versus the equivalent series of resistance. And at that point you close the data sheet,
Starting point is 00:41:34 you throw it in the trash and you walk away. Right. Which is why I'm like that the number one thing you can do when you're looking at a data sheet is just be calm. Just understand that you're not necessarily supposed to comprehend it the first time in. It's not a document that's written for ease of understanding. And each part isn't for everybody. Absolutely. It's an exercise in, what can I ignore? Yeah, exactly. And then the best part is when you do spend half a day trying to read that thing,
Starting point is 00:42:01 only to discover that this is not the part for you. Oh, that's the killer one. When you're trying to get through six data sheets because you need to know which of these parts works for you except in the end none of these parts worked for you yeah and what what has really surprised me is uh i never talked to manufacturers until i had my own company why would i right um but I have wound up probably correcting, I think three or four data sheets now for manufacturers, which just surprised me. I always thought, you know, well, this is technical documentation, not just little documentation, but this is the technical documentation for your product.
Starting point is 00:42:40 Would you not make sure that your timing diagrams weren't completely garbled before you published them? I spent three weeks at a job once. There was an error in a data sheet and couldn't figure it out. It was a timing issue on a one-wire device. So those are really, really, really very sensitive to timing. But it was right in one data sheet for one package of the part, but wrong in a different package. The device was completely identical except for the package. And it's a one-wire device, so it's got two contacts, right? So it's not like the package really matters. Yeah. And
Starting point is 00:43:15 they screwed it up in one package and not in the other. And it took me three weeks to figure out what was going on and finally went back, oh, sorry. brilliant so with some of your posts you put in quizzes how do you do that it's like i'm reading through and and you you have a question and then i have to mouse over right and it changes colors um well that's just rollover css that i probably purloined off of somebody else's site because I thought it was a good idea. The idea being that you need to have some way of testing yourself when you're starting to learn some theoretical stuff. And that was sort of the best way I could think of to sort of give a quick hit for you to make sure that you truly understand the information that I'm presenting. Because if you don't, if you read the answer and then you're like, I really don't get it,
Starting point is 00:44:11 my hope would be that you'd send me an email going, dude, your documentation doesn't make any sense. Like you gave me this answer. I cannot understand what you're writing in order to get this answer. And that is not a problem of the person that's reading the documentation. It's the problem of the person that wrote it. Very few people are going to do that. Absolutely.
Starting point is 00:44:30 It's actually kind of a privilege when they do. Absolutely. And I have, I guess, everybody that winds up going down this path of manufacturing product, you wind up with these, probably a handful at best, even when you're making thousands of boards, you wind up with a handful of people that are your truly best customer. And I have this one guy in Germany that is the wonder customer.
Starting point is 00:44:57 I mean, he sat there and he sent me typo corrections. And he's like, I just want to let you know, I've been through half the material that you've written so far and I've been doing it step by step by step by step. And here are the, here are the mistakes that I found. And here's a couple of typos that I found. He, uh,
Starting point is 00:45:14 he actually sent me an email when he saw the, the Arduino schematic that I'm using as the, the cover image for the Arduino posts. Somewhere on there, I have written, uh, need to find out load cap size question mark. And he sent me back an email.
Starting point is 00:45:29 He's like 15 Pico farads above and beyond. So, you know, it's, it's, it's people like that, that I know are, are certainly getting use out of the material, but also sitting there and going, well, you know, that they have this opportunity to make sure that they actually can verify the information that they've got.
Starting point is 00:45:52 Because if you're just reading the page and then I do provide all the code. So if you just copy the code and you paste it into the Arduino IDE and you upload it to your board and you get a temperature reading back or you get an ADC reading back or you write something into flash memory and pull it back out again. If you, how do you know that you truly understand what's going on? And the only way to do that is to be posed a question that you aren't immediately presented the answer to. All right. So that's why I put that funky CSS in there. But designing questions is hard, especially when you have to be able to answer it pretty simply. Yeah. And I've been talking with a couple other people about putting more formalized quiz
Starting point is 00:46:36 or maybe an exam together that is completely open, I guess, open web, open book, open page, open content. I don't know how you describe these things nowadays. That is the 50-question test to allow you to see whether or not you truly understand the I2C and SPI information that I've presented. Because I think it's fairly comprehensive. And it is certainly geared towards Arduino. But I mean, timing diagrams are universal regardless of the micro that you're using to control it, right? I mean, the timing is going to be the timing is going to be the timing. I2C is always going to be two wires. SPI is typically going to be three or four wires. It's presented in the Arduino format, but it's the idea of what is the clock signal? What is chip select for? What does
Starting point is 00:47:34 it accomplish? To be able to provide somebody the idea that if you can go through all this material and then you can answer these 50 questions at the end. There's a good chance that you actually understood the material and it's, you don't have to memorize it, right? Because you already know that this is a resource that exists. And I know in two weeks, I'm not going to remember that stuff anymore, right? But at least, you know, you knew the information at the time, and then it'll be able to give you a clue that you can come back later on two weeks a month a year down the line to go and return to that information and get it again when you need it
Starting point is 00:48:11 so relearning is easier than learning absolutely absolutely is your blog critical to your sales uh why do you do the blog well Well, I do the blog because it was, in my mind, it's part of an education system. And it started off as just being about the I2C and SPI education shield. The idea was that I was going to provide the board, and then the board was going to be matched with a full series of tutorials so that you had both of them at the same time to learn the topic that I was covering, rather than having a series of tutorials and now you've got to go out and source the parts yourself and you've got to breadboard a whole bunch of stuff, or alternatively just sending you the board and then you've got to go out and you've
Starting point is 00:49:01 got to read data sheets to figure out how to make an AT30TS750 work. That it was going to be a marriage of the actual hardware with documentation as a full system. is either personally interesting or that I think the sort of people that are looking for things like the nuts and bolts of I2C or SPI or the Arduino as the case is right now, that it's a great way for me to be able to present that information. It has been suggested to me on many occasions that I should be doing videos, um, or I should be doing videos exclusively rather than written content. Um, I like the written comment content. I like the written content. I like written content too.
Starting point is 00:49:52 Um, and I think there are a lot of people out there that like written content because it's a lot easier for them to read written content and search when they're at work. That too. And they're, and, and they're trying to do something that isn't necessarily related to
Starting point is 00:50:06 what they're actually employed to do well and you get a little bit of a memory of where to find things it's right he's like oh i read that it's three quarters of the way back in this particular blog post or or section uh videos i i feel kind of adrift like was it was it in minute three was it when he was talking about the pink unicorn? Episode 27, about something. It's very... We are so going to get a request for transcribing all of the
Starting point is 00:50:31 Embedded FM podcasts from this discussion. And you are once again going to have to write an email that says, no, that is far too hard and we really don't want people to be able to search
Starting point is 00:50:40 for all the stupid things I've said. It's also been suggested that I should do a paid online course. You took Chris Gamble's Contextual Electronics, right? I did. Speaking of paid online courses? Speaking of paid online courses, yes.
Starting point is 00:50:57 And I paid and I took the course. And it is most likely due to the Contextual Electronics class alone that Rheingold Heavy exists today. Because the ability to design a circuit board and be able to produce Gerber files that are usable for manufacturing was a skill that I didn't have in any scope at all. I didn't know how to use an EDA tool. I didn't know how to design a circuit board, how to do layout, how to create footprints or create components or anything like that. That was all way outside the scope of anything that I was able to do. And in the six months that it took me to get through the session 1A and session 1B part of contextual electronics, like, well, this is, it's not easy. It certainly took six months to learn how to do itCad, it was a matter of learning about part selection for manufacturing,
Starting point is 00:52:07 about making design decisions for layout at the beginning when you're putting the schematic together that you're going to pick a component and go, this is absolutely the unicorn of components. I have found the god of components. It solves all my needs for this design. And then you could conceivably design it into your thing. And if you're not thinking ahead of time that this is actually a BGA part, then you go to actually get your board put together. And you're like, what am I supposed to do with this thing? You know, I mean, it's basically a black chiclet that no one can use unless you have an x-ray machine. And, you know, and magic fairies actually sit there and solder the little globules down. I have always suspected BGA and magic fairies went together.
Starting point is 00:52:52 It would not surprise me at all. I'm afraid to take that course because I think it would just make me know enough to be in that layer of... Dangerous. Wow, I know things now. And I can argue with electrical engineers with 20 years of experience. Why did you make this choice? I'm second-guessing this choice because I took a class.
Starting point is 00:53:10 Yeah, exactly, exactly. One of the things that I try to do, not regularly. I've gotten away from trying to do it regularly, but I do try to make sure that people understand that I don't think i'm an expert about any of this stuff um i if i have a superpower it's not engineering at all it would be trying to communicate things of a technical nature to a non-technical person i think i have skill in that area maybe i see connections between different things in a way that that people understand more easily uh but i i i am not an electrical engineer uh never went to school for this stuff so uh you know and and my the sum of all my training for designing circuit boards is really out of out of the the good grace and help that i've gotten from chris over the year. What did you bring me?
Starting point is 00:54:07 I waited as long as I possibly could. I totally wanted that to be the first question, but it was good. Let's see here. I can do this without slamming my face right into the microphone. There we go again with scintillating visual radio.
Starting point is 00:54:31 Don't these look awesome uh so i brought uh bubble display experimentation packs which is a seven segment uh four digit display in the size of a dip chip so it is uh these are cute little things they uh if you think these are actually manufactured by Agilent, they are the number displays that appear on HP calculators. So if you take this and you put a little piece of smoked plastic in front of it, it is an actual HP calculator display. Okay. That would look really good if you get back to doing that Kerbal Space Program heads-up display. Oh, yeah.
Starting point is 00:55:04 Those are very small. I mean, you said that they're small, but it's pretty cool. Yeah. Kerbal Space Program heads up display. Oh, yeah. So I got... Those are very small. I mean, you say that they're small, but it's pretty cool. Yeah. I have these SparkFun 8-segment LED things that I've been playing with. Right, right, right, right. And boy, those are a lot smaller. Yeah, they're teeny tiny.
Starting point is 00:55:19 I bet they're more power efficient, too. Yeah, they're... Well, the SparkFun one's designed to be all things to all people. I think it's got like three different serial interfaces. does it's amazing oh has it got a backpack on it yeah and a chip and a controller and you can got a full fully fledged microcontroller on the back yeah this is uh this is a very very high horsepower uh seven segment display that is for certain wow yeah exactly scintillating visual radio. But these little ones are cute.
Starting point is 00:55:50 I like them. And then I also brought a MSG EQ seven breakout board kit. This is a seven channel graphic equalizer chip. So it, uh, you plug an audio cable into it from a music source and, you strobe the strobe pin with a regular up and down, and it will output on the output pin. These are very, very technical pin descriptions here.
Starting point is 00:56:25 It outputs the level of that particular frequency, the volume in that particular frequency band as a voltage level between zero and five volts. And this is how you build those sort of blinking light displays that, that dance around to music. So it's all muxed onto one pin and you clock it through. Yep, exactly. So this is where we just made fun of the spark phone one for having a big backpack.
Starting point is 00:56:40 This is also basically a backpack sort of thing where you, you have some smarts in here that separate these separate music into multiple yeah frequencies um the uh that is a much much larger board than i normally would have gone for um there's there's actually uh an interesting story behind that board in particular when i was going through it's much much larger but it's still the size of like a trinket. It's not- Oh, yeah, yeah, yeah.
Starting point is 00:57:08 It's not like an Arduino shield. It's still- Yeah, yeah, yeah. Well, it is all- It's through whole parts. It's all through whole parts. And the reason it is all through whole parts is because when I was doing my Kickstarter,
Starting point is 00:57:18 I was putting together all my Kickstarter content and logging into Kickstarter day in, day out, day in, day out. And one day it dawned on me, well, I backed this project months and months and months ago, whatever happened to that? And I went in there and I discovered that this guy had, for whatever reason, just completely abandoned it, totally dropped it. And I looked in the comments and it's, you know, where's my board? Where's my board? Where's my board? Where's my board? And I looked at that and I went, man, I am so angry. I, I, I, I spent money on this and this guy totally abandoned this.
Starting point is 00:57:49 Somebody should do something about that. I should do something about that. So, uh, so I, I went to the, the mixed signal integration website and I downloaded the data sheet and it turns out the guy was putting together this, this MSG EQ seven breakout board kit. And he was just using the, the reference schematic that's in the, that's in the data sheet. And I thought, well, if he did it, I can do it. It's what I'm doing right now. So, uh, so I went on Reddit and I went into the comments there and I said, look, uh, you know, I'm not, I'm not slamming this guy. Everybody, you know, has stuff happen. You know, I'm sure his reasons for not fulfilling his obligations to the people that gave them her is, you know, their hard earned money was, was perfectly valid. Uh, but that said people don't have their product. So what I did was that I, I walked them through the entire manufacturing process,
Starting point is 00:58:39 the design process, and then I sold them boards at cost. So if you were a valid backer of that Kickstarter, you got this board at cost. Then I'm not out any money. They're only out a little bit more money than they had originally been charged and everybody walked away happy. Cool. Yeah.
Starting point is 00:58:58 And then, oh yeah, I have stickers. We can trade stickers. There you go. Excellent. Ooh, fancy R's. Multi-color and two of each. Nice. So that it wasn't just one of you with stickers, and then I brought two of those, too.
Starting point is 00:59:16 You know what this means, listeners? If you email me, Embedded, whatever the email is, I give it the end, because it's not like I remember the end. It's show at Embedded.fm. Or hit the email is. I give it the end because it's not like I remember the show at embedded. Dot. FM or hit the contact link. I will send you some of these stickers and maybe one of mine if I run out of those. So feel free to ask for stickers.
Starting point is 00:59:37 I still have some. When we met, you were at the parts IO booth at solid con. Yeah, that's right. What did you think of Solid? It was my first time going to a trade show that was not information technologies. So there were surprisingly fewer people involved with sales than I'm used to at a trade show.
Starting point is 01:00:00 But I thought it would be far more hardware focused. Given that it's hardware, software, and the internet of things or something. Yeah, and apparently road racing cars from South Africa. Don't forget the biology in gum. And the biology in gum, yeah. It was eclectic. Eclectic, that is a great word.
Starting point is 01:00:25 It was. Well, that comes from all the time of living in Southern California and hearing, morning becomes eclectic on KNPR or KCRW. That's it. I thought there would be more of a hardware focus, but I suppose that the wave of iot has got a very very large software uh the cloud the the entire cloud and the the cloud services and the apis and and all the things that exist around that are now really beginning to get productized and not just productized but also heavily marketed to those in the know uh so there was a there was obviously a very strong focus on that um which kind of surprised me i thought it would be i thought that there would be a larger presence of of i don't know you know texas instruments and and and uh and microchip microchip yeah no but
Starting point is 01:01:29 intel was there but for the most part there weren't a whole lot of other yeah it didn't seem it didn't seem that you know i wasn't expecting like you know like uh you know chemit to be there with with their own personal like capacitor booth right right like you know come upemet to be there with their own personal, like, capacitor booth. Right. Right? Like, you know, come up and see all our line of 0805 capacitors, which would have been fascinating to see, let me tell you. Yep, it's a capacitor. Exactly. Oh, and that one looks exactly like it, but smaller. But I don't know.
Starting point is 01:02:00 It just seemed smaller than I was expecting. And, you know, like I said, not as hardware-y focused as I would have hoped. There was a lot of entrepreneurship. And Solid does do. I mean, that seems to be something O'Reilly's sort of into. Yeah. The Parts.io booth was right over by Startup Alley or Startup Row or whatever they were calling that. And there were some very interesting things going on over there.
Starting point is 01:02:31 And there were some sort of head-scratching things going on over there. There was one guy that came over to Chris and I over at the Parts.io booth and was really excited to talk about what he was doing. And I'm like, oh, that's interesting. I don't entirely understand. Um, but that's cool. You know, I'll come over later and see, you know, when you, when you've got your thing out to talk about whatever it is that you're doing. And he just stood over at his table with his iMac out for two days. What, what, what, what were you doing there?
Starting point is 01:03:08 What, what were you doing? What are you presenting? Why are you there? What is your purpose? It was, it performance art. That is,
Starting point is 01:03:16 that is, that's probably the best observation I've heard yet. Well, there were, there were two parts. One was sort of students who were showing off things. And then if you ask them for more detail, like, can I see the motor you're talking about? They would say, no, we've never built one. That was a little hard to take. I don't know, seal of approval. And those were amusing to talk to because they were all over the map from, we are so glossy we don't even understand our product anymore, to the Bluetooth power or plant monitoring system.
Starting point is 01:03:59 Bluetooth planet monitoring system? Plant. Oh, plant monitoring. Watering. Huh. Which I had seen a lot of because I've just been hearing a lot of these on Kickstarter and other various places. And so I asked, how is your Bluetooth plant monitoring system different?
Starting point is 01:04:15 And he looked at me for a minute and he said, we focus only on cannabis. It was not the answer I expected, but probably one that I appreciated more than he could possibly know. That's honesty and marketing right there. Probably one of the last truly profitable growing industries in agriculture. So what does your project do? Weed? You laugh.
Starting point is 01:04:43 Five years. But you were there for the Parts IO booth booth and you were there with chris gamel and uh what what give us the elevator pitch for parts io because i keep getting confused well parts.io uh provides a far more robust and far more intelligent way of searching for parts than currently exists if you're going to digikey or maPart, they, uh, they really go in and grab a whole bunch of analytical data on the components that you're working with to provide you with a better idea of how that part is probably going to work out for you in a manufacturing process. So there are all the technical specifications, the voltage rating, the maximum electrical characteristics that go with any particular part that you could possibly buy from the simplest resistor up to the most complicated microprocessor.
Starting point is 01:05:35 But they have beyond the data sheet. What do you mean by beyond the data sheet? Well, I mean, the electrical specifications are on the data sheet. Yeah, absolutely. So those are easy to find from data, from all the others. So all that stuff is in the data sheet. And then all of those things have to obviously be searchable. You have to be able to winnow down whether or not you want a 3.3 volt part or a 5 volt part.
Starting point is 01:05:55 But beyond that, they have done a lot of data gathering and a lot of filtering to tell you what the average price level was of that part over the last 12 months. What was the inventory of that level or the inventory level of that part across all the distributors worldwide for that part so that you can get a better sense of how reliable it will be for you to include that part into your design for either the design phase, the prototype phase, uh, the production phase or long-term support of that part into your design for either the design phase, the prototype phase, uh, the production phase or long-term support of that part going forward. And then, uh, they also swizzle all that stuff together. They give you a risk ranking so that you can see at a, you know, at a very
Starting point is 01:06:36 quick glance, whether your part is a low risk part or a medium risk part or a high risk part or a danger run the other direction part. Um, and then. And then they provide you with the ability to link out straight to the distributor of your choice to go and buy that part when you've assembled the selection that you want to work with. And this is part of the supply frame family. Supply frame family, along with CodeFX and FineChips, Hackaday, Hackaday.io. And now it's Indie. And now Tindy. And now Tindy. That's true, yes.
Starting point is 01:07:07 I can't believe we haven't had a party for that yet. I hope they're listening. I've heard rumors, by the way. We'll tell you when those rumors solidify. We'll tell you. The secret Tindy after party? The secret supply frame after party? Yes, exactly.
Starting point is 01:07:27 Let's see. You got a photon at Solid, like all of the attendees. Yes. At least all of the attendees who got there before I started scooping them up. Going by and grabbing handfuls of photons. What did you do with yours? Oh, wait a minute. We should...
Starting point is 01:07:43 Christopher, describe Photon. Yes, please. What? Oh, it's a microcontroller with Wi-Fi and a big cloud backend thing so that you can access it over the internet quite easily. So sort of like Electric Imp, but totally different. Very different API.
Starting point is 01:08:02 The API is more open, kind of webby. I'm not describing this very well. You program it in Arduino. The language. The language. And they provide all the hooks in there to access things remotely on the internet or to declare things
Starting point is 01:08:21 within your program or on your device that should be accessible from the internet. So it's really quick to uh to hook up and say this is an endpoint that i want to be able to interrogate from the internet or something i want to be able to control um yeah that's and if you see chris in person which i know seldom happens you can ask him to show you on his i watch you never you never go to the conferences with me. That's because they're conferences. I know. But if you see him, you can ask to see his iWatch and then he can show you whether or not
Starting point is 01:08:51 our garage door is up or down. Right. Because I turn it into a garage door opener. It's sort of cool. As one does with every IoT device. It was either that or the toaster. Yeah. So did you find it easy to get up and running and started with it i did uh the the getting it hooked up to you know to make it control the garage and uh
Starting point is 01:09:12 you know give me feedback of whether it was open or not was was pretty simple um getting it hooked into an app was difficult but mostly because that's something i didn't know how to do on the Apple side. So it was not Photon-related at all, really. It was, oh God, how do I write an iOS app? But they have APIs for Android and for iOS and generic JavaScript kind of accessors, so you can kind of integrate it into anything you want,
Starting point is 01:09:42 which was cool to me. You got an app running so much faster than I expected. Since sometimes for clients, they want little apps, and I say, you know, I'm not the best person to do an Android or an iOS app. But having seen you do that, it's a little tempting to say, well, if you want something bare bones, we can get it so you can test out your embedded system, but go find somebody else to write the real app. You made me think that that might not be as hard as I thought.
Starting point is 01:10:06 Yeah, and they provided a lot of example code for iOS so that they had very simple things which go through the API and say, okay, this is how you access your endpoints from Objective-C or Swift. But then they also had a very complicated
Starting point is 01:10:22 example which they ship with well, they don't ship with it, but it comes with the dev kit so that you can, out of the box, control it just by plugging it in from an iPhone. And look at all the pins, set them high-low, look at the ADC values and things like that just right out of the box without actually programming it.
Starting point is 01:10:42 It's just got that firmware embedded. They have the source code for that available so you can see a complicated example of of a complete you know very well produced ios app that happens to talk to the photon device so that was that was really handy too i thought the uh the way you onboard the uh the wi-fi information onto that chip was really elegant the soft ap yeah connect yeah so easy to do so easy to do and then after that uh i think i saw that alicia had tweeted that oh chris was able to do like these three great things before you know before breakfast this morning and then i saw your post on element 14 and then i couldn't even get an led to blink i'm sorry and it was so frustrating i'm sorry it was like this is supposed to be easy and and yet it isn't and the more i dug into it as soon as i had to go
Starting point is 01:11:31 outside of of arduino or or whatever we're calling that language uh and into things like java or javascript uh i was completely lost absolutely lost yeah it i don't know now to be fair i eventually did get it to report temperature uh it took a week but i was able to get it to actually talk over i squared c to uh to a temperature sensor so i got that eventually working um but man it, it was way more complicated than I thought it would be. So you're saying I oversold it? No, no. What I'm thinking is that it's the different experience
Starting point is 01:12:15 and focus that you bring to it than I bring to it. I could probably pull up that little interface shield that they've got over the Wi-Fi chip and just dig right into that and just be happy as a clam. But getting into the software side of it, especially when they're like, oh, we have this Node.js API. I'm like, why does everybody keep talking about Node.js? Everybody is talking about Node.js and no one is explaining it to me. It's a way to run JavaScript as an executed language, not in a browser. That's it.
Starting point is 01:12:49 And it has a huge framework of libraries and things you can incorporate to write more complicated programs. And it does involve the command line. Yes. Yeah, that's where I start to fall down. Somehow I went five, ten years of my professional career doing exclusively command line scripting and batch files and all that stuff. And then I turned my back on it at some day in the hazy past, and I never went back to it. And all my skill at the command line has disappeared from my body. And now I find it the completely most daunting thing in the world to sit there and open
Starting point is 01:13:21 up a command prompt and do anything other than, you change directory yeah well on the mac it was quite easy to do node because the mac either comes with node or it's one command and you do it really yeah oh wow so from the windows side or the linux well linux should be quite similar to mac but it was it was a few steps to get to that point um so there are different starting points that might be easier or less easy depending on where you're coming from. But yeah, Node stuff people are very into things like that now. I think there's a lot of people coming from
Starting point is 01:13:53 the web development side of things like oh, now I can write programs that run not in a browser. That's why it's exciting to those folks. Well, I got I saw some post on Reddit for a guy that had managed to get his Arduino to talk over the
Starting point is 01:14:09 serial port to and I'm way talking out of various orifices now. It was talking to a web page that had Node.js in it. Does that make sense? The server could run node.js.
Starting point is 01:14:26 Then there was no server involved, so it was probably just a page, so maybe it was just JavaScript there. And I thought, well, I never would have thought to try to get... Yeah, there must have been Node because Node was doing the interpretation from the serial into a function
Starting point is 01:14:42 that could be called from JavaScript script in a web page. Maybe. I'm really grasping at straws here to try to... Both of them, their hands are waiting for you. I've become Italian, yes. Some interconnection of various web technologies, which we aren't going to get into the details of, because it's far too complicated.
Starting point is 01:15:00 There's an exercise left to listen to. Yes, yes. So I would love to do an entire series like i did for i squared c and spi on iot technologies uh but man do i need a lot more experience and electric amp is another similar thing right but it's completely different yeah and i think they have some parts of that system which are far easier and some parts that are a little bit more daunting because you do have to learn a new language.
Starting point is 01:15:28 Squirrel. A newish language. I think it's quite similar to JavaScript. I can't remember. It was reasonably similar to C. It wasn't that bad. Now they're going to yell at me.
Starting point is 01:15:45 No, it wasn't that bad. Now they're going to yell at me. No, it wasn't that bad. It was about the same as Python as learning difficulty went. A lot of things looked very similar, and that was nice, until you realized that they looked similar, but they didn't do the same thing. With Electric Amp, you can run server-side things.
Starting point is 01:16:01 They provide that part of the cloud API. So they have agents that run on the server that do more complicated code than perhaps your embedded device can do. So that's a difference that's pretty cool if you have an application that you can take advantage of that. Right.
Starting point is 01:16:16 So that's like the cloud service that they have at Spark? Yeah. Right. I don't know. There's a lot to talk about there. Yeah. It was interesting to see right i don't know i thought there's a lot to talk about there yeah yeah you know it uh
Starting point is 01:16:31 it was interesting to see the the amount of services that they had but i really stumbled at the documentation like this was documentation that was clearly written for people that understood how to read this sort of documentation they've completely revamped it as of like a week or two ago really so you might want to look again. Definitely. Because it was not, and it was hard to, like I wound up having to like go into the IDE and then back out of the IDE and go into the example code
Starting point is 01:16:52 and then back out of the example code into the API. Like who came up with this user flow? This is painful to do. So it'd be nice to see it now, that's for sure. Cool. Christopher, do you have uh any last questions
Starting point is 01:17:07 i'm thinking we probably should wrap this up soon no no we're probably yeah there's yeah yeah i can hear the dog alarm going off do you have any final thoughts dan uh i do uh i just like to encourage uh the listeners to not be intimidated when they see a schematic. The deal that I made with myself back when I really started getting into this is that if I chose to examine a schematic and try to understand it, that I would not let a single component on there go unexplained to me. And that, that becomes tricky because you wind up running into things that you just don't understand on the Arduino schematic that I'm working on right now. In the USB section, there is a whole bunch of ESD protection that I have never run across before,
Starting point is 01:17:56 but I will dig into it and I will somehow figure it out and I will understand it. And I will move on from it and I will explain it to the rest of the world. I will condense the 45 browser tabs it will take to explain it to me into one conveniently located page, hopefully with more graphics written in MS Paint. But don't be intimidated by these things. Make sure that you take the time to sit there and try to understand what's going on. And as a tip, if there is a part of a schematic you don't understand, take a screen capture of that and put it into Google Image Search or use TinEye to try to find a matching example
Starting point is 01:18:35 of that schematic in other places. Oh, wow. This has turned out to be an amazing resource. Yeah. Because schematics, when you look at schematics they are uh they are very uh there are patterns to them like a voltage divider tends to look like a voltage divider regardless of of who's making the voltage divider um so you wind up you know seeing these different things you'll see a resistor right next to an op amp and maybe you don't quite understand what that resistor is for. And you can't figure out
Starting point is 01:19:08 what words to put into Google to get it to tell you what these things are doing. So just take a quick screen capture, cut that section out of it, save it as a PNG and upload it into 10. I and see if there are other examples of that there might just be a reference diagram of that very part of the circuit that you're looking at that you can use to try to help explain that to you. Cool. What is this website you're saying? TinEye, T-I-N-E-Y-E. It's a reverse graphics search engine. So you can upload a graphic to it, and it will go find graphics that match the graphic that you have uploaded. That's pretty neat. It's very cool.
Starting point is 01:19:42 My guest has been Daniel Hinch of Rheingold Heavy. You can check out his website at reingoldheavy.com. That is with a Rheingold, R-H as in rhino, E-I-N as in Einstein, and gold as in giant sax of. Rheingold Heavy. It will also be in the show notes. And if you Google it incorrectly, you might still find it. Or you can email us about that or something else, stickers maybe, show at embedded.fm or hit the contact link on embedded.fm. If you are still listening, wondering about the house search, well, we in fact sold our house and bought one closer to the beach. We are excited and terrified and need to move sometime in October, so mostly nauseous. For you,
Starting point is 01:20:26 I suspect that means only that we will have a few more Skype guests. There are no particular changes planned for the show. So please keep listening. We do appreciate it. Please keep letting others know through reviews or just a, hey, I heard this podcast, people you know. And finally, thank you to Christopher White for co-hosting, producing, and freaking out about different things as we were buying houses. My final thought comes from Bill Watterson, the authoritative Calvin and Hobbes. I go to school, but I never learn what I want to know.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.