#155 – An Interview with Jeff Rowberg - Mini Module Master

Download episode · 47 MB
Also on Apple · Spotify · YouTube · RSS
Show Notes
Welcome, Jeff Rowberg of Bluegiga Technologies and the KeyGlove Project!
- BlueGiga has a proprietary BT stack called the iWRAP stack
- Bluetooth itself has a bunch of different profiles. Some of the ones discussed were:
- HID - Human Input Device
- SPP - Serial Port Profile
- Sparkfun now carries some that are single profile devices, such the BlueSMiRF Gold
- These are based off modules by Roving Networks
- There are 2 halves of a BT stack
- Controller (the radio and HW)
- Host (network interface)
- Most communication wi th the modules is through a UART connection.
- The BlueGiga modules use the CSR chips BlueCore line. This is an XAP processor and the low level utilizes the BlueLab dev environment.
- Chris asked about the TI family, such as the CC2541 by Texas Instruments. This is actually integrated on other BlueGiga modules.
- Jeff has been selling breakout boards through InMojo, a marketplace site for OSHW. It preceded but is similar to Tindie.
- Chris points out that Jeff made the unusual transition from software to hardware. Jeff blames the Arduino and the face that his dad was an EE.
- Growing up, Jeff worked on TRS80 and Graymark kits with his father and brother.
- The KeyGlove project was not directly influenced by the Nintendo Power Glove. This was prominently "featured" in the 1989 film, The Wizard. http://www.youtube.com/watch?v=AacoxHFYvZw
- Jeff is interested in wearable computing (obviously) and is in the Google Glass Explorer program, same as Chris.
- It was at the Google I/O "Voiding your warranty" session where he decided to start hacking at getting the KeyGlove to interface to Glass. http://www.youtube.com/watch?v=OPethpwuYEk
- Windows 8 has an odd way of adding unsigned drivers, which the Android environment is right now for Glass.
- The KeyGlove kickstarter is still working on delivering prototype units, nearly 2 years later.
- Keyglove fabric interface is tough. Chris suggests Jeff talked to Hoeken about his keyboard pants. Jeff has talked to Lynne Bruning in the past about conductive fabrics.
- Aside from working on KeyGlove and at BlueGiga, Jeff has also been working on a standardized library for interfacing to I2C parts with not-so-transparent registers. This is all documented at i2cdevlib.com.
- The device that started it all was the Invensense MPU6050.
- It has been co-developed with Noah Zerkin, who is a wearable computing enthusiast. He also was the one to take the picture of Sergey Brin wearing Glass on the NYC subway.
- Debugging and reverse engineering the I2C bus was assisted by the Saelae logic analyzer by watching a dev board boot and monitoring packets between the dev board micro and the chip.
- The database driven register map is a great way of visualizing register sets, without using Excel.
- All code for this open source project can also be found on GitHub. People are also working on porting to other devices like the MSP430.
- When asked about why Google doesn't already have Bluetooth Low Energy support, Jeff guessed it was because they were counting on the alternate standard, ANT+which never took off.
Transcript
Jeff Roberg: This is The Amp Hour Podcast, recorded July 22nd, 2013. Episode 155, with guest Jeff Roberg, Mini Module Master.
Dave Jones: Welcome to the Amp Hour. I'm Dave Jones from the EEV blog.
Chris Gammell: And I'm Chris Gammell of Chris Gammell's Analog Life. And I am Jeff Roberg of the KeyGlove Project and Blue Giga Technologies. Hey, Jeff. Thanks for joining us. You're welcome. I'm really glad to be here.
Dave Jones: And your last name's not Kaiser.
Chris Gammell: No, no, Roberg. Different Jeff. Different Jeff. I'm not that famous yet. He's dead to us. We don't know who that guy is anymore.
Jeff Roberg: We got a new Jeff. And one who knows Bluetooth. This is cool. I'm excited for this. I mean, we were, you know, once, I think we've talked about your project, the KeyGlove thing, a couple times in the past couple weeks. But Bluetooth is obviously very hot right now. And a lot of, we see it integrating lots of Kickstarter projects, lots of stuff like that. But, so it's very exciting to have you on here and be able to pick your brain about Bluetooth.
Chris Gammell: I'll do my best. I should preface this session here by saying, I tend to be quite often a conduit for some of the more really low-level hardware design RF kinds of questions. So, like, very frequently for the more complex questions that I get from customers, because that's, my role at Blue Giga is a field application engineer. And so I get to interface a lot with the customers and back to the guys in the research and development department who do most of the legwork designing stuff and writing firmware. So I tend to pick up a lot of info as I give support, which is really awesome because I enjoy learning things a lot. But there are quite a few questions on concerning some of the lower level aspects of RF design and stuff like that, where I may not actually know what I'm talking about yet. Oh, that's cool. Actually, that's us too. We have no idea about RF.
Jeff Roberg: Fake it till you make it. There you go. Yeah. That's it. You can put, like, a little dangly thing, and that makes squiggly bits, and then it talks to other squiggly bits. That's how RF works to me. I mean, it's close enough.
Dave Jones: So tell us about being an FAE, field applications engineer, because we like FAEs. It's the salespeople we don't like here on the Amp Hour.
Jeff Roberg: And they're okay. I mean, they're not bad. Come on. They're okay. Come on. My dad's a sales guy. I've got to say I like salespeople. Right. Yeah.
Dave Jones: But FAE, so sort of tell us about being an FAE. At what levels do you get involved with customer projects and stuff like that? Is it superficial, or are you embedded in their lab helping them out, you know, sucking up the solder fumes? How did that happen?
Chris Gammell: Well, with Blue Giga customers, I've never got so deep that I was sucking up the solder fumes. Almost. Almost there with one customer. But it really depends on the customer, to be honest, because we try to support almost everybody. And, of course, there's some amount of triaging that has to go on, prioritizing to say, well, you know, we'd love to support you as well, but we've only got limited resources, so we can't support every hobbyist. But actually, we do get to most of the hobbyists as well, in addition to our bigger customers. And that's one of the things that drew me to Blue Giga as a customer way back before I even had any kind of idea that I might be working here. Because I was just some random dude working on this little personal project, which, you know, the key glove, and I wanted to make it wireless. And so I looked around and I wanted to use Bluetooth because it seemed like the obvious choice given what you can do with different kinds of input control and things like that. The HID profile in particular, it is a perfect launch point for very wide compatibility with a lot of devices that are out there. And ultimately landed on one of Blue Giga's modules, so the WT12, it's their kind of flagship class 2 standard little Bluetooth module. And I had a question. I'm trying to remember what question I even had. There's no way I'm going to pull that up without searching through my email. But anyway, I had a question and just sent it in because as part of trying to get access to the documentation, you have to create a free account on their, they call it the Tech Forum website. And then you have access to all the firmware and documentation and things like that. Boo. Yeah. Boo.
Dave Jones: We are officially here at the Amp Hour. We are not a fan of sign-ups. Yeah. But I mean, we're anti-sign-ups.
Chris Gammell: But yeah. I can definitely empathize. And, you know, for the resources that I have under my control personally, my own projects, I tend to stay away from sign-ups. Seeing how the business is run internally, I can understand why they do that. Because it's a way that all of the, you know, the whole business essentially, rather than just the support team or just the sales team or any, you know, those individuals or groups of individuals, rather than just giving those people access, they can sort of start this thread of what you do with the products. And it isn't that they're trying to control it. It's that they're trying to keep track of it so that they can allocate the right resources to you to know, oh, well, this is, you know, this person is probably going to end up building 10 things or one thing. And this person is probably going to end up building 100,000 things. And so it's just, you know, realistic kind of prioritizing. So they don't lock it away. They give everybody access to all the same stuff. It just requires a free account. So, but I definitely empathize with not wanting to do sign-ups. Yeah.
Dave Jones: And of course, it always comes down to volume, right? Those people who are going to order a million modules, they get top priority on the support side of things.
Jeff Roberg: Well, it helps too, but I mean, like you mentioned, if they support hobbyists, then, you know, that could always turn into something huge, right? I mean, like a Kickstarter program or something, right?
Chris Gammell: Exactly. That's the approach that they try very hard to take. It's that, you know, they don't actively shun people who are small, but they do need to prioritize realistically because there are actually fewer people who work at the company than you would expect given the volume that we do. Oh, yeah. So they have to do some very creative kinds of resource allocation. But as I was saying back, you know, when I first signed up, I was looking for information, downloaded the documentation because I like to download stuff and read data sheets. You know, I'll even stay. Are you a paper guy or no? I actually cannot stand paper. I will go paperless any way I can. New school nerd. Yeah.
Dave Jones: Young whippersnapper.
Chris Gammell: I like paper still, but okay. That's refreshing. That's good. So I downloaded like every data sheet I could find even for the 90% of their product line, which at the time I had no interest in anyway, just because that's what I felt like doing. So I ended up with this question. Yeah, exactly. So I had a question, which they proactively, one of the sales guys at the time just said, you know, so we saw your sign up and just wanted to reach out and say, if you have any questions, email me directly. And you can kind of tell, you know, not knocking their process, especially something I won't do because I work there now. You can tell that's somewhat of a form letter. And I know from being internal, it isn't automated, but it is a form letter. So there is still some kind of personal aspect. They actually see what happens to say, oh, here's this guy. And they know, or at least they can make an educated guess, this is not somebody who works at Intel or Google or something. This is some guy whose last name is his domain. You know, something like that. So they can tell even very early on, or they can make, again, an educated guess to say this is likely to be a big, big customer, or we have no idea. He could be just a student. But even so, they send out the, you know, let us know if you have any questions, email to pretty much everybody. And I did have a question. And so I sent them in, you know, just, again, I forget what it was, but they responded in an unbelievably fast amount of time. And that wasn't something that I expected because I, you know, I figured, well, here's this great big Bluetooth module company. They probably deal with, you know, 10 million, I don't even know, companies, customers, whatever. They, you know, I'm not going to rank very highly on their priority list for, oh, we have to respond to this student because he asked a really easy question and didn't read the documentation. But they did. And not only did they answer the question that I had, but it had to do with a feature that wasn't yet implemented, but they were planning to implement it. So they said, well, you can't do this. And now I'm remembering now as I'm explaining the story, it had to do with a scroll wheel, vertical scroll wheel control using the human input device profile, which at the time in their firmware was not supported. And it was something I wanted to be able to do with the Keyglove. And so they told me straight up, well, you actually can't do this yet, but we're working on having a feature where you can go or expanding the hid descriptor really is what they were doing so that you'll have that access to sending vertical scroll data. And we'll let you know when it's when it's available. And they actually did let me know. It was like months down the road. They proactively said, oh, hey, by the way, this firmware and it wasn't even that it was like a public release. It was, oh, this guy asked about it. We've got a beta release. We'll send to you if you want it and you can try it and see how it goes. And so they circled around all the way without me even bugging them at all about it. And they said, well, here's this to, you know, try it. See if it works for you. If it doesn't, let us know and we'll fix bugs you find. And they were very, very engaging. And, you know, and I didn't know how big the company was at the time, but that didn't really bother me. I just knew they were very proactive and friendly to even the little guy. You know, I had given them no reason at all to prioritize me above of their other customers. And yet they still took really good care of me. So I know having gone to Finland now three times for various meetings, which is kind of cool in itself. Except in the middle of summer when it never gets dark. That's weird. Yeah. I've always wanted to see that. Yeah. It does almost get dark at about two or three in the morning. It's, you know, dusk. It's below the horizon. Yeah. But anyway, so everyone in the company pretty much has that same customer ethic. And I mean, they don't all work directly with customers. There's the R&D team. But even the R&D guys occasionally end up working with customers to do, you know, some certain kinds of very intense, specific kinds of bug fixes where it just makes sense to get them directly involved. And everyone in the company has this very customer oriented focus. And it makes it a very good place to work. You know, it does occasionally get really busy. The demands on everybody are fairly high at times. But it's a good atmosphere to be in because everyone is supportive. You know, not everyone obviously does the same thing, but they all try to do what they are there to do as well as they can for the end customer. And it really shows in not only for the employees. It's a great place to work. But we constantly get comments from different customers who say, you know, this company has the most awesome support we've ever seen. And I know, you know, to be fair, not everyone thinks that, but we do get a lot of comments like that. So I've been now an FAE there since the beginning of last October. So what, we're at July 10 or so months. And it's been a really good experience for me. Aside from the fact that there have been some incredibly busy times, that's, you know, one of the better problems you can have.
Jeff Roberg: I'm wondering about the customer. I mean, I don't want to ask too much about customers, you know, like that's obviously proprietary information and stuff. But just kind of, you know, this is a module. So BlueGiga sells Bluetooth modules. And so are we talking like little, are you usually working with like little shops that are integrating this stuff? Or is it like even just really big industrial type stuff that just wants to just throw a Bluetooth into it? Like where, where, where does the Blue, where do the BlueGiga modules really fit in well? And is that, is that why, is that why certain times are more busy than others?
Chris Gammell: That, again, it depends on the customer. And we do service customers of all different sizes. Typically, when you start to get into the volumes that are, you know, up, up around the hundred thousand or so per year, then it, well, again, also depending on the customer. But around there, it's, it starts to become less, less efficient to use a module company like us.
Dave Jones: I was going to say, I wouldn't have even guessed a hundred thousand. I would have said, geez, you wouldn't have too many customers, you know, pushing the hundred thousand limit on, on a pre-existing module. That's sort of when it becomes much more beneficial to roll your own kind of thing or integrate it into your own board.
Chris Gammell: Exactly. And to be honest, I don't know how many customers we have that are, that are that size. But that is, that is true. You know, once you get up to a certain volume level, it makes sense to do your own design, go through all the certifications because you can save money that way.
Jeff Roberg: Okay. So you have your own module, but what about the actual software then? If people wanted to take what they've designed and implement it, could they, you know, pull in your, your stuff or what?
Chris Gammell: We've got a couple of our own totally proprietary stacks that do really well. And that incidentally was, was another reason that brought me as a customer to BlueGiga because they have this IRAP stack that runs on their classic Bluetooth modules. That is a joy to use. And it's so, so flexible compared to. Okay. Yeah. I was going to say, why is that?
Jeff Roberg: I really have never used a Bluetooth stack before. Could you explain, explain that more?
Chris Gammell: Yeah. Um, in, in Bluetooth, there are a number of different profiles that you can use. There's like HID for human input device. There's a number of audio profiles. HTTP is high quality streaming. I think it's advanced audio distribution profile. There's a hands-free profile, which is what you see in, in, uh, like phone headsets. Um, uh, the, the one that, that a lot of hobbyists end up using is serial port profile, SPP. That's a really common one. And it's a great, it's very simple for doing cable replacement, for doing any kind of just wireless arbitrary data transfer. It works well. And if you, if.
Dave Jones: Yeah. Your, your application, Windows doesn't know the difference, whether or not you've got a serial cable plugged in or whether or not you've got two Bluetooth modules. Exactly.
Chris Gammell: It shows up on the host devices or like, like Windows or Linux or Mac. Shows up. There's a comp port.
Dave Jones: Yeah. Exactly. Com one. Awesome. You know, every way, every, cause every hobbyist understands and feels comfortable with that. That's the, you know.
Chris Gammell: And there are, there are a lot of modules out there, um, that implement the serial port profile. Um, the, the one that SparkFun sells, uh, uh, blue Smurf or blue, uh, Bluetooth. I forget all the different models that they have. They're class one and class two. They've got a silver and a gold version. Um, those are made by, uh, roving networks. So they're RN42 and RN41, I think is the, the class one gold module. And those, uh, those implement a single profile, uh, SPP serial port. And, uh, to be honest, I actually have one in a drawer and I think it works fine. I'd never had too much of an occasion to use it just cause I had access to, to all the other blue, blue giga modules. Um, but I think as a, as a serial port profile module, that's probably a perfectly good product and I have no reason to knock it. Um, however, uh, if you want to do more than that, and this, I think this is a fair comparison. If you want to do more than that, suddenly it becomes a lot more complicated because they only implement one profile on that module. Um, I, I think, uh, I believe they have a version that implements the Apple's proprietary, uh, IAP profile. Um, and that might run at the same time as the serial port profile, but they, they have like different hardware versions or they, they handle themselves all the firmware loading and versions and things like that. You have to buy the human input device version of their module. If you want to do a human input device. And recently or relatively recently, Spark fund started selling that, uh, RN 42 HID. Um, and it's, it's the version of the module that has hid support on it. Um, and that's great. And it probably works well. I haven't used the hid version, but with blue gigas modules, their, their, um, I wrap stack, uh, which runs right on the module. Um, it implements like every profile at the same time. And you just have to select which one you want. It's dynamically, uh, excuse me, dynamically configurable with very simple AT style commands. And so there's, there's a lot of power that gets bundled into one single module. And that's, that honestly is where blue giga has their added value. Um, they, they make it very easy to do a lot of different things, which, you know, if you need that flexibility, you want to do, uh, uh, you know, a hands-free device that also passes arbitrary data back and forth over the serial port profile at the same time. Really, really easy to do.
Dave Jones: Oh, right. So you can run all the different protocols all at once with the one module. Um, so you can have a serial port streaming data. You can have the audio streaming data all separately. Right.
Chris Gammell: All with the same module. Awesome. And they make it a piece of cake to do firmware changes or upgrades, or, you know, they give you the latest firmware whenever they publish it. And there's no added cost in there. It's, it's very friendly towards, uh, that kind of application. And, and, you know, if you don't want to rely on the manufacturer to, uh, push out updates and, you know, then you have to go buy a new part or, or something like that. And I should preface that or qualify that by saying, I don't know exactly how, for example, roving networks does their, their firmware updates, uh, because I never had an occasion to get too far into that. And they may have a streamlined process. Um, uh, but I'm, because I got familiar with blue gigas approach and got comfortable with their, their IRAP firmware, uh, the, the process for working with that and upgrading and configuring. I was just very impressed with everything that you could do with this one, one module all at the same time. So that's where their, their stack comes into play. And, um, I'll, I'll go into a little bit of detail on stack. There's two, two halves of a Bluetooth stack that you typically run into whenever you're working with a Bluetooth hardware module or software, say on windows. There's, there's, there's the radio itself, which is what they call the, the, uh, controller portion of the stack. And that, that's the physical hardware. And it goes up to what they call the host controller interface. Um, I'm going to mix up my layers here. It's different. It's different from the network layer. I haven't studied it enough to be able to rattle it off off the top of my head. But anyway, there's the controller portion, which is basically the hardware. And then there's the host portion, which if you have your standard USB Bluetooth dongle, um, that's the controller and that's it. And you plug it in and then you have to install Bluetooth drivers. Or, you know, if you have a modern OS, they typically come with their own Bluetooth stack. Uh, and the, the host portion of that runs on the PC, uh, or, you know, Mac, Linux, whatever. Um, and there are a lot of different stacks, uh, uh, host stacks, I should say. There's Broadcom. There's, uh, Blue Soleil. There's Microsoft has their own. There's the Blue Z that runs on Linux. It's open source. There are quite a few options. Um, but for a very low power kind of application where you, you have, just, you know, an AVR microcontroller or something that's a tiny, tiny embedded system that doesn't have a lot of power. You can't really run the host portion of that stack on your microcontroller because you've only got, you know, 32K of flash and 2K of RAM or something like that. So in those kinds of, of, uh, applications, it becomes very valuable to have something where, um, the whole stack is taken care of for you and you don't have to worry about porting something over to AVR or MSP430 or whatever. You can just communicate directly over UART, for example.
Dave Jones: You just feed the data in and out. Right.
Chris Gammell: And you have these.
Dave Jones: And you don't have to worry about it.
Chris Gammell: Yeah, simple control commands to enable or disable profiles or, you know, call remote device or put it, make it discoverable, do that kind of thing. Uh, it's, it's very straightforward. And so you have this firmware, uh, which in Blue Gigas cases, they call it IRAP. Um, and I can't even tell you what that stands for. Uh, but it is an acronym of some kind.
Dave Jones: And I just whacked all I in front because, well, that's cool.
Jeff Roberg: I, I actually don't know. That could be the case. So does that mean that there's a, uh, so when the stack's running in there, does that mean that, that, that, uh, it's actually like a ARM based processor or something like that and it's running in RTOS or real-time operating system and that's running the stack? Or is the stack like a, its own thing?
Chris Gammell: With, with Blue Gigas modules, they use, uh, CSR's chips for many of them. Not all of them, but for, for many of them in the, the WT12, the flagship class two module that I use. Uh, it's the Blue Core line. Um, and it's actually, uh, uh, what is it? It's an XAP processor. And I, I'm, I'm not really familiar with that architecture. It does require a proprietary development environment. They, they sell, it's provided by, uh, CSR. It's called Blue Lab. Um, and I don't see that part of the development much at all. Uh, the, the firmware developers and R&D take care of that. Um, but it is, it's, it's kind of, it's kind of like a, a specifically designed platform. And I think it's, it's built to do well with this sort of application, but otherwise it's not really that much different from your, your everyday microcontroller. You know, it, it isn't like, I don't think it's as complicated as, as your typical ARM. Okay.
Jeff Roberg: So it just has like a, a specific, uh, register set or something like that, that is optimized for power. Right.
Chris Gammell: And it's, it's got, and I don't know if this is the XAP, uh, platform itself or if that's a separate thing, but the Blue Core, uh, product line from CSR has the actual Bluetooth radio built into the chip. So that's where the optimization comes in. Right. Right.
Jeff Roberg: It's right next to it basically. And it just, yeah. Yeah. Yep. That's cool. That's cool. System. Munch it. Yeah. It's, uh, I, I just wonder because I, I've seen, well, have I seen other people do this before? I mean, I guess I've seen like the CC2541 stuff, the TI chip set. And I think that's like an 8051 core or something. I don't remember the core that's actually in there. It is. Yeah. 8051. We use that in one of our modules. Okay. Okay. Yeah. And I mean, like, I think, I think there was an RTOS in there. They give, and they either license you the, the stack or they sell you the stack or give you a stack either. I'm not sure. But, uh, I just was wondering if it's like a super loop or it has to be like an actual, uh, you know, deterministic RTOS or something like that. To be honest, I, I am not sure about the answer to that one. Okay. That's all right. I'm kind of talking on my butt anyways. I mean, I'm throwing around words I've heard before. I know what an RTOS is. That's what we do here on the AML. Yeah. Yeah. Uh, but it's just, I mean, it's just interesting to hear about how that stuff is working. My bluff has been called.
Dave Jones: I've noticed on your front page here, all of your, cause I used to work for them, um, all of your board renders, the 3D renderings of your board seem to be done in Altium. Um, are you involved at the, at the board level actually doing development boards or anything like that? Or you're just on the road kind of FAE?
Chris Gammell: I'm not involved in the, in the development, uh, most of the, well, I mean, okay. I don't directly do any of the development. Um, occasionally I will interface between customers and the guys who actually do the hardware design, um, to say, well, you know, this kind of feature would be nice or this sort of access will be nice. Um, most of the time, by the time I start supporting a product or, or get involved with the product on a hardware level, it's already been designed and they've already got engineering samples. And, you know, not that they're, they're keeping our input out as FAEs. It isn't that at all. Uh, but just the way it ends up happening, I, I don't touch the hardware design much. I do, um, my own hardware design separately from Blue Giga unofficially. Uh, and that incidentally was one of the main reasons that, that I ended up working there.
Dave Jones: Did they poach you? Because they went, oh, we like this key glove thing you're working on. Are you interested in a job?
Chris Gammell: Is that how it worked? Tell us the story. Kind of. Um, it, it actually wasn't so much, at least as far as I know, it wasn't so much the key glove itself. Um, there, there are some breakout boards that I ended up designing as a result of what I needed for, for the key glove. Uh, and again, I started with the WT12, their, their flagship class two module, because that's what I needed. And then I'm like, Hey, there are these other modules out here and Hey, people actually want to give me money because I can give them Bluetooth breakout boards. Yeah. And so I designed a couple other ones that were honestly really, really simple. Um, which, uh, you know, at the time I was just learning Eagle, uh, and stuff like that to do some simple design. And it was, it was very enjoyable for me, but I hardly knew what I was doing. And I, I still am not too far beyond that stage, but I, I am a little bit more well-versed in, in various kinds of tricks that you would do. And, you know, being familiar with the modules, certain design mistakes that I made early on. So I actually just went through a round of revisions for some of the breakout boards that I sell, but I don't know if you guys are familiar with the, uh, in Mojo website. Oh, I've got it open. Okay. It's, it's kind of like Etsy for, for.
Dave Jones: There's a low energy breakout one, which you're, you've got. Yes. And it's. Yeah.
Chris Gammell: In Mojo. I N M O J O. And it's, it's actually a really great platform. Um, and they, they originally reached out to me, I think as a result, they saw the key glove in Mojo guys, and they were just trying to get their, their platform launched. Um, and it is very similar. I mean, they don't say this exactly, but it's, it's kind of like Etsy for, for, uh, electronics. Yeah.
Dave Jones: It's. You can, you can sell your modules on there.
Jeff Roberg: If you don't. Yeah. Or Tindy is another one too. Tindy seems like it's another similar. Yeah. Yeah.
Chris Gammell: Tindy, Tindy is, I think a little bit newer. Um, and it's, I've, I've been to the site a couple of times and it was appealing, but I didn't have any, any really compelling reason to switch from in Mojo. Um, and I've actually worked separately on some, uh, PCB assembly, uh, with the guys who do, or who run in Mojo and they've been really, really helpful. So, um, I'm, I'm happy to be there. They've, they've been great to work with, but so I, I started selling these breakout boards on in Mojo and they were all based around blue gigas parts. And so I, I ended up, uh, actually doing a little bit of personal support for these things because, you know, when you build something and sell it and it has problems or people have questions, they come to the seller. Just try not to support it, right? Yeah. I, I build the breakout boards, uh, but if you want support, you have to go to blue giga. Yeah. Yeah. Well, fortunately it wasn't, it wasn't too much work for me, although it had started to build up a little bit. I've, I've tried to improve things a little, um, so that they become more self-supporting. Honestly, I don't get too many questions, um, anymore, which I would probably have to give credit to before because their documentation has gotten better over time and examples. And so, I mean, the breakout board is simple enough that there really isn't a whole lot that can go wrong with it.
Dave Jones: If there's something that's not much on there, there's a USB connector. There's a, looks like a programming header and a switch and, you know.
Chris Gammell: Exactly.
Dave Jones: Not much else. Voltage reg. Yeah. Yeah.
Chris Gammell: It's very simple. So people, you know, especially the kind of people who would buy that breakout board, they realize, well, if this isn't working, it's probably the module rather than the breakout board. So I'm going to go to blue giga and look for support. And of course, um, the, the, the, uh, consequence of that is I am the only FAE for the U S region. So I end up doing the support anyway, but, but I get paid for it. So, so it's all cool. Yeah. That's hilarious.
Dave Jones: Um, so they, so how does this in Mojo work? Do you, is it just a platform? Is it just like an eBay kind of place to sell stuff or do they pack and ship or how does it? We've, we've heard this from Dave before.
Jeff Roberg: Dave's like, Oh, I hear the wheels turning here. He's like, Oh, I could sell stuff. I could do it.
Dave Jones: Well, they're out having to pack and ship. Yeah.
Chris Gammell: Yeah. Basically it's, it's kind of like eBay buy it now. I mean, I don't, I don't think they do auctions and I don't think they do, uh, distribution. No, no, of course. No. Yeah. So I believe.
Dave Jones: No, I was just talking about they, you, eBay in the sense that it's just a marketing platform. Right. Like it's a one-stop shop where everyone goes to search kind of.
Chris Gammell: Right. Right. And I think that was their goal. Right. Um, and they, they basically give, uh, customers or, or would be customers an easy way to give you money in exchange for your stuff after, after finding it. Got it. Yeah. Um, so I mean, it's, it's pretty simple as far as those kinds of platforms go. I think there's only one payment option. You have to use PayPal. Um, and you know, there are pros and cons to that approach, but it works well for, for people who are in the U S to see selling stuff. So, um, whenever an order comes in, I get a notification email and then I get a, you know, payment notification email from PayPal. And then I have to deal with all the rest of it shipping and stuff like that. So it doesn't scale really well. Um, but I don't have a gigantic volume anyway. You know, I, I'll sell maybe, I don't know, five to 10 modules a week in, in a good week. And actually that, that ends up working really well for me because, um, it's not too much work to, to deal with, uh, on the, on the shipping and that kind of thing. Packaging. I've got a pretty good system worked out. I use and DCF for, for shipping. They're really great. I've got a little label printer before I had that, man, I was going nuts. Yeah.
Dave Jones: Label printers are worth a wait and go.
Chris Gammell: Yeah, definitely. Uh, and nothing I have to ship is very big. It's all very small. Um, teeny tiny modules. Even if someone buys like 20 of them, I can, I can stick it in a little padded envelope. So you don't have tons of, uh, packing peanuts around your house, right?
Jeff Roberg: That's the key. Yep.
Chris Gammell: I've got a box full of, full of little padded envelopes, but the biggest thing I have is like four by eight inch. Nice. That's the way to do it. Yep. That's the way to do it. Yep. It's all fit. It all fits in the closet. Um, so back to the blue giga thing, they, they eventually saw, well, it wasn't that they were just, you know, you know, impressed with me or something like that. They, they had an opening for an FAE position, uh, that came rather suddenly. Somebody who was there ended up having to go somewhere else. Uh, I don't know exactly what the circumstances were there, but so they had this position that was already budgeted for in the company and an opening, uh, and, uh, because they had already seen, or they, they'd actually, and they told me this during the interview process, which itself was remarkably short as a matter of fact. Uh, but they said, you know, we- They saw all your stuff already. Your interview was done online as we talk about on the show all the time.
Jeff Roberg: Yeah.
Dave Jones: The interview would be, do we like you? Yes or no? Yes, you're hired. No, bugger off. You know, that, that's pretty much. Yeah. They already know your work.
Jeff Roberg: They see you're selling stuff. They know you're supporting stuff. Yeah. Are you a decent chap to work with?
Chris Gammell: That's exactly how it went. And so they called me out of the blue and, or actually emailed me first out of the blue, the main sales guy who's in charge of the U S, um, said, well, you know, we, this is, we've got an opening here. Is this something you might be interested in? And, and it actually took a lot of thought and discussion and because not because I, I didn't want to work for blue giga, but because I, I felt pretty happy and, and, uh, well, I should say at least content, uh, you know, the, the guys, the place that I had been working before was actually a very different job. I was doing web application development. Um, and I, I really liked that whole company and it was really small. They were very flexible. There were a lot of really good aspects about that job. And I, I did obviously ultimately decide to, to switch over to blue giga. Um, but none of the reasons that I had for leaving the place where I worked before were, were negative. So we left on good terms. They were, they were sad to see me go. And I was sad in some ways to go, but it was just too good of an opportunity to pass up really.
Jeff Roberg: So, you know, this is interesting to me because I, I've had other people ask me this before of like, you know, I'm working in it or I'm working in, I know it wasn't it, but I'm saying like software or something like that. I want to break into hardware and usually I don't have a lot of people to point to other than like, uh, uh, Alan Yates is one who he used to do software and, uh, he jumped over to hardware and now you're another one. And I don't know if this is going to be an increasing trend or if it's just kind of the ones that we want to talk to on the amp hour. But I think this is really interesting because, you know, it's, it's not as common in my mind. I usually hear about, you know, EEs that end up going to do farm firmware and then get moving to software after that, that kind of thing. Right.
Chris Gammell: Well, I'd, I'd have to blame Arduino for this, honestly. Damn you, Arduino! You ruined my, well, actually, no, you just made my life awesomer. I know, right? And because I, I have been primarily a software guy, um, for basically all of my working life so far. Uh, I, I enjoyed electronics as a hobby. My dad was an electrical engineer. He worked at, uh, well, I'm trying to remember. His, his desk got bought by a few different companies while he worked there. Right. Hughes, Hughes Data Systems, Hughes Aircraft, uh, Raytheon. I think Raytheon is the current owner of, of where he works. But big, big Goliath. Yeah. Yeah. And so, although he really liked electronics and he had an EE degree, um, it's kind of interesting that he's now, uh, a technical writer and he totally loves that job. So interesting how things turn out. That's great. No, that's good. But he, he was, um, definitely, I would say very instrumental in cultivating my love of electronics as I, like a, you know, 10 to 14 year old. Uh, we had, or he, he had, I should say, uh, some computers back when it was still not really common for everyone to have computers. Uh, he had a TRS-80, but I think that was a little bit before I got involved. I was born in 85. So, um, you can. Ah, yeah. The, uh, trash 80 was before that. Yeah. So.
Dave Jones: No, it was still, it was still going. It was still around. Yeah. You know. Yeah. Yeah. It was the. I think the first machine. Coco 3 or something. Yeah.
Chris Gammell: The first one I remember working with, I believe was a 286. Great big metal case. Oh yeah. Turbo button. Yeah. Whippersnapper. Oh, actually the first one might not have even had a turbo button. It did, however, have these little metal buttons on the side of the case, which you had to push in and lift up to pop it open. Yeah. And the reason that that was really cool as like a five-year-old is in Southern California, which is where I grew up, you get the Santa Ana winds and we had carpeting. And so you get a big metal button, Santa Ana winds, dry weather and carpeting and rubber sold shoes. And so there was a, there was a funny incident one time where it was either I or my brother touched the button on that case and ended up, I think we rebooted the machine. Oh, nice. You felt like, you felt like a god, right? Yeah. Trying to do it again and again and again. And so it was the time I used the hex editor on the BIOS without knowing what was happening.
Jeff Roberg: Oops.
Chris Gammell: Yep, yep, yep. But anyway, so I had access to technology when I was little. And so I enjoyed getting to work with computers as much as I could. We would read GW basic scripts. I say we, my older brother and I both enjoyed doing this kind of thing. What's he doing now? He is actually an accountant at Norfolk Southern Railroad now. Oh, cool. Wow.
Dave Jones: No, come on. He's an accountant.
Chris Gammell: He enjoys it. And actually, one of the things that he enjoys most is getting to do like these little custom programming automation scripts to make everyone's job easier. See, now that would be a jump.
Jeff Roberg: If he jumps back to Harper, that will be the new story to tell. Accounting back to engineering or electronics. That would be interesting. Yeah.
Chris Gammell: So he and I both did this stuff with programming, copying GW basic listings out of the back of Usborne science books. Nice. It was so much fun to, you know, make a computer do what you wanted. Oh, yeah. But one of the things that I also did with my dad was a lot of electronic stuff. I would build these little kits. I don't think I actually did Heathkit, although my dad loved Heathkit. By the time I got into it, they were a lot harder to find. But I did a lot of Graymark kits. I don't know if either of you know Graymark. Yeah, I know Graymark. That was what I did in college, actually, a bunch of those.
Dave Jones: Okay. I've never heard of Graymark. Graymark.
Jeff Roberg: Yeah.
Dave Jones: Oh, Graymark.
Chris Gammell: Okay. Yeah. A lot of fun. But I ended up sort of veering more towards software just because I got better at it. And it was easier to find a programming job than a hardware design job as, you know, a 16, 17 year old. And then in 2010, here comes Arduino. And I just had this idea for doing a glove based input device. And I don't even remember where I saw the Arduino originally, but I was like, oh, my gosh, you've got to be kidding me. This is like $25 and I can write code that does hardware.
Jeff Roberg: Yeah.
Chris Gammell: And it was the perfect bridge between what I liked but hadn't been able to develop as a young teenager and what I had spent the last, you know, seven, eight years working on. And so being able to put those two things together and build something cool or, you know, even just try to build something cool, let alone whether or not it worked. It was just an incredible joy, really. And so that process is what sort of bumped me off the software only path and moved me more towards hardware. And so I still don't really do a lot of hardware design. Like the breakout boards are about as complicated as I get, with the one exception of the controller board on the key glove, which honestly is more complicated only because I was able to copy a lot of reference designs. So it isn't that I'm really good at hardware design, but I do understand enough about it to be, well, dangerous, but decently capable to build things that are useful for other people like the breakout boards. And I love to do stuff like that. You know, I love learning. But if all I ever did was learn, that would end up being kind of boring, I think. What I really love to do is learn and then communicate that to other people who, you know, hopefully are interested in the same thing or may become interested in the same thing and take that knowledge of, I didn't know how to do this and now I do and I think it's awesome and share that with somebody else who then gets to do the same thing for their friends or, you know, customers or whatever. So I really enjoy that process.
Jeff Roberg: I think you're in good company here talking about technology and such. That's our thing too.
Dave Jones: Yep. I've been doing it since I was a kid. Before you were born, sonny boy. So tell us more about the Key Glove. How did you get the idea? And you did a Kickstarter campaign. I did. Which was successful.
Chris Gammell: Yeah.
Dave Jones: Tell us all about it.
Chris Gammell: Well, it's hard to say where I originally got the idea for the Key Glove. Wearable computing. Well, as a matter of fact, no. Well, I shouldn't say that with such conviction. I don't think so. Okay. It's hard to say, you know, when little bits and pieces of inspiration come, you know, you don't even realize sometimes where they come from. But my older brother actually was the one who bought the Nintendo when he was six. He sold popsicles around the neighborhood. So we did have a Nintendo, but we did not have a Power Glove. It was one of those gimmicky things that was too expensive to justify. And in retrospect, I've heard it was a really, really crummy device.
Jeff Roberg: It was, but the advertising was amazing. There's YouTube commercials. The commercials are on YouTube, rather. And it's awesome. You still get the chills.
Chris Gammell: Actually, I saw the movie The Wizard, which was described as one great big long Nintendo commercial. It was. Mario 3. Oh, really? That was the release of Mario 3. That's right. California. California. But it was, I saw that not that long ago. But mostly, I think what I'd have to attribute the Key Glove's inspiration to is just wearable computing in general has always fascinated me. And, of course, it hasn't until recently been something that was really viable for a number of reasons. It was one or many of really expensive, really ugly, really huge, or really heavy. Just, well, not, yes, heavy, but not very, why would this word not come to mind? I know exactly the thought that I'm. Yeah. Well, that's the right idea. Not intuitive. You know, there was too much effort involved in using it to make it something that you would do as more than just a proof of concept or to impress your equally nerdy friends. Yeah. Whereas now, you know, we have Google Glass and, you know, all of these wearable sensors and things.
Jeff Roberg: In fact, two out of three people on this podcast right now have Google Glass.
Dave Jones: Yeah. Aha.
Jeff Roberg: Poor Dave. Poor Dave.
Dave Jones: Is it any good?
Jeff Roberg: I like it. I think so.
Dave Jones: Is it useful? What do you use it for? Come on. Come on. Is it useful? Are you doing anything actual practical with it? Or are you just having a wank that, oh, I've got Google Glass and you don't? No, no, no, no, no.
Jeff Roberg: Well, go ahead, Jeff. Yeah.
Chris Gammell: I would say for me. No, no, no. That's a fair question. There's not a lot right now that makes it a compelling thing to have different from a smartphone. Because anything, basically anything you can do with a smartphone. Of course. Almost. Almost. Almost anything you can do with Glass as well. There is one thing that definitely Glass outshines smartphones in, and that is real-time photography and video. Yeah. There have been a number of times, and I bet for Chris too, even as few days as you've had it, where you're like, I want a picture of that. Bang. Snap. You know, half a second later, there's your picture. You don't have to pull your phone out. You don't have to pull your camera out. You don't have to start the camera app. It's just right there.
Jeff Roberg: I have a perfect example of that, actually. I was walking over the Brooklyn Bridge, and everybody else is stopping, pulling out their phone. Snap. Oh, that was blurry. Snap. I was walking. Tap. Done.
Chris Gammell: Exactly. So, that, I think, is really powerful. Just, and it'll be a while before we see really what kind of an effect that has on the way we take pictures and videos and stuff as a society in general. Obviously, it would take a public release of Glass.
Dave Jones: Well, we're going to flood the internet with more useless bloody pictures and videos, right?
Chris Gammell: Yeah. Than what we already do. No, you only share the ones you want to, so. Yeah. Hopefully, we don't suffer too much from oversharing. But I think, as the developers who now have Glass have an opportunity to say, I think this would be really awesome as a context-sensitive or wearable application, as opposed to something that I'd use my smartphone for. There will be a lot of really amazing apps that are built specifically for wearable computing, where, you know, right now, we can't even imagine them because nobody's had a use case for something like that. And nobody's been inspired to say, oh, this is cool, this is cool, I'm going to put these things together in a wearable context and make something even more awesome. So, it'll take some time before the developers who now have Glass have an opportunity to do that. But as that happens, I think what we'll end up seeing is a slow shift away from something you have to pull out of your pocket and look at and towards something that is just right there. Yeah. Yeah. And it's difficult to say, well, impossible to say, really, how that will play out, exactly how far that can go, especially as the technology improves. But that's my feeling with Glass and just wearable computing in general is it becomes so much more immediate and at the same time something that is not a distraction as something that just feels like it's part of you. You know, you don't have to switch from talking to somebody and pull out your phone to see what time it is or to look at, you know, I mean, there are definitely bad examples of being distracted and impolite. But there are good aspects of wearable computing that will change the way that we typically think of mobile computing right now in terms of smartphones. I think that will diminish. It won't go away, but I think it'll decrease while wearable computing becomes more naturalized.
Jeff Roberg: Yeah. I would agree. And, you know, it's tough to say because Sergey Brin talked about it so prominently, like whenever the things talked about, he talked about the fact that people are looking down at their smartphones. But, man, you put these things on and you realize that, like, yeah, you're walking around, everybody's looking down at a smartphone just because, you know, it's just a thing to do. And it's just more. I'm not.
Dave Jones: I don't give a shit about my smartphone. Okay. You know what I mean, though.
Jeff Roberg: You know, like in a crowd of people. Yeah. I know.
Dave Jones: Yeah. In a crowd of people, you'll have, yeah, 60% of them looking down at their smartphone. Right.
Jeff Roberg: And if it gets people more aware, that's cool. I mean, it's just, it's a cool thing like that. And I think navigation is another cool one, too, because, you know, if you're walking down the street, it's just another, it's closer to your vision, stuff like that. But I don't know. I was really, really excited when I saw Jeff's Key Glove article about this interfacing with the glass. And I think it's really cool that you were able to show how you were kind of sniffing out the packets and stuff like that. Could you kind of walk us through that process in that article you wrote about how you actually got talking to it and stuff? Yeah, sure.
Chris Gammell: Um, I was really excited to see that article, too, actually, when I finally got it put together. And, of course, the process of gathering that information. It started because I was really interested in what they were going to do with glass at Google I.O., you know, the one they just had in May. I wasn't there, but I watched the relevant. I watched the keynote streaming and one or two glass related sessions streaming. And one of the ones that I watched was called Voiding Your Warranty. Yeah, that was good. Um, and so they walk through in that session just live during the talk. They show you how to install the app that you need in order to access the Bluetooth settings area, how to pair with a Bluetooth keyboard. I'm like, holy cow, this is exactly what I wanted to be able to do. And the really cool thing is you don't even have to root it. You that's it's not something you can do out of the box with the apps that are already there, but it's really easy to get to that point. And hopefully they'll make it a little easier. So you don't need to manually. It does take a little bit of juggling ADB. Actually, it wouldn't have been bad except the ADB driver for glass is not signed on Windows 8, which is really annoying. Yeah. But that. But like every time it pops up and it says.
Dave Jones: That wouldn't stop you doing anything, though.
Chris Gammell: Right. No, it's actually I would mostly blame Windows 8 for that because they made it so in order to sign or to install unsigned drivers, which you can do in Windows 7, they just say, hey, this is unsigned. Are you sure you want to do this? Stop. Which is great.
Jeff Roberg: It's a warning. Stop.
Chris Gammell: In Windows 8, you actually have to reboot into a special mode, kind of like safe mode, but not exactly safe mode. So that was a pain. And especially so because I always keep like five million things running all the time. Like, oh, man, I have to reboot. That's like turning around the Titanic. Come on. So perhaps a bad analogy. Maybe a ship that didn't sink. Right. But anyway. You have to sink it, right? That's the idea. Yeah. Avoid the iceberg. Yeah. So that was a little bit of a pain. But that, again, I would say is more Windows than Google or the Glass driver. Hopefully they'll release something that's signed. I mean, I'm sure they will for the public release. But that being said, once you get ADB installed, it's a matter of a couple of really simple commands to manually push a couple of packages. The standard Android launcher, which is your typical home screen. And then the settings app, which gives you access to the Bluetooth area of the Android settings. And then you just have to put your Bluetooth peripheral device into discoverable mode. And then it shows up in the list on the new Glass settings interface that you just installed. And then just pair with it. And because it's standard Android, it's running the same stack that they have in other versions. I think it's 4.0.4 is what's on Glass now. It just pairs and works. There's nothing special you have to do beyond that. And from that point on, all you need to do is know how to control the Bluetooth module side of things to send the control commands that you want to use. And that was the main discovery process for me because I wasn't sure what all would be supported exactly in terms of some of the Android special hotkeys and that kind of thing. I did know from that session that I watched, the hack in Glass session, that the D-pad, you know, arrow keys, those keys are supported. And that's if you if you play around with the Glass timeline interface, you know, that's more or less how most of the navigation works. It's always moving forward or backward and up and down to select. So there's actually not that much you can do with the standard Glass home interface in terms of different kinds of input. It's very simple controls, just left, right to move back and forth. Enter will select. Escape will cancel. And that's most of it. I did go through some of the consumer page reports, which are things that on a desktop are typically used for changing volume. You know, start the calculator app, go into sleep mode, navigate forward and backward in your browser, those kinds of things to see what would work. And not a lot of the combinations I tried worked, but I did find some that seemed to put the display to sleep, which is handy to go jump back to the home screen. Also handy. And there is a reference online on somewhere in the in the Android documentation on their APIs website that shows or it lists all of the officially supported key codes and what the minimum Android version is where they have been implemented. And I tried to correlate what I was tested to that set of tables. And in in most cases, it seemed to match up, but not in every case. And I think that's probably due to my lack of understanding of some of the intricacies of the HID protocol, because HID over Bluetooth is actually the exact same specification that USB HID is. So they just wrapped it in a wireless transport encapsulation kind of a thing. And other than that, it's exactly the same as you would see in a wired USB device or USB HID device. So in some ways, that makes it easy to use because there is kind of a lot of documentation out there. But if you don't really know how USB HID works, then you are equally at a loss if you're trying to do it with Bluetooth. And so I've been picking up bits and pieces of the HID profile or protocol, I should say. But I still don't feel like I really, really understand it well. And I think that probably comes across a little bit in that Keyglove Bluetooth glass integration post that I wrote. There's definitely still some unknowns for me. But I ended up with something that is reproducible. And you can do all of the basic stuff, at least, with glass, plus a little bit of not so basic stuff. And it works very well. Anyone who's got a Blue Giga WT12 module and glass, which I realize is a very, very small subset of people.
Dave Jones: I couldn't get one here in Australia if I wanted to. Yeah.
Chris Gammell: That is unfortunate. Exactly. Hopefully that will change. Yeah. I'm sure it will. There's enough interest. I think they'll get to a public release of it one of these months.
Jeff Roberg: Huh. So the Keyglove itself, I mean, on that side of things, did you – So this – I'm looking at the Kickstarter page. This finished in 2011. Yes, it did. Those are all delivered or no? Sadly, no.
Chris Gammell: I really, really wish that they were. And this is something that – I didn't run out of money. I actually still have a good-sized chunk of the money that I raise. I have not had time because I'm the only guy who's actively working on that project. Not – I mean, I'm not opposed to other people working on it at all. But it just hasn't – It's your baby, right? It is. And there would be some sadness and heartache for giving some portion of that over to somebody else. But I'm not opposed to it. I mean, the whole source code for basically everything is online. But it just hasn't been something where someone motivated came up to me and said, hey, I want to take part of this and work on it.
Speaker ?: Oh, watch out, man.
Chris Gammell: Being on the amp hour. You just wait and see. Well, to be honest, that could be really awesome because – Oh, boy. Here it comes. Hey, I can always say no. And if I say no, they can still always take all the open source that I have posted and build their own version. And frankly, that wouldn't bug me because if – not that I'm hoping this would happen. But if somebody else said, hey, I want to take this whole project and build it and I ended up being more or less shut out, there would definitely be some amount of disappointment there because I really like working on this project. I enjoy it for many different reasons. But if the product got created basically the way I imagined it, that's what I'm after. It isn't that I want it. I mean, I'd love to do it, but I want to see it done.
Jeff Roberg: Yeah.
Chris Gammell: So that's not an invitation for anyone listening to try to shut me out. I don't know, man.
Jeff Roberg: This is very confusing. I want it. I don't want it.
Dave Jones: The thing is, it's been more than two years now and you're saying that you haven't shipped all the units. Do you feel that – I do. And that's – Do you feel like that you should just go, well, look, I'm never going to get around to this. Here's your money back kind of.
Chris Gammell: Well, interesting that you'd bring that up because I did have a lot of that – what's honestly a sense of guilt to say, you know, I took $12,000 from you people and I've delivered not really anything worth $12,000. And, you know, for the people who – I think there are – what was the last count? About 40. 40 rewards that are significant that I haven't delivered that I can't until I actually finish the design and get it to work. And I don't want to give up because I haven't – I mean, internally, I haven't given up at all. It's – I've just been completely slammed since – mostly since, honestly, having taken the Blue Giga job, which it's a good job, but it is – it's very demanding time-wise. Yeah. So, that's –
Dave Jones: But there's a difference between giving up and giving money back unless you need the money to continue the development. Right. And, you know, if you know what I'm talking about there, there's two different – Yeah. Yeah, definitely. Yeah, you can still do it because it's your pet project and you want to finish it and it's fun and blah, blah, blah. But, yeah, you've got people's money. That's the trap.
Chris Gammell: Right. And so, I don't remember, to be honest, what the official Kickstarter terms of service were when I ran the project, which was – I mean, I think I launched it in March of 2011. And I know – well, I'm pretty sure at least they've gone through a couple of revisions since then at least. But that being said, I mean, screw the terms of service. I care about making sure that I deliver what I promised. Right. Yeah, people want the same things you want, right? I mean, they want the same product and final thing.
Jeff Roberg: Yeah.
Chris Gammell: Right. And so, what I ended up doing actually near the – I think it was at the beginning of this year. I was feeling a lot of pressure and not from people who were complaining but just internally. You know, it's been a year and a half and I haven't delivered. This is really, really bugging me. And so, I actually sent an internal message to all of the backers whom I had not sent the rewards to and said, look, I don't want to give up on this. I'm not giving up on this. I still have the money you gave me or, you know, a good portion of it. And I've been basically on pause because of this gigantic workload that I've dealt with. But I'm not giving up. However, I realize it's already been a year and a half. You haven't seen anything. That can be frustrating. So, anybody who is done with this project, you know, for whatever reason, you don't have to give me a reason. I will give you all of your money back plus a little bit.
Jeff Roberg: Excellent. And I had – 110% guarantee, huh?
Chris Gammell: Or whatever it is. Well, technically, it was 105. 105. There you go. Yeah, it's just as good. But, yeah, because, I mean, PayPal takes their cut and, you know, I wanted people to feel like they weren't getting gypped if they wanted their money back. You know, it's better return than the stock market in 2008. Yeah, cool. So, I sent that message out and I had, I think, four people tell me, are you kidding? No way. Keep working on it. And then I had two. Let's see. Was it two or three? It was not more than three. It might have only been two people who said – and they – it was quite some time between when I sent the message and when they contacted me. So, it wasn't like they were waiting on this or something. But they eventually said, you know, I understand. I really like this project. But I need the money back for – you know, it was for some other personal reason. And it's possible they were just trying to make me not feel so bad. But, you know, I don't have a reason to believe that. So, I had very, very few people say, okay, we'll take you up on that. And that was very encouraging to me because – Yeah, yeah. You know, people have – they gave me, you know, all this money. And despite the fact that they haven't seen anything from it other than the periodic updates that I write, which, you know, in the first half of this year and last half of last year were very, very sparse, sadly. They still said, you know, we want to keep supporting you because we think this is cool and we know you think it's cool. So, yeah, keep at it. And so, I still have – I know I made it an indefinite offer. So, anytime people want to get out of it, you know, it wasn't a now is your chance and then you're out of luck. So, I have – I mean, I have enough money at this point. To be honest, I could refund everybody and still keep working on the Keyglove because just the way life has turned out. I could do that now. But the fact that I offered that to people and they said, no, keep it. We want to see this get finished. It was very encouraging. Yep. So, I'm still working on it. In the last – particularly the last six weeks or so, I've been able to do a lot more than I have over the previous, you know, nine months practically. So, that's been motivating as well. And, you know, now that I have glass, I have something very tangible to work towards integrating it with. And that was my goal always. My personal – this is my favorite thing to do with the Keyglove is to integrate it with something wearable. Yeah. Yeah. And the glass device is – Bam. Yeah. That's it. That's what I wanted. Cool. That's good, man.
Dave Jones: And how did you get Google Glass? Did you get it through the same thing as Chris? I think so, probably.
Chris Gammell: If I had glass.
Jeff Roberg: If I had glass. Yeah.
Chris Gammell: Yeah. Yeah. Yeah, right. So, that's what I did. And actually, what I used for my entry was – I won't quote this verbatim because I can't remember. But it was basically, if I had glass, I would integrate it with the Keyglove. And so, that's what got me my device. Well, that and a chunk of change. But – Right. Of course. Yeah. That's what got me access to it. So, yeah. It was the If I Had Glass thing. Right.
Jeff Roberg: Very cool.
Dave Jones: I'm not sure that I could – I can understand how, yeah, it's very cool that these people, you know, really, you know, didn't – still want to support you and didn't want their money back and, you know, all that sort of stuff. I'm – it probably takes a certain kind of person to accept that. Me, I'd go, oh, no, look, I can't live with that, you know. I'm here. I'm forcing you. I'm giving you your money back, you know. Look, I just, you know, I just don't need it anymore. I guess it's – it'd be tough. It'd be a tough decision. It would. But, yeah, I could imagine that would be very encouraging to get, you know, to know that, you know, those people know that you're not trying to scam them and, you know, all that sort of stuff and they support your project too. And it almost effectively becomes a donation then, almost.
Chris Gammell: Really? And, I mean, if it came right down to it, if I said, you know, I can't do this or I'm not going to do this for whatever reason, I would definitely do whatever I could to get that. Of course. Get people their money back. There is no really easy way to just refund. Really? As far as I know. I mean, I –
Dave Jones: Oh, yeah, because it's expired now. You'd have to individually – yeah, PayPal only allow you to do a refund after a certain amount of time. Yeah, well, actually – Because it's two years. Because you'd have to individually –
Chris Gammell: Kickstarter uses Amazon payments, but, yeah, their system is basically the same. Yeah. So there wasn't an easy way to just do that through their system. So it would take some effort. But, I mean, if it came to that, I would go to whatever effort was necessary to say, look, I can't do this. I can't deliver what I promised. So here you need to take your money back because I'm not going to keep it. But, I mean, after I sent that message out, I mean, regardless of how many people would have come back to me after that point, but when I finally sent that out, I felt so much better because it was like, okay, well, now it's – You know, whatever happens, I know I'm not keeping these – Scamming anyone. Yeah, I'm not scamming people. And, you know, I never felt like I was scamming people. But then it was – No, of course not. They no longer feel like I'm scamming them. That's right. Or, you know, there's that worry on my part. You know, I never had any complaints. Again, like I said, nobody said, hey, where's my key glove? I'm sick of this waiting. Yeah. Which itself is pretty encouraging.
Jeff Roberg: Yeah. That's good. Well, cool. I mean, that's good to hear that it's going well. And like I said, I mean, we'll get some contact info at the end maybe if people want to throw their hat in the ring to see if they can help out. But that'll be up to you.
Chris Gammell: I mean, the hardest thing, honestly, the main hurdle that I haven't been able to overcome yet is the integration, a very tight integration of fabric or, you know, thin leather even. That complicates things. And a whole lot of wires. Yeah. Yeah. And...
Dave Jones: Yeah, you come down to that physical, mechanical, in this case, fabric construction. I mean, it's nothing to do with the electronics. It's nothing to do with firmware. Right? It's all physical. You know, it's all physical build. Yeah.
Jeff Roberg: My mind keeps going back to Hoken's tweets. Zach, who's been on the show before, I keep seeing him tweet about he's making a keyboard that's going into a pair of pants. Right. I don't know what the hell's going on with that. Yeah, yeah. Well, you should talk to him because he's probably got some crazy people he's talking to.
Chris Gammell: I should. I've had a couple people have some really interesting technology. I'm sure you guys know Lynn Bruning. Yes, yeah. She does, obviously, a lot of stuff with e-textiles. Conductive fabric and stuff, right? Yeah. Yeah. And there are always just these little nuances of the design of the key glove that make it not quite fit with anything that I've tried so far.
Dave Jones: And it's like, oh, man, this looks so promising.
Chris Gammell: Yeah. Yeah. Yeah. So I have to find – well, I either have to find something that I haven't come across yet or actually change the design a little, which I'm open to doing. But only to a point because you end up sacrificing some functionality that I would consider to be critical in order to make it simple enough that it works. So I don't want to go that route yet. I want to keep looking for the new thing that's actually going to do what I need it to do. But it is a challenge. Yeah.
Jeff Roberg: So you told us about before the show started as well. So outside of key glove, I mean, it's not like you're making it any easy on yourself. You seem like you've got tons of cool stuff going on in addition to Blue Giga, in addition to key glove. You're also doing something called I2C dev library or devlib.com. Could you tell us a little bit about that?
Chris Gammell: Sure. That came about as another offshoot project of key glove development. And it started out with the code that I needed in order to work with the MPU6050 motion sensor from InvenSense, which is a great little chip. It's very, very powerful, combined six axis accelerometer and gyroscope. It's digital. And it was intended to replace two chips that I had on little breakout boards from SparkFun, the 80XL 345, which is a three axis accelerometer and the ITG 3200, which is incidentally also from InvenSense. It's a three axis gyroscope. So this one chip put it all together in one device, which I thought was pretty cool just by itself. But it also had this digital motion processor component inside that was, I mean, the marketing material said that it would take the raw data from accelerometer and gyroscope measurements and combine it into orientation data fused for you right on the chip. Which when your platform is a low power, you know, AVR micro, that's a big deal because it saves you a lot of time, processing time and power. You know, if you want to, if you've got a battery powered thing, you want to have the AVR sleeping as much as you can. So long story short, I ended up getting one of the engineering samples of the MPU 6050 through one of the distributors out in California. I think it was a CDI web component distributors. And I got access to the register map for that device, which at the time they hadn't published. I'm like, this is an I squared C device. How can you not publish a register map? Yeah. Oh, just plug it in and guess.
Jeff Roberg: Yeah, just throw some commands at it. Yeah, right, yeah. It's just up and down on the data line, right? I mean, clock and data, whatever.
Chris Gammell: So there was no code to make use of this yet because it was a brand new device. And I know like SparkFun is good about pointing you towards code libraries for the sensors and things that they sell, even if they didn't write the code. They say here's an example script that implements the necessary capability to make use of this gyroscope or compass or whatever it is. But there was nothing. Well, at the time, SparkFun wasn't selling the MPU 6050 either. But there was just no place online where you could find code to do this. So with the register map that they gave me, I was able to build. And the register map came from InvenSense. So that was cool on their part. I was just some random little guy. And they did manage to get me the register map. Was no one else asking for it? That's what I don't get. I mean, well, I don't know, to be totally honest. There are a couple other guys who, in the process of building the I2C devlib site, I did a lot of collaboration with. And they, one in particular, actually did most of the legwork for what ended up giving us the finished product that I've got posted there for using the MPU 6050. Noah Zirkin, who you may know. Oh, yeah, he's the one who took pictures of Sergei Brin on the subway.
Jeff Roberg: Yeah, on the subway, yeah. Which I plan to talk to him about. Everybody says, like, come on, really? Like, you just happen to see him on the subway. Like, Noah seems like a cool guy. But it's like, even I'm like, really?
Chris Gammell: For whatever it's worth, I think that was not scripted or planned. I don't know. I have met Noah a couple of times. Yeah.
Jeff Roberg: All I know is that when I got on a subway, I got a couple looks. When I was wearing glass on the subway, there was very few people who didn't notice me. And so, you know. Cyborg man. Yeah, exactly. All I got was the glance and then the, I think that's Google Glass. And then I started feeling like I'm not wearing pants or something, you know?
Chris Gammell: I wonder sometimes, for people who don't know what it is, they think it's some kind of ocular implant. And like, oh, that poor man. Yeah, that too.
Jeff Roberg: I've heard that. But anyway. Anyways, yeah. So Noah's helping with this.
Chris Gammell: He had the same evaluation kit with the engineering sample from InvenSense that I did. And he had a logic sniffer from Salee. Do you know how to say that company name, by the way? I say Saleeg.
Dave Jones: Yeah, Saleeg.
Jeff Roberg: Saleeg's how I say it. But yeah, that's a great little product they have.
Dave Jones: Well, no. Saleeg is a different company. There's Salee Logic and there's Salee. Oh, Salee.
Jeff Roberg: Sorry. I'm sorry. Yeah. Salee. I'm saying Saleeg. I'm saying Saleeg. I'm saying Saleeg, sorry. Saleeg is the logic analyzer?
Chris Gammell: Yeah, I just say Salee. Okay, yeah. Salee. That's what I say. Okay, and it's just a little USB 8 channel or they have a 16 channel version too. It is the coolest digital logic analyzer. I mean, it doesn't do a lot of different things.
Dave Jones: It's very simple.
Chris Gammell: No, it doesn't do much, but it's simple. But what it does, I mean, that thing has gotten me out of so many scrapes and I love that. So yay Salee. I recommend it to anyone who's looking for a small logic analyzer. But that being said, he had one at the time and I didn't yet. Now I do. And so he actually just sniffed the traffic from the evaluation board to see, oh, okay, I've got ahead of myself. They didn't provide in the register map from InvenSense any information on how to use the DMP, the motion processor, which is like the best, biggest selling point. Right. Yeah. And you can kind of, well, I don't know.
Jeff Roberg: What do they want you to use then? Just to like read a single output or something? Or they didn't want you to interact with the processor or what?
Chris Gammell: They, you have easy access to the raw accelerometer and gyroscope sensors. So that, I mean, it's still a good chip even all by itself because it's combined six axis digital gyro and accelerometer. That's cool. But the main selling point for that chip is the fact that it can do the internal calculations to give you orientation data. And that's the part that was not explained in the register map at all. Like there was zip. You could tell like they took it out or, you know, I don't even, like that's maybe going a little far, but there was, there wasn't anything in there other than, you know, the mentions of the DMP and the chip summary at the top. And, and so that was, that was a little disappointing to say the least. But the evaluation kit that they sold came with, I think, what was it? I think it was an MSP430 or, you know, something. Oh no, no. Actually it was an AVR on the companion board. So you plug in the little sensor evaluation kit to the AVR companion board and it was preloaded with this. I bet. It was preloaded with the, with the firmware on the AVR that would, that would, um, set up the DMP correctly so that it would start spitting out orientation data. So like, Hey, Hey, put something in the middle there, right? Right. So, so, um, Noah plugs in his, his, uh, logic analyzer and just sniffs the traffic. And he sent that over to me, um, because I had been working on an analyzer and that's something that you can actually see online. If you go to the MPU 6050 page, uh, under the devices section in the menu, there's a tab. Uh, I can't remember what it's called. It's like captures or something like that. And there's actually a whole bunch of them in there, um, which not all of them came from me, but, um, what, what, what I did was in the process of building this website, I put together a MySQL database backend for storing the register data. Um, and so now one of the things that I think is really cool about the site is there's a totally dynamic register map that you can actually look through and, you know, scroll around, hover over and see all this detail.
Dave Jones: I can see that. Yeah.
Jeff Roberg: This is nice just for displaying. This is cause most register maps I ever see are like someone, you know, making a, a spreadsheet in Excel. And then, you know, this is just a nice display mechanism. I like this a lot.
Chris Gammell: Yeah. Yeah. I, I have actually, I still have some, some large visions for this site, uh, that I haven't quite had time to implement, but it is, there's a lot of infrastructure there to do more of that, like the ADXL 345, cause I still use that occasionally. That's another one that has a similarly entered dynamic register map, but, um, having that database driven register, uh, map and the capture file, I was able to, to combine those pieces of information. And with some further study of the I squared C protocol, figure out, okay, this is a read transaction. This is a write transaction. It's going to this device, this register, it's got this data. And then combining that with all the register name and bit field structure and all that, all of a sudden here's this really clear picture of everything that's happening on this chip rather than just a stream of binary data. Yeah. Um, so now, so once we had that in place, um, it was just a matter of building an Arduino script that imitated the exact same set of, of, uh, transactions. And that's what Noah did. So he, he, he came up with something that just duplicated that same, uh, process and bam, he had working orientation data coming out of his chip. So I, he gets credit for, uh, for being the first one to do that with an Arduino. And then I took the code. Go ahead.
Jeff Roberg: I have to say, if you're not a hardware person, you know, if you've not exited the realm of software person by now, then this, this seals it in. You're at least a firmware person, probably a hardware person for life. You're just, you're screwed, man. Uh, so this, yeah, this is really, I really liked this a lot. This is really impressive.
Chris Gammell: So I, I like really pretty well indented commented code. Um, so I took the code that Noah wrote and I wrapped it into the, um, library structure that I had started already for there's, I don't know if you've looked around at the GitHub repo that's attached to that same site, but there's a main Arduino class called I2C dev, which is basically a wrapper for the wire library, um, to give you transactional kinds of, of commands instead of like start transmission and then write a byte and, you know, end transmission, that kind of stuff. It's, you can give it a bit or a byte or a string of bytes and it'll do the whole thing for you all in one. And so it, it's not necessary, but it simplifies everything. Yeah. So that's the, the I2C dev base class. And then there's device classes built on top of that, that, that, uh, make use of those functions. So I took the code that he wrote and wrapped it into that, that structure that I had and created something where you can, you can now see there's a, um, MPU 6050 underscore DMP six example sketch. And most of the legwork is done for you in the library files. And all you have to do is run it and you've got orientation data in one of many different formats that you might want to use. Yeah. Fantastic.
Jeff Roberg: That's very cool. That basically, yeah. I mean, like in, in terms of like you saying you liked Arduino because it allowed you to become a software person and work with hardware, you've basically allowed the same kind of thing for working with very specific chipsets. You know, you're basically becoming, you're basically creating APIs for chipsets now, you know, like large, large scale, you know, just abstracting out everything except for the data that it's spitting out, which is very, very useful to people want to get up and running quickly. Right.
Dave Jones: Because that's the crap that you don't want to have to deal with as a designer. You know, you just don't give a toss. Right. Like, I just want my damn data from this chip I just bought. Right. From DigiKey. Damn it.
Jeff Roberg: Yep.
Dave Jones: And, you know, you don't want to have to dig around.
Jeff Roberg: Which is crazy too, because you think about it. I mean, like everything's going in this direction, right? I mean, like Blue Giga, like you were talking about earlier, it's the same thing for abstracting out Bluetooth data, which is really just RF fiddling, right? Fiddling bits up and down. And, you know, like, but at the same time, you're just sending serial data, right? You're just abstracting everything out. And, you know, I guess what it comes down to is how much you want to trade your time and money for the very specific development, or if you want to do something very specific, or if you want to just pay someone else to do some portion of it, and then just talk to that portion with a highly abstracted interface.
Dave Jones: Which is, I mean, I've done the same thing before, you know, many, many years ago, before all the Arduino business and everything else. You know, I was, you know, I'd be using an iSquad C chip and some other chip, and like there were no libraries out there for it at all. You know, there were no APIs, no nothing. So, you know, I had to write them myself from scratch and everything. And then I thought, well, geez, other people are going to be wanting this. I certainly wanted it. So, you know, I'd zip it up and whack it on my website, you know. And hopefully some people made some use from that. I mean, I didn't develop a really cool, you know, website like this with interactive register mapping and everything. You didn't use GitHub either. No, you know, exactly. You know, here's my commented code in a zip file, you know, but it talks to this chip and bam. We'll update it next month. And I tried to keep it as high level as possible. So, it didn't matter whether you used an AVR or a PIC or, you know, MSP430 or whatever. Yeah. You know, it was, yeah. Tried to keep it as high level abstracted as possible. And that's what you need when you're developing stuff.
Chris Gammell: Yeah. It's great. One of the offshoots of this offshoot project is somebody has worked on porting some of the code over to, I believe, MSP430. And that's something that I wanted to do, but I haven't ever been able to spend enough time learning MSP430 to do that myself. Yeah. But along comes somebody else because the code is public and they're like, hey, I really want this and I happen to have time. So, I'm going to do this and then do a pull request and bam, now I've got MSP430 code, which is exactly what I wanted to happen. Yep.
Dave Jones: Yeah.
Jeff Roberg: And it'll get pulled to STM32 and everything else, right? I mean, like all the other variants. Yeah. That is very nice. The social coding method is very powerful. And as much as I love hardware, I can't discredit anything. You know, it's just amazing how projects spread virally now like that, you know.
Dave Jones: Well, you can do that with software. It's harder with hardware. I mean, a lot of people have tried it with hardware. You know, with the whole open source hardware thing, that's the ultimate goal is for people to build upon existing works. But by its very nature, it just doesn't work the same.
Dave Jones: Right. Which is a bit unfortunate, but that's the real world. We've got a bunch of questions, don't we? Oh, yeah. I think probably some of them have covered. I'm not sure we've probably answered them. I think we may have answered them. Have you seen these, Jeff?
Chris Gammell: I saw some of them. The last time I looked was a number of hours ago. Okay. I think most of them are the same.
Jeff Roberg: I'm actually interested in this, too. The question about Google and Bluetooth low energy, because, you know, I use Android devices. I think Dave does, too. Do you know any reason why they're not kind of into that yet, why it's not in any of the Android devices?
Chris Gammell: Honestly, all I have is speculation. I know most of the newer Android devices actually have hardware that supports it. Yeah, yeah. And it's just a matter of the APIs, you know, coming up with a standardized API. And thankfully, at least as far as I understand, they are going to add their official support for BLE into API 18 whenever that comes out, which I think is the next one. I don't know when they're going to release it. But I and everyone else at Blue Giga is very much looking forward to that happening. I think that what it probably came down to was they didn't realize the rate of adoption that would happen because of what Apple did. You know, when they added BLE to the iPhone 4S, all of a sudden there's this explosion. And I mean, it wasn't really an explosion. But, you know, if you look at the right graphs and the right period of time, there's... Massage. If you look at Kickstarter hardware devices, right? I mean, like... Right. I mean, there are so many things now that are built for... They're, you know, just little wearable sensors, a lot of health-related things. Yeah. All kinds of... Excuse me. I don't know if you heard that.
Jeff Roberg: I just found a treasure box from Legend of Zelda. I know that sound. Yeah, that's my text message sound.
Chris Gammell: Nice. But anyway, there are so many products out there that are built around BLE now. Yeah. My only guess, because obviously Google is a big player, they sell a lot of mobile devices, they have good reason to incorporate BLE. Either they didn't realize it was going to be this big and or they didn't realize it was going to be as hard to implement internally as it ended up being. And this is, again, speculation. I have no reason to think it was hard for them particularly, but maybe. Or possibly they were exploring other avenues, specifically Ant Plus, if you're familiar with that one at all. It's kind of... Yeah, the Ant. Yeah. It's similar in a lot of ways to BLE, but different in some important ways. And ultimately they decided, you know, that's not going to work. We should do BLE. And then they were kind of behind. And all of these things, honestly, are just guesses. They obviously did ultimately decide that it was worth doing because they're going to include it in their next API. Again, assuming I've been informed correctly, I'm pretty sure they announced that at Google I.O. 2013, but I didn't actually see that happen. So that's my guess. I think it was some kind of a, well, darn, now we have to catch up. But now, you know, I think that they'll probably end up doing really well because they've got such great coverage with Android. You know, a lot of people are very embedded in that ecosystem as well.
Jeff Roberg: I'm continuously amazed. Like, so I was working on, I guess it was early, mid-2000s, I guess. I was working on this really crappy audio-based Bluetooth device. And I remember thinking, like, who the heck is going to use this kind of stuff? And just every year it continually, you know, impresses me about how many more and more people kind of get into it. And especially now with Bluetooth low-energy stuff. I mean, you know, you think about the just, we were talking about abstraction before. You know, it's just a really good abstracted interface, you know. The fact that you can sell a device now that once Android comes out with their API, you can have something that talks to an iPhone and an Android effectively the same way. That's pretty powerful, right? I mean, like, that's the basis of your business, right? Exactly.
Chris Gammell: I'll become a lot more marketable once the rest of Android.
Dave Jones: Oh, boy. You'll get poached by somebody else.
Jeff Roberg: Well, actually, another question about that. Talking about the other people, players in the market. You mentioned CSR is one of the chips that Blue Giga uses. And we mentioned TI as well. But Reddit asked about why does CSR become the industry standard? And why aren't other ones coming up faster, basically?
Chris Gammell: That's a good question. And again, I'll mostly have to speculate. Anything that I wouldn't be able to speculate, I probably wouldn't be able to say anyway. Yeah. But that's – I'm not sure. My feeling, just based on what I've picked up, and I'm not really far into the component selection process internally. I mean, that's typically handled by other people. But my feeling is that in order to become really big in that kind of a market sector, it takes a lot of time. Or else you have to have something that's so far beyond and obviously better than what other people have that all of a sudden you just – you get everybody. But that hasn't happened. I don't think that it probably will happen, barring something that none of us could imagine. Right. So it takes time in order to develop especially the reputation for capability, for reliability, for being able to deliver functional, stable products, for constantly releasing new, updated versions that do more things that people want, for staying on top of all the latest certifications. And there's a lot that goes into wireless design, not just at BlueGigas level. We focus on the module level. But even farther down where CSR is, where they're doing the chipset design and the actual platform. I don't know if – like I was mentioning earlier, the XAP architecture, that – for all I know, that could actually be theirs. It might be proprietary. And that – if it is, that would be something that's very – that takes a lot of work to develop, to troubleshoot, to maintain, to support. Yeah. Right, right. So you have these small players who maybe are doing their own design and maybe, maybe they're better in every conceivable way than what CSR makes. But because they're not really known, they don't have the clout that CSR has. Clout with a C. They don't have the big backing that they would need in order to say, hey, look, I know you guys maybe don't know us as a customer, but we can actually make something that's – we can provide 10 million modules for your huge volume product. People – giant customers aren't going to say, yeah, we'll take a shot on that. Right, right, right. You'll get the smaller companies to say, oh, hey, this looks better. We'll try this. Yeah. And if it works – We'll give it a shot. Yeah. Yeah. So it'll take time for anyone, even who has a better design, to develop that to the point where they're recognized among the big players who actually are involved in defining these standards and things like that. To become a big enough player to make a difference to eventually potentially unseat somebody like CSR or whoever else is making chipsets, Panasonic or layered.
Jeff Roberg: See, I think the question was in the other direction, though, because it seems like the bigger players, like the big RF players, like TriQuint and stuff like that. Or maybe that's – I'm talking out of my butt again. But I was thinking like TI and the question was actually like on the higher end, like TI is now moving into it. Like the bigger players, not so much the smaller players coming up. Because I didn't know who CSR even was, personally. Dave, did you know who they were?
Dave Jones: No. No, not really. It's sort of – no, if you press me, I wouldn't be able to tell.
Chris Gammell: So you're saying companies like TI who haven't traditionally done Bluetooth?
Jeff Roberg: Yeah. Like why – yeah, I guess so. Yeah. I mean it feels like this is almost like an innovator's dilemma kind of thing. You know what I mean? Like it just wasn't a big market for certain people and maybe others it was and now others are playing catch-up.
Chris Gammell: That's – okay. I did interpret the question differently. I would say if you start to get a lot of market development like what we're seeing with BLE, now all of a sudden just from an economic standpoint, it becomes lucrative to be somebody who's doing well there. So you might not have previously considered entering the wireless market because, ah, there are other people who do that and we're more focused on processors or whatever the thought process might be. But now all of a sudden, hey, there's this rapidly growing demand. The number of Bluetooth devices in use by customers is supposed to double in three years. That's a totally bogus statistic. But obviously it's growing fast. So you end up with this motivation for other players to enter the market. And somebody like TI who maybe hadn't been doing it before can say, well, we have a lot of experience with some kinds of low-level chip design. Maybe we could get our foot in the door for doing Bluetooth designs. Maybe just BLE at first. Maybe we'll start doing some dual-mode chips for both if we get some traction. So not, again, personally, I don't have any real idea what goes on behind the board meetings of these companies. But that would be my guess. They're looking at the market and saying, this has potential and we are good enough at some aspects of this that we might have a chance to start, you know, expand our product line in a way that really could be beneficial as we ride this wave up of developing wireless products. And the bigger the opportunity is, the more players are going to jump in and end up with this big, huge mishmash of, you know, as an end customer, who do I pick for my design? But, you know, I think the end result is that because it's very voluntary, actually the Bluetooth SIG is, you only have to do their certification thing if you are using Bluetooth officially. It isn't just that band. It's all the unregulated 2.4 gigahertz or mostly unregulated. But there's actually a lot of leeway. You can't put Bluetooth anything on your device if you don't follow their guidelines. But it is a voluntary association. So because of that, there's not some of the more detrimental kinds of regulations that you sometimes end up with when some government gets involved. And it's very collaborative. And so you end up with, well, there might be a lot of players right now that ultimately ends up being good for the end customer because eventually it'll settle. And when it does settle, it's going to settle towards what's better rather than the lowest common denominator because everyone is vying for, you know, the customer's share. I mean, that's how any market works. The guy who has the best product ends up doing the best because they have the best product.
Jeff Roberg: So you're just saying that there's people that are in the process or were behind on the process of entering the market and the lag is now catching up. That's kind of the idea? Right. Yeah. Yeah. Okay. What is, how about another question here? The Andeet on Reddit asks, what are the challenges in making a dual stack between Bluetooth 2 and 4? And do you have much visibility into the stack side of things?
Chris Gammell: Not a whole lot. On the implementation side of things I do, actually, Blue Giga does not currently have a dual mode module. Oh, okay. So it's something that we've been contemplating, but we don't have one yet. So I don't, I won't be able to answer this question as well as I might otherwise. But just from what I know, I would say the biggest challenge, well, I mean, it depends on whether he's talking about actually designing your own dual mode chipset yourself or just implementing one. No, I think implementing. Yeah. It'd be implementing. Because BLE and classic Bluetooth use exactly the same spectrum and even the same set of channels. BLE has a subset of them, but it's the same range. There's some bandwidth, I mean, practical issues with, obviously, you can't fully utilize BLE and classic Bluetooth at the same time. It just won't work because you're using the same spectrum. So that would be a challenge, like, especially if you involve either really high bandwidth serial data or high quality audio. So those two things tend to take most of the available spectrum for any active Bluetooth link. So you can't typically do a lot of other things at the same time. So if you wanted to do, you know, stereo audio streaming from your smartphone plus a bunch of other stuff, you might run into an issue. Other than that, the design approach between classic Bluetooth and Bluetooth low energy is, well, the profiles for classic Bluetooth are all defined by the SIG. So you've got serial port profile and HID and the other ones that they're all handed to you and they say, this is how they work and this is how you use them. With BLE, they totally change that around. And in order to implement anything, you actually have to build the profile yourself unless it's provided for you as part of the stack you're using. Right. And so it makes it it makes it more work to do, but it gives you a ton of flexibility, which is a really nice feature to have.
Jeff Roberg: Right. Because you can make it really lightweight. Right. If you're just doing a very simple sensor, just sending back a temperature or something. Right. You could just send that back.
Chris Gammell: Exactly. You don't have to say, OK, now I'm going to open my transparent serial data pipe and do all that negotiation. You just say, I'm going to send one, yeah, one, one packet, one, one byte or two byte packet once a second. And then the module can sleep the rest of the time and it'll last on a coin sale for a year, you know, whereas you'd never, ever be able to do that with with Bluetooth classic. So the that the two design approaches are very different. And if you have both operating at the same time or even optionally, you know, one or the other, you're you're going to have to design around the one that eats power from from the rest of your perspective of the rest of your system. Because even if if you're only using BLE, you could run it on a coin sale for a month or a few months or, you know, whatever your micro is doing, maybe a year. If you also want to support classic Bluetooth, well, now you're really not going to be able to take advantage of that incredible power savings because you're going to have to run the classic radio all the time. And that's going to pull, you know, two milliamps all the time. And it'll kill a coin sale in, you know, two days. Yeah. It's analog versus digital cell phone, right? Exactly. So that's why most of the time, if you when you see dual mode radios, mostly they're in they're in the end of the connection that has the big battery, like the smartphone or the PC and the peripheral device has one or the other. And so there's there's a certain amount of security that it feels like you can get if you say, well, I want to support everything. So I'm going to build a dual mode module into my product. And you may end up actually cutting some corners or losing a lot of potential if you were to say, you know, I wish I could support classic Bluetooth, but my my product. I mean, most of my data transfer really isn't built around that. And I can make it way cooler if I do BLE only. So, I mean, it's a tough design choice. It'll become easier when BLE becomes more widespread, especially when Android starts supporting it. And, you know, most of Android phones have that API in them, which will take a little while. But that's that's probably the main challenge when when you design any kind of a Bluetooth product, especially when you make the choice between BLE versus classic Bluetooth. You have to look at the data that you need to transmit and or, you know, just transmit, but but send back and forth. And if if it makes sense to do it in BLE because of the way the protocols built and you have a very small amount of data that you send in frequently or, you know, something like that. If it fits in BLE and putting it into Bluetooth classic is more of a kludge because you want to support that, you might be better off just cutting that off and saying, you know, I'm going to go BLE only. Whereas if you have something where you're really pushing the limits of BLE, like BLE is bad for high bandwidth. Like you can't do audio over it, at least not right now. Of course. There's some really significant limitations in terms of speed because they built the whole protocol for very small packets very infrequently. So we've had a number of customers who really like a cable replacement example that we have, which actually works OK. It kind of bends the protocol into doing something that it really wasn't designed to do. And even though it works, if you were to compare a classic Bluetooth SPP connection to what you actually have to end up with on the BLE side of things in order to make it do what feels like the same thing, you're actually doing worse with BLE because you're using it in a way that it wasn't designed. Exactly. So, yeah, for dual mode designs, I imagine that there won't be a lot of those things other than how they are. You know, anything that's power conscious that needs to last for a while, those typically won't end up being dual mode designs for that reason. It'll be one or the other.
Dave Jones: Ah, Hardway. You are a fickle mistress.
Chris Gammell: You are a fickle mistress, yes.
Dave Jones: Well, Jeff, I'm afraid that your amp hour is up.
Chris Gammell: My amp two hours.
Dave Jones: We've been yapping on for like an hour and 45 minutes.
Jeff Roberg: Oh, it's been good, though. This is good stuff. Yeah, it has been good. I've enjoyed it. You talk to the code of the... It's like the gateway, you know? Bluetooth is the gateway that many people want to push things through. And having good modules and knowing how to use them are important things.
Dave Jones: Bluetooth is the Arduino of the communications world. You could almost say that.
Chris Gammell: You could kind of say the same thing for XB. Not to knock Bluetooth. I've used XB before. You're right. And it can be really convenient. But yeah, Bluetooth is great because of the smartphone integration. It just opens up so many opportunities. And I feel no shame in plugging Blue Giga because I do think they're a great company. And if you need support and you're in the US, you'll probably end up with me anyway.
Jeff Roberg: Suckers. Yeah.
Dave Jones: All right, Jeff. Thank you very much for joining us and giving us the lowdown on all things Bluetooth. It's something we haven't had on the show.
Jeff Roberg: How should people get in touch with you? Yes. Especially if they want to help out with KeyGlove.
Chris Gammell: Well, there's a contact form on the KeyGlove website that's really easy to find. I think it's under the contact menu item. My email address for that project is jeff at keyglove.net. That's probably the simplest way. My personal website is sectorfeg.com. Or sorry, .net. I get these mixed up. I think I have both actually. But sectorfeg.net. And there's another contact form there as well. My code up on GitHub typically has my email address in the header comments. So it's pretty easy to find me.
Jeff Roberg: And you're sectorfeg on Twitter as well.
Chris Gammell: And sectorfeg on Twitter, yes. I'm on Facebook too, but I typically don't friend people I don't know.
Jeff Roberg: Yeah. Facebook is for ignoring the coworkers' baby pictures. Yeah. All right. Well, thanks again, man. All right, Jeff. It was very cool. Cool.
Chris Gammell: You're welcome. Thanks for having me.
Dave Jones: And that's Jeff Roberg, not Jeff Kaiser.
Jeff Roberg: All right. Well, we'll talk to everyone next week.
Dave Jones: All right.
Jeff Roberg: All right. See you. See you guys.
Speaker ?: Thank you.
Archived Discussion (3)
Comments are closed. Archived from the original site.
Show archived discussion (3)Hide discussion
Keep current
Every episode, plus the occasional job post, in your inbox.

I should have been more specific about the dual-mode module. The BT111 is indeed a dual-mode module, but it only has the controller portion of the Bluetooth stack and is an HCI-only module, accessible over USB but requiring the host portion of the stack running (e.g. Broadcom, BlueZ, BTstack, etc.) on the host device. It is not like the WT12 (classic Bluetooth with iWRAP stack) or the BLE112 (Bluetooth Low Energy with IWRAP stack), both of which are totally self-contained and controllable over UART. We do have the HCI-only BT111 dual-mode module, but not a full-stack dual-mode module at this time.
CSR and TI has post on it.
http://www.csr.com/blog/2013/07/developing-bluetooth-smart-accessories-android
http://e2e.ti.com/blogs_/b/connecting_wirelessly/archive/2013/07/24/how-to-get-started-on-bluetooth-smart-for-android-4-3-jelly-bean.aspx?DCMP=jul24-blog&HQS=jul24-blog-sm