#212 – An Interview with Trey German - Launchpad Laden Lodesman

Download episode · 35 MB
Also on Apple · Spotify · YouTube · RSS
Show Notes
Welcome, Trey German! (@yertnamreg)
- Trey currently lives "inside the loop" in Houston, TX.
- He went to school at Rose Hulman, an engineering focused institution. He decided to attend after a summer camp where they built a holonomic robot.
- During school he was part of Rose Hulman Ventures. This introduced him to the company that gave him his first job, Simma Software.
- Simma designs protocols and stacks around CAN and J1708. These are used in large scale automotive applications.
- Trey designed a CAN bootloader which allows for reprogramming parts hanging off the CAN bus.
- After Simma, he was recruited by Texas Instruments to move down to Houston as part of the C2000.
- He had previously worked on Luminary Micro parts using the USB stack at Simma, so this was good preparation for porting that stack to C2000 (after TI bought Luminary Micro)
- The c2000 is a 32 bit processor with a built in DSP. This makes it good for applications with real time control and control loops.
- The memory address bus is 16 bits, which required defining new types during the USB port (messy!).
- USB does not need to run on an Real Time Operating System, though it can. They have a proprietary one called TIRTOS.
- lwip and microip are examples of ethernet stacks running without an RTOS as well.
- Trey announced his new position at TI: Launchpad applications manager! Congrats!
- The C2000 Launchpad (which Trey designed) uses Energia, the fork of the Arduino IDE. Energia supports TI parts and the Launchpad family.
- Energia was the rocket that carried a Russian clone of the Space Shuttle.
- The C2000 are used for high speed things like a switching regulator controller. The reconfigurable nature allows for efficiency improvements on existing devices in the field!
- They are also working on integrating PMBus (an i2c type of protocol for interfacing with switching supplies).
- The switching/digital power stuff runs at 100kHz+. The motors run more in the range of 10-50 kHz.
- The InstaSPIN software allows for monitoring and controlling motors without needing external sensors (also called Field Oriented Control).
- A Cleveland company known as Linestream works with TI on some of this software. Chris got to see a demo at the meetup he runs with Martin Lorton.
- The Clarke Transform and Park transform allow the math to simplify, by translating coordinates.
- A video by Dave Wilson really helps to clarify some of these points: https://www.youtube.com/watch?v=cdiZUszYLiA
- There is also a wiki where the theory and application of motor control are discussed in depth.
- The code is interrupt driven (no RTOS or OS needed) because of the fast response time needed.
- There is also a small co-processor called the Control Law Accelerator. They recently released a C compiler for it.
- Trey is working on a quadcopter using instaspin and Launchpad. The body is being cut from die bond material.
- You can catch Trey at the upcoming NY (World) Maker Faire. You can also find him on Twitter at @yertnamreg.
- Online he hangs out at C2K Central, 43oh and the E2E forums on the TI website.
Transcript
Chris Gammell: This is The Amp Hour Podcast. Recorded August 18th, 2014. Episode 212. With guest Trey German. Launchpad, laden, loadsman. Welcome to the Amp Hour. I'm Chris Gammell of Contextual Electronics.
Trey German: And I'm Trey German from Texas Instruments.
Chris Gammell: Welcome, Trey. We are Dave-less this week due to some scheduling issues, but my fault, actually. And we're glad to have you, though. Absolutely. Glad to be here. A Texas, a Texan. I am a former Texan now.
Trey German: I don't think I knew that. Where were you at when you were in Texas?
Chris Gammell: I was in Austin at Samsung for a little while, for about two years.
Trey German: Okay. Yeah, I've driven by there. That's a huge plant.
Chris Gammell: Yeah, yeah. They make A6 chips, I think, now. Apple A6. Oh, wow. Yeah. Yeah, so I know Texas Instruments has lots and lots of locations. I know in Richardson they have some fabs up there. Are you near the main Richardson site, or where are you?
Trey German: No, I'm actually down in Houston, more specifically Sugar Land. Oh, cool. So we actually, yeah, we just built a new building and moved into it in early June. So we're all really, really excited about that. It's a big upgrade.
Chris Gammell: Okay. But like better offices, that kind of thing. Like no fab, right?
Trey German: Yeah, so there actually used to be a fab down here in Houston, and they shut that down about a year ago. And so we were in a building actually next to it where they actually used to make printers back when TI still made consumer electronics. So we were in an office space there. And, yeah, they built us a new building. So now we're down in Sugar Land, really enjoying it. That's cool. Yeah.
Chris Gammell: And that Houston has some decent barbecue. Not as good as, you know, around Austin, but I hear Houston's pretty good. Oh, absolutely. That's what I miss. I miss it a lot.
Trey German: Yeah. No, you've got to love a good slow-smoked brisket. There's nothing quite like it. There's plenty of great food. That's one thing I really missed when I went up to school was all the great food down here. Up north, I was in a small town in Indiana. The food was just so bland. Yeah. So I always craved, you know, fajitas and things like that when I came back down here to Houston.
Chris Gammell: Yeah. So I didn't know you were a native. Where the hell is the accent, man?
Trey German: Y'all. Yeah. I actually grew up down on the southeast side of town in a little town called Friendswood. So I grew up there. My family's actually from Indiana, where I went to school. So that was kind of nice. Oh, yeah. But yeah, back down here and loving it. Houston's a great city to live in.
Chris Gammell: Yeah. So let's talk about school a little bit because I think you were our first guest who went to Rose Holman, which... Really? I think so. That's great. It's surprising, right? So here's my experience with Rose Holman. I went to CASE, which is here in Cleveland, right? And I went to go interview at GE Aviation, which is in Cincinnati. And I've never met so many people from... You know, like, basically, they tried to, like, pull every single person out of their senior class of Rose Holman and get them to work at GE Aviation. I never heard of it before I showed up that interview. And it was very jarring to me because I'm like, who the hell are all these smart kids?
Trey German: Yeah, that's one thing we're known for. You know, it's a really great engineering school that, you know, most people have never really heard of. And so my dad actually went there. And so that's how I kind of learned about it. And I did, like, a summer camp program there between my junior and senior year of high school. Oh, cool. Called Operation Catapult. And so we got to go build, like, real electronic things or really whatever you were interested in. Excuse me. It's a school that has many different disciplines. So when I was there, we made a little holonomic robot, which was kind of cool. So for those of you that aren't familiar, a holonomic robot is a weird word, but the concept is actually pretty cool. You've probably seen these wheels for robots that are out there. They're kind of plastic. They look like a normal wheel. Instead of treads around the outside, they've got these little rollers. So they can roll kind of parallel to the axis of the wheel, if you will. So orthogonal to how the wheel would normally roll. But they can also roll in the normal axis. So what you do is you put one of these on each corner of a triangular kind of robotic frame. And you can rotate smoothly in 360 degrees, but you can also move kind of laterally as well. So you can actually combine these to spin the platform. You travel like a line. So that was pretty cool and a really good introduction to the school.
Chris Gammell: Very cool. Then you just kind of jump right in and you're like, I got to go here, that kind of thing.
Trey German: Yeah. You know, the thing that really sold me was kind of the campus community and the people that were there. That's what really made it special for me. It was kind of like a big family. When I was there for this summer camp and then subsequently in school, you know, people didn't really lock their doors. Everybody had a great deal of respect for each other. And that's what really made it special. And, you know, we had some fun, too. Of course.
Chris Gammell: Well, you know, you got to let off some steam as an engineer. Yeah, yeah.
Trey German: Oh, absolutely. Absolutely.
Chris Gammell: And it's not that big, though, either. I remember it being like, what, like 400 or 500, like, undergrads or something? Maybe I'm wrong with that.
Trey German: No, the classes were probably about 400 or 500. Oh, okay. So my graduating class, I think, was somewhere in there. Total student population, I think, is somewhere around 2,000, maybe a little higher now. The class sizes have been increasing a little bit. But, yeah, it's a really small school, a real tight-knit community. It's kind of a closed campus outside of town. Lots of beautiful nature. There's lakes. It's a really, really pretty place. Yeah. Yeah.
Chris Gammell: Was it the list also that, like, there aren't PhDs there? Like, they don't grant PhDs? Is that the other thing? Yeah. Yeah.
Trey German: Yeah. So the highest degree that the school offers is a master's. So they really focus on undergraduate education. You know, in some of my higher-level classes, I had classes, you know, with less than 10 students in it. You know, you personally knew, you know, all your professors. You know, actually, one time, this is a pretty funny story. His name is Dr. Hernander, and he was kind of a power electronics kind of expert, did a lot of stuff with cars, you know, taught our basic kind of, like, transistors class, things like that. So I was in one of his classes, and, you know, he was always really hard with the grading, and it was around Halloween time. So to get some extra credit points on the test, I think he offered us, like, 20 points or something of extra credit if we dressed up as, what was it? I think it was, like, John Travolta in the movie, what was it? I don't know. Saturday Fever or Grease or something like that? No. No, we had to cross-dress. So it was a movie where John Travolta was dressed up as, like, this overweight woman with, like, big hair and stuff like that. So most of my classmates and me, we dressed up like this, albeit kind of half-assed, and then went to his house, you know, 10, 20 miles away, showed up at a doorstep to trick-or-treat and get our bonus points for that test. So that was an interesting night.
Chris Gammell: Never underestimate the desire of nerds to help their grades. Get good grades, yeah. Yeah. That's awesome. Absolutely. Absolutely. That's great, man. That's great. Yeah. Yeah. So then what was post-school? So I heard you telling someone about the 2009 kind of time frame was kind of rough or something like that.
Trey German: Right, right. So I graduated kind of at the, in the middle towards the end of that kind of economic downturn that we had here in the U.S. Yeah. And so it was just...
Chris Gammell: I bought a house then.
Trey German: It was fun. Yeah. I mean, if you could, if you had the money to do it, it was a good investment. No, no, no.
Chris Gammell: I bought it right beforehand. Oh, I see. I see. Yeah, yeah.
Trey German: That sucks. How to swim.
Chris Gammell: But, yeah.
Trey German: But, yeah, after school, I had been working at part of the school called Rose-Hulman Ventures. So they do, like, kind of consulting engineering for industry. Industry will bring in problems that they have or projects that they need done. And then Rose-Hulman Ventures hires students to do those. So I was working there for a really small software company at the time called Sima Software. And I was an intern. And so after the summer expired and I could no longer work as part of the Rose-Hulman Ventures program, Sima Software decided to hire me on full-time. And so what they did was CAN software. So CAN is Controller Area Network. It's a differential serial bus that's used in automotive applications. And so I got to work a lot with CAN software. So I wrote things like bootloaders. I worked a lot with TI parts there. And I also designed some of my first real hardware products that were sold. So that was pretty cool.
Chris Gammell: So what kind of stuff?
Trey German: So I made some, like, CAN adapters. So think, like, serial to CAN, Bluetooth to CAN, Wi-Fi to CAN, all those kind of just different interfaces to different automotive networks. So in addition to CAN, they did another network called J1708, which typically you implement it with a standard UART. And if I remember correctly, I think it was a 485 transceiver or something like that. So just products to interface to really big rigs like, you know, 18-wheelers, things like that. Yeah, industrial level. Yeah, not so much consumed stuff.
Chris Gammell: Oh, that's the fun stuff anyways. Because then it's got to be ruggedized. It's got to be, like, super, super reliable. You get to actually really test stuff well. You know, they allow time for testing that much stuff well.
Trey German: Absolutely, yeah, yeah. That's cool. So that was, I really cut my teeth on software there and learned a lot about kind of all the things they didn't teach me in school, you know?
Chris Gammell: Yeah.
Trey German: That first kind of little bit of real-world experience.
Chris Gammell: So you said there was a bootloader. It got loaded over CAN. So basically, you were, like, reprogramming something over CAN. Is that the idea?
Trey German: Yeah, exactly. So if you think about it right, you've got all these different microcontrollers throughout a vehicle. And let's say somebody discovers a bug in the firmware of one of them. Oh, yeah. You can't really pull those things out of the car and open them up, plug into the JTAG header, and reprogram them. So this is something that's commonly done in really a lot of products, right? You'll have a little bootloader, which is a small program that resides in Flash. And when the device boots up, it runs this bootloader first. And normally what the bootloader does is it checks the application for validity. And then if it's valid, it'll actually transfer execution and start executing the real application. Well, if you need to update that application, you've got to have a way to do that. And so that's what this bootloader code does. Typically, there's a way for the application to enter back into the bootloader. And then the new application software is loaded over some type of communication network. In this case, it was CAN. But this can be done with USB, just a simple UART. Really, any way that you can get information into a chip, you can use to load applications into it.
Chris Gammell: So you'll have to excuse my presence temporally to DEF CON. I was just at DEF CON, so I'm thinking about security still. Sure, sure. Does that mean if someone kind of tapped into the CAN bus network, they could... Or say you put a Bluetooth device on a CAN network. Would it be possible for someone to try and reprogram parts of a car kind of thing? Absolutely.
Trey German: You know, with the right knowledge. But, you know, a lot of this stuff is proprietary protocols. So while the information, you know, you can see the ones and zeros, you don't know what the ones and zeros mean. And sure, that can be reverse engineered through a lot of time and effort or, you know, social engineering, trying to get design specs and things like that. But it's not something that's easily done, is what I would say. Okay. And, you know, the data, if, you know, you had a tool that had an update program on it, but you couldn't get to it there, you know, you could attack the CAN bus itself as it was transferring that update for the firmware. But there's also, you know, ways that you can encrypt that communication. Even though the CAN bus data itself isn't encrypted, you can encrypt the kind of data that it's carrying. Oh, right, right, right. Yeah, it's just hanging out there. Yeah, yeah, exactly.
Chris Gammell: The packets it's sending are already encrypted and need to be decoded on the other end, right? Yeah, exactly. Huh. That's pretty cool. Yeah, I was wondering about that stuff, too, because I think about... I think we've talked to Tom about CAN stuff when he was on the show. Like, that stuff's never open to the user, right? For good reason, right? Because there'd be so few users that would actually want to in the first place, and then it could be a hazard if they do. But I always wonder about that, like, why... Like, if anyone had ever opened that stuff up to users to actually allow mods and stuff like that. Sure.
Trey German: So, you know, I think, you know, I'm a little bit of a car guy, too. Yeah? And so, yeah. There are tools out there. So the OBD stuff is standardized. So there's tools. I think one is out there. It's called, like, ROM Raider or something like that. But there are tools that connect to your CAN bus and your car with the OBD2 connector. And then you can actually kind of reprogram the main engine control module. So remap the fuel tables, change, you know, boost pressures if it's a turbocharged car, mess with spark timings, all that kind of good stuff. So tools to do that. You're typically only going to see that for, you know, cars that people like to mess with and kind of hot rod and stuff like that.
Chris Gammell: So you mean a Honda Civic, a 2004 Honda Civic? Is that what you're saying? Like I have?
Trey German: Yeah, yeah. So, you know, you can get your rice...
Chris Gammell: The big dent in the front?
Trey German: Yeah, you can get your rice burner and, you know, hack the ECU.
Chris Gammell: I don't think my thing is going very fast ever. No? I'm okay with that.
Trey German: Yeah. You know, anymore I find myself, you know, chilling out when I'm driving. I'm like, I just got to get to work. There's no rush. There's no reason to risk a speeding ticket or anything like that.
Chris Gammell: The only upgrade I need is, you know, self-driving. Once I get there, I'm done, you know? That's going to be nice. I can't wait for that.
Trey German: Yeah. Yeah, especially in Houston with all the freaking traffic there, right? Oh, man. It's bad. Thankfully, I live... We call it inside the loop here. So we've got two loops and inside the inner 610 loop, you know, we like to say that's where all the cool kids hang out. So I do the reverse commute. Oh, okay. That's good. Yeah. Yeah. Yeah. So it's, you know, it's probably about 30 minutes out and back to Sugar Land every day each way. So not too bad. I think a lot of people have about a 45 minute to an hour commute. So my 30 minutes out to Sugar Land isn't bad. Man. Yeah. I can't complain.
Chris Gammell: Well, my commute is now 30 seconds.
Trey German: So are you still up in, what is it, Cleveland or... Yeah. Yeah. Okay. So you're going to work for Supply Frame from there?
Chris Gammell: Yeah. No, I do. Yeah. I work for me and Supply Frame. So... Okay. Yeah. Right. Right. Right. Right. So, enough about me. But what about you? What about... So from there, you found your way to the monolith. Monolith, that is TI. One of our favorite companies at the Amp Power. Yeah. Yeah. How did that happen? Like, what... How did you get started there?
Trey German: So, we actually had a FAE come to visit us at Sima Software. So, you know, we were looking at, you know, some TI parts and talking to him. And, you know, I got a chance to interview with him. And so, I did an interview. They did a follow-up.
Chris Gammell: Wait a second. Did he come to your office to interview? Or did he just came and he told you about a position?
Trey German: So, there's some specifics there that I don't want to discuss because it has to do with Sima Software. Gotcha, gotcha. But, you know, I interviewed with TI and had a follow-up technical interview that went well. I think I answered every single one of their questions. And so, they flew me down to Houston to interview with the C2000 team. And I didn't know it at the time, but I was going to be, like, a perfect fit for this job. Yeah, yeah. Go ahead. What were you going to say?
Chris Gammell: Oh, Sima. Well, I didn't piece that together. So, Sima was back up in Indiana still, right?
Trey German: Yeah, Indiana.
Chris Gammell: Oh, okay.
Trey German: So, it was in the same town that I went to college. Gotcha.
Chris Gammell: Oh, cool. Okay. So, then, yeah, that works out. Man, that's like... That sounds like serendipitous, huh?
Trey German: It really was. You know, things, I think, were just meant to work out that way. And so, I'm pretty glad they did.
Chris Gammell: Yeah. Yeah. So, you said the C2000 group, right?
Trey German: Yes. So, I interviewed for a position in C2000. And like I said, I didn't know it at the time, but I was a perfect fit for the job. So, some of the work I had done at Sima Software was with one of the then-luminary micro LM3S microcontrollers. So, they're just a general purpose kind of arm Cortex-M device. Yes. Well, while I was working with them at Sima Software, TI bought that company. That's right.
Chris Gammell: That was about three years ago, right? Or, no. More than that, obviously.
Trey German: Yeah, I think it was a little before that. I want to say it was...
Speaker ?: Yeah.
Trey German: Yeah. It probably would have been 2009-ish? 2000? No, 2009, I think. Yeah. Somewhere in there. Anyway. Yeah. So, I was playing with those. And I had an opportunity to get familiar with USB. And I had never really done USB or anything at all like that. But I was like, oh, this will be cool. You know, it's the peripheral that's really... If there's one peripheral that's prolific kind of throughout our lives, I would argue that it's USB or it was USB at one point.
Chris Gammell: Yeah, it still is there for sure, right? Just not the only one.
Trey German: It's still there. Exactly. Exactly. But, yeah. So, I got a chance to get familiar with that. So, back to the story at hand. So, I interview and they're asking me all these questions. And they're like, do you think you could... Excuse me. Port the USB stack for that device to a new architecture. And, you know, I didn't have any experience porting that much software of that magnitude. You know, a whole protocol stack. But I was darn sure going to give it a try. Yes, sir.
Chris Gammell: Right away, sir.
Trey German: You know, I'll take the job, right? Yeah. So, I accepted a position in the C2000 group as a validation engineer. Okay. And so, what I was doing there was kind of beating up silicon, both before it physically existed and after it physically existed. So... Does that mean you're the guy that writes errata? Is that like you? Like... Yeah. So, I did the job of, you know, finding those bugs. And, yeah, if there was something that we couldn't fix, you know, we would write an errata for it. So, that was part of my job. And one of the peripherals that I was given was USB. And so, what we had done is we had taken the USB peripheral, the IP for that, from the Stellaris device there. And basically put it on one of our C2000 devices. So, C2000, it's a proprietary architecture, for those of you who aren't familiar. It's a 32-bit kind of really optimized for real-time control application. So, we do, you know, DSP, running control loops, you know, IAR, FIR filters, all that kind of good stuff.
Chris Gammell: I have lots of questions about that. We'll get to that.
Trey German: Okay. Yeah. So, yeah, we do all that kind of good stuff. But it's a different architecture. And the thing that kind of makes it different is that the memory locations in it are all 16-bits wide. So, normally, you think of a byte as 8-bits. Well, actually, on our architecture, a byte is 16-bits. Oh, man.
Chris Gammell: So, how many times did you curse the architect's name for that one? Like...
Trey German: You know, importing, you know, normal byte-addressable software, it is a little, it can be a little frustrating. But it's imminently doable.
Chris Gammell: Is that like setting up different bitmasts then? Or like, what ends up having to be the big changes there?
Trey German: Okay. So, I'll explain the big change. Basically, this data would come in from the USB peripheral into these FIFOs. And it would come in a byte at a time, a normal 8-bit byte. And so, we would copy that out into memory. And so, we would have these 8-bit bytes sitting in 16-bit locations. So, first of all, we're not using half of the memory here. Secondly, the way the stack was written is that it had these structures. So, you know, you've got a bunch of unsigned chars in a structure. And, or, the chars were okay, but it was the shorts and the longs. So, the 16, the variables that were supposed to be 16 and 32-bits long. So, if you think about this now, the compiler interprets the byte-wide members of the structure as a single memory location. Excuse me. It also treats the 16-bit members as a single byte location. And the 32-bit members as a two-address location location, if you will. Sorry, that was a terrible explaining.
Chris Gammell: So, yeah, it's like two bytes, but not normal bytes, right?
Trey German: Yeah, yeah. So, if you look...
Chris Gammell: Why don't you change the name so they're not like bytes? It's like bits. No, not boats or something like that.
Trey German: Well, a lot of times, yeah, a lot of times I'll use words instead of bytes to kind of help clarify that. But, basically, these structures, when they were typecast over memory, none of the fields lined up. And so, that was the main problem that I had to deal with. That was terrible. There was a few other... Well, it required a lot of changes, but the changes were all very uniform. So, I tried to solve it in a way that was somewhat extensible. If you will. So, what I did is I basically defined some new types. And so, for these types, I made them match up between what they were supposed to be, like the number of locations they covered, and how they were. So, basically, the shorts became two shorts. Yeah. The shorts became two shorts, and the longs became like four shorts. So, basically... And then I wrote macros to kind of decode these things. So, anywhere where I accessed one of these in the code originally, I had to add this, like, little helper function to read the data out or write it back. And that was a little tedious, but, you know, it worked.
Chris Gammell: So, let me ask a really naive question then. Naive because I'm not really sure what's involved. Why not just write a USB stack from scratch then? Like, was it that much less work?
Trey German: Well, yeah, I would say so. So, you know, USB is a pretty hefty protocol stack, and supporting all the different examples that we had, all the different device and host classes that the stack supported. Oh, yeah. That would have been a big effort. Plus, you know, it's reuse. You know, we wanted to kind of stay in line with the other teams that were using this piece of IP. Because, you know, if they found a bug, they could fix it, and we could take their fix. And if we found a bug, we could fix it, and they could take our fix. So, you know, it actually does help to make the software higher quality. Okay. So, there's valid technical reasons to kind of do it that way.
Chris Gammell: Yeah, no, that's a great explanation, for sure. You know, I ask that as someone totally oblivious from the USB stack. Now, the one thing that I do know about stacks is whenever I hear stack, I think RTOS. Does that mean you had to build that on top of an RTOS?
Trey German: No. So, a protocol stack is kind of, it can be independent of an RTOS. I would say that, you know, there are stacks out there for certain communications peripherals and things like that that can play nicely with an RTOS. But, you know, we've got stacks that, you know, go either way. So, the USB stack, for instance, it's not written for an RTOS. But with TI RTOS, we've got an RTOS that we have written in-house within Texas Instruments. They've taken that and kind of integrated it into their package. So, you know, they plug all their interrupts into their hardware interrupt handler. You know, any periodic tasks that need to be done are done as part of the RTOS instead of using like a dedicated timer or something like that. So, you know, RTOSs are cool. They're awesome. They're a very useful tool sometimes. But they're not necessarily required in any embedded application.
Chris Gammell: I thought they were for like Ethernet type stacks where they're, maybe I'm wrong about that too. Nope.
Trey German: So, we have a couple devices that run a stack called LWIP. It stands for lightweight IP. There's also another one called micro IP and neither of those require a RTOS.
Chris Gammell: Okay, cool. That's good to know. Yeah, because I'll stop saying that then. Yeah, I can talk software all day. That's good, man. That's real good. We don't get your kind around here very often.
Trey German: No, no?
Chris Gammell: I mean, here and there. I mean, obviously, we've had, you know, we've had like Jack and Alicia on the show and they all are firmware-y folks. And mostly, I'm scared of you. So, you know. I gotcha.
Trey German: Well, you know, I like doing hardware too. So, that's, I think hardware was my first love. And then software was kind of a means to an end. You know, you build the hardware, but then, you know, a lot of times you need software to run on it to make it do what you want. And so, I kind of learned software so that I could make really cool hardware.
Chris Gammell: That's good. So, do you get to, so your title was applications engineer then?
Trey German: That's what I tell people. So, I started out as kind of a validation engineer. Then I actually moved to our software team. Oh, cool. So, I was in the C2000 software team and did all that stuff, did Launchpad. And I actually just accepted a new role within TI. Ooh, do tell. The world exclusive here? Actually, yeah. So, I haven't announced this publicly on any social media channels or anything like that. But I'm very excited to announce that I just accepted a role as Launchpad Applications Manager.
Chris Gammell: That's awesome. So, now, every time someone wants a Launchpad, we'll give you Trey's Twitter handle at the end of the show. It's his name backwards, basically. You figured that out. I figured it out way too late. Yeah, I was like, what the hell is that? His first name backwards, then his last name backwards. But, yeah.
Trey German: I'm trippy like that.
Chris Gammell: You can bug him on Twitter now. Like, hey, man.
Trey German: Absolutely, yeah. Yeah. That's great. Well, congratulations.
Chris Gammell: That's really good. And Launchpad is doing great. I mean, like, I see those a lot of places. I mean, it's in the mix with all the other dev boards and stuff like that.
Trey German: So, very cool. Yeah, yeah. No, yeah. So, I actually, I designed the original C2000 Launchpad. So, I was very excited to kind of do that and, you know, honored, really, to be part of such a great platform. Yeah. So, yeah. We've got a lot of really cool stuff actually planned for Launchpad and Energia. Energia. So, if you're not aware, Energia.
Chris Gammell: Which is a great idea with a terrible name. You don't like it? I call them how I see them, man. That's a terrible name. Well, you know the story behind it, right? No, I don't. Maybe that'll change my mind. I don't know. Okay.
Trey German: So, maybe we should tell me what it is first, right? Okay. Yeah, absolutely. So, Energia, for those of you who aren't aware, it's a wiring software for Launchpad. So, wiring is the language that Arduino uses. I believe processing is the IDE that they run it in. And so, basically, what we've done is we've forked their project on GitHub and created our own open source project called Energia. And so, what you can do is basically take an Arduino sketch or write your own sketch in wiring. And with Energia, you can compile it and download it to most of the Launchpads.
Chris Gammell: Yeah. Because right now, if you go into the Arduino IDE, the hardware that you can select is mostly Arduino stuff. I haven't looked in a while, but they have pull-downs for all the different codes and stuff.
Trey German: So, we've basically added support for our Launchpad. So, wiring is not something that's exclusive to Arduino. It's actually used in a lot of places. And so, it's kind of the de facto standard for the maker community. And that's something we want to support. And so, we've come out with this.
Chris Gammell: That's great. Yeah, that's really great. And so, the other thing I was going to mention, too, is the Launchpad started with the MSP430, right? Yes. That's the one that most people know about it. So, why did you design the new one in there?
Trey German: So, we basically saw the success and how popular and how innovative the MSP430 Launchpad was. You know, it brought things like a debugger to the table that, you know, dev boards like the Arduino had never had before.
Chris Gammell: Which is a shocker if you're expecting a debugger, by the way. That happened to me.
Trey German: Right. Yeah. Yeah. Yeah. You know, it's kind of blow and go with one of those, you know, keep your fingers crossed that it works. So, you know, we saw the success of that and how it was, you know, enabling customers to, you know, try out this platform because of how low cost and easy to use it was. And so, we wanted to kind of do the same thing for C2000. So, there's actually a whole big long story behind the C2000 Launchpad that, you know, I could tell sometime, but I don't think we have time on this show. But yeah, so we developed the C2000 Launchpad and I took it, you know, all the way to production with a Chinese contract manufacturer. And, you know, that was an experience in and of itself. But, you know, a great one, a great learning experience there. And so, yeah, we came out with the C2000 Launchpad and that's where it sits today.
Chris Gammell: Is it pretty overkill for what it is? I mean, it seems like C2000 is pretty, or some of the variants are pretty powerful.
Trey German: Is it kind of overkill or? So, I don't think so.
Chris Gammell: You know. Says the guy who writes software for it. Yeah. Okay. Right.
Trey German: You know, I like having, you know, enough horsepower and, you know, RAM and flash that I don't have to worry about it. Especially for dev boards like this, you know, it's, you're going to spend an extra, you know, five bucks to get, you know, 50 megahertz of performance or something like that more. You know, why would you not, you know, spend the money to just not have to worry about stuff like that? So, yeah, it's a 60 megahertz device. It's got, you know, I think about 40 IOs. It's got JTAG isolation, which is nice. You know, a lot of the stuff that we do in C2000, I don't think I really covered that. You know, I said digital real-time control applications. So, what's that, Trey? Well, what it is is.
Chris Gammell: Hey, I'll ask the questions here, mister.
Trey German: What it is is basically any apps where you have to sense the analog world, do some DSP, you know, control algorithm kind of stuff, and then interact with the real world. So, a good example of this is like a switching power supply, right? You're monitoring the output voltage, the load, current, you know, all that kind of good stuff. And then you're running a control loop to adjust the duty cycle of your PWM to kind of control those parameters. So, traditionally, this has been done with analog control ICs. But now there's this kind of movement to bring this to the digital world. And that's actually... Which I don't agree with. Yeah, Chris is going to fight me tooth and nail on this. But I would argue that it's actually a better development flow. And the reason for that is, you know, if you calculate a filter value wrong, right? If you're doing this with an analog control IC, you've got a network of resistors and caps, maybe some op amps in there to buffer things. And so, you've got to go back, completely recalculate all those components, you know, unsolder them from the board, solder new ones on there. Maybe you have to order new components. You know, that can be very time consuming. When you do this digitally in software, you know, you recalculate the coefficients for your filter, and you just change the code. You recompile it, you flash it, and, you know, that took you five minutes instead of an hour. So, it can't be a big time saver.
Chris Gammell: I don't know, man. You want to have it out on this one? All right, I'm stretching here. I don't know if you can hear me. All right. So, what about... So, that means you have to have... Now, I would agree with that if you are already pushing code specifically to that device. I would say, though, the cost of maintaining another firmware image is not worth it compared to a low-cost switching regulator. So, like, I'd rather have a set-and-go resistor capacitor, assuming it's, you know, a static application, right? Maybe that's not a good assumption. Yeah. But, you know, if you're just doing... Maybe, again, these are the simple cases, not where you'd do it, but, like, you know, if you're just doing a normal switching regulator, you know, five to three-three kind of thing, an amp or so, why wouldn't you just use a regulator?
Trey German: Right. No, that's... You're absolutely right. In a simple application like that, I would not argue that there's a need for a more complex control solution like a C2000 device.
Chris Gammell: So, where are they then? Where are those places where it really is needed?
Trey German: If you think about, like, server power supplies, so think of, like, a big data center, right? They want those power supplies to be as efficient as possible, right? Because every fraction of a percent of efficiency translates into big money when you've got, you know, thousands of computers burning electricity. So, an application like that, you can actually go in, if you're able to find a more efficient way to switch the power, you can go in and update the firmware of the device and, you know, see real financial gain from that. Okay, that's kind of cool. Yeah.
Chris Gammell: Is that, like, PMBus as well? Is that something you guys do as well?
Trey German: Yeah. That's something we're getting into. Yeah, absolutely. Cool.
Chris Gammell: That's like the control, or that's the communication network, right, for doing that, upgrading?
Trey German: Absolutely. Absolutely. So, that's based on I2C. Yeah. Okay. But we're in a lot of other cool applications, too. You know, I can't tell you any specifics, although I wish I could. But, you know, things like electric cars, you know, the big switching circuitry that drives the main traction motors, you know, we're in some of those. So, you know, really, really actually pretty cool applications. Elevators, motor controls, and power supplies are basically our big one. Who doesn't love a good elevator, right? You know, sometimes I'm lazy, and I like to hop in an elevator instead of taking the stairs.
Chris Gammell: No, that is cool, though, because, I mean, like control systems in general, I mean, like they are mind-boggling sometimes, right? I mean, like just... Oh, absolutely. Like you said, calculating those coefficients, making sure you have a properly damp response, all that good stuff from your control system theory classes that everybody took out there, or will take, or fears taking, or has nightmares about stuff.
Trey German: That was me. Fears taking. That was me. Yeah.
Chris Gammell: But, you know, that stuff is really important, and it does have these real-world impacts, right? Oh, absolutely. So, my experience is, and I talked about it on the show, and I stopped talking about it because I stopped working on it, but I have the high-voltage, the kit using the Piccolo, which is one of the C2000 variants, and actually doing an AC induction motor, which is similar to a lot of those electric cars, like you mentioned. Like the Tesla uses an AC induction motor, I know. So, it takes that huge battery stack, and then monitors that, and then also can basically inverts it using the big switches, right? I mean, like, so that's very, very cool stuff, and it makes things move. Absolutely. It looks awesome. Yep. Move things very quickly. Mm-hmm. So, did you, when you were working on the software stuff, was it mostly on the peripheral side of things, or did you also get to dig into the DSP? Because that's a piece that I don't quite understand how all that all plays together.
Trey German: You know, I've kind of stuck my toe in it, but, you know, the math involved there is, it's pretty serious stuff. I've gone to a couple sessions. We've got a guy in our group that puts on these control theory workshops, but I'll be honest with you, sometimes some of that stuff, it just kind of whizzes over my head. But, yeah, we do do this DSP, you know, basically, you know, my focus has been more on the peripheral side of things, making sure that part of the chip works. But then we work with our systems team, and they develop libraries for everything from, you know, DSP math, and like I was saying, the different filters, FFTs, things like that, to things for digital power or motor control. So we supply like little assembly blocks that you can implement, you know, all kinds of different transforms that are used for motor control. You know, we've got solar libraries, you know, libraries for power line communications. That's another application area that we play in. So, yeah, we've got all those stuff.
Chris Gammell: So what's an idea of like the response time? So you mentioned like assembly, so that usually implies that it needs to be super, super quick. Like what's the response time that you need to get like in a control loop? Do you need to get like millisecond response or less or do you know that kind of stuff?
Trey German: You know, it really depends on the application. Okay. You know, digital power applications are typically a lot higher frequency than something like motor control. So for motor control, I think they typically run their PWMs in, you know, the kilohertz range, you know, anywhere from like 10 to 30, somewhere in there. Digital power, you're looking at 100 kilohertz plus. Okay. And so...
Chris Gammell: Yeah, I guess that takes the size of your inductors down as well when you start doing higher frequency stuff.
Trey German: Absolutely, absolutely. So, yeah, it really just depends on the application. But, you know, a lot of applications, it does get kind of tight. And so that's why we're building, you know, higher end devices. So we just came out with a device that has a whopping 800 MIPS of performance. It's really, it's a beast, let me tell you. It was fun working on it.
Chris Gammell: I have no... See, that's the thing. People say MIPS and I'm just like, I don't know. I mean, I know it's mega instructions per second, but like, okay. Like, like... What does that mean? Right. Yeah, what does that mean to me? Like, I've never gotten personally to the point where I'm like, oh, I'm out of juice on my processor. I'm like, where's the manual to my processor? You know what I mean? Right, right.
Trey German: Yeah. So, you know, most of the time as hobbyists or makers, people don't get to that point. Yeah. But when you talk about people that are building, excuse me, real high end, high performance applications, they get to the point where they, you know, they use up every last little resource within that processor. You know, one time, actually, when I was working for CIMA Software, I bit banged CAN in assembly and I was using up... And this was on an MSP430. I wrote this thing...
Chris Gammell: That's your own damn fault there, Trey. No, this is my job.
Trey German: This is a 16 megahertz MSP430. And I was, you know, I was counting, you know, every instruction, like how many cycles they took. You know, I had very carefully partitioned my RAM because I think it only had like 256 bytes of RAM or something ridiculous like that. So I'm having to really just hand optimize the crap out of that thing. And, you know, people have to do that in industry too. And so that's why we want to supply things that are, you know, as efficient as possible. And that's really where we excel.
Chris Gammell: Yeah, that's really cool. Yeah, and I wanted to call out as well on... So Trey mentioned the math on motor control stuff. And it's just like, it's entering a whole different world. So there's Clark transforms and Park transforms and all these different macros and, what is it, Cermod macro? I'm just looking at a block diagram right now. Honestly, I have no idea still what it is. So, you know, basically these feedback mechanisms, though, that then they shape the data and basically do stuff with it.
Speaker ?: Yeah.
Trey German: Would you like to know what they do?
Chris Gammell: You know?
Trey German: Yeah, definitely. I can tell you a little bit about it. Okay. Yeah. Let's hit it, man. Yeah. Basically, one of the big kind of technologies that we're really excited about, the marketing name for it is Instaspin. Oh, yeah. There's some guys in Cleveland that do that stuff, I think. They do some... Yeah, yeah, line stream. Absolutely. Yeah. So what we do is called field-oriented control. And basically, this is a way to commute a three-phase motor, and we do it sensorlessly. So what does that mean? Well, typically, you would have like a hall effect sensor, a magnetic sensor attached to the motor so you could tell where the flux from... I always get the stator and the rotor confused, so you'll have to forget. Yeah, me too. You can tell where one of those is, basically. Okay. And that allows you to place the flux vector from the coils at exactly 90 degrees to very, very efficiently spin that motor. And so the special piece that we have is making that sensorless. So we don't have a hall sensor. What we do is we measure the currents and voltages on each of the phases. And using a special piece of software, we're actually able to generate that flux vector from that information and then very efficiently control these motors. So we can control these motors, I want to say, at greater than 90% efficiency. I don't know the exact numbers on this. Right. But really, really efficiently.
Chris Gammell: Right. Which really matters because I'm looking at my kit right now. So I have the kit, the high voltage kit, and it can do up to 1.5 kilowatts. So even at 90% efficiency, you're burning 150 watts, right? I mean, that's pretty beefy. That's a lot of heat. Yeah, that's a lot of heat. It's got some crazy ass heat sinks on this thing.
Trey German: Yeah, yeah. So anything you can do in these applications to really bring more efficiency out of your power stage is very important. And that's what we're all about.
Chris Gammell: Right. Yeah. And the other thing I think to mention, too, is that the thing that usually is crazy is that you have dynamic loads, right? So that's really where the crazy piece comes in. That's the thing that blew my mind is thinking about it. Okay, even just getting it up there and measuring it. Okay, I know the current. I know the voltage of these coils. And I can feed that stuff back in. And then now, you know, something happens and, you know, your wheel falls off or, you know, something grinds up and, you know, you have to respond to that. You know, that's an extreme example. But there's always these feedback type things where the external stuff messes you up like crazy.
Trey German: Yeah, no. Changing loads, dynamic stuff like that, that definitely can trip you up. But InstaSpin is able to handle that.
Chris Gammell: So I should mention as well that when the LineStream guys came out, they came out to one of our meetups. And I don't think I posted the video yet, but they brought one of their demos. It had this, like, this single axis stage where it was, like, for a conveyor belt, right? And they could control stuff really, really well. They put a beer glass on it. And then it was, like, zipping. And basically, they can control the acceleration, deceleration. So it didn't spill at all. And, like, how does it get any better than that, you know?
Trey German: Yeah, I've actually... That conveyor belt, I know exactly which one you're talking about. I've actually shown that it shows before.
Chris Gammell: Oh, yeah. It's a great example.
Trey German: Yeah, I had it at, what was it, Embedded Systems Conference or eLive or whatever they were calling it this year.
Chris Gammell: That's where I met you. I met you there at the end of the day.
Trey German: Yeah, yeah, absolutely. Yeah, you had your Google Glass on.
Chris Gammell: That's right, yeah. So, okay, so you were going to tell us about these Clark and Park. What the hell are those?
Trey German: Oh, right. So that's, so one of the things that happens in this algorithm and the way that we solve the control problem is we move our point of reference of kind of where we're observing things on the motor. So instead of being kind of external to the motor, we do our math like we were sitting on the motor and everything else was rotating around us. And I believe, if I'm not mistaken, that the Clark and Park transforms are ways to go between those two spaces, math-wise, if I remember correctly. But I could be completely wrong here.
Chris Gammell: No, that makes sense, though, because then you'd have all, yeah, you'd have all the, the transform would actually refer to like the coordinate shifts and all that crap, right? I mean, that would be... Yeah, exactly. Okay. Exactly. I did get scared off by a bunch of the math. I do remember that.
Trey German: It's, it's pretty intense stuff. Video online by a guy called, his name is Dave Wilson. And so he's, he's one of the guys kind of behind this. I'm trying to find it now, but it's, it's somewhere on here. Yeah. It's a, it's a really great video.
Chris Gammell: There's also a wiki page that, that helps, that helps me out. I've been reading a bunch. So I'll post that as well. Uh, that has some more info on this stuff, but yeah, I'll try and find a link to the
Trey German: video and send it to you so we can put it on there. Okay, cool.
Chris Gammell: Well, that's good. Uh, so do you get to like go out to like test facilities and see this stuff in action then too?
Trey German: I mean, like, uh, I haven't really gotten an opportunity to do that yet. Um, but, um, you know, I have some counterparts that have, and, uh, you know, we've, we've gotten some really cool videos back of, of customers, you know, we'll give them this technology and, you know, in 30 minutes to an hour, they'll take one of our kits and hook it up to, you know, whatever physical system they have. And, you know, they'll get things tuned up and, you know, they'll be able to run their application. Um, kind of just like that, if they've got, you know, the, the motor control background to kind of understand this stuff. Cause it is, you know, it's like we were saying, it's pretty, pretty high level, tough, uh, tough math. Yeah.
Chris Gammell: Oh, don't feel bad that I didn't do it right. I didn't have anyone here and I kind of fell off the wagon. So it's all good. No, the thing that's interesting about this too, I think we had talked about this on a previous show, but like, I didn't quite realize the scale of where this stuff's going to get put in. Right. I mean, like this could very realistically enable, like, I mean, I already have some of this stuff, but like thinking like even like a refrigerator, right? Like a, a DC refrigerator right now, very, very difficult. But even if you wanted a higher efficiency AC fridge, you would probably take, you'd probably rectify AC coming in, store it in a high voltage pack or, you know, high voltage, voltage bus. And then you do the same thing because you can optimize it and control it. Like you said. Absolutely. And that's, that's really cool. I mean, like I, and the same thing I was thinking about, you know, I've always wanted to put solar panels on my house. Dave's done that, but he doesn't, I don't think he stores it. I have a friend that stores it. I think Martin's doing that. Martin Lorton here in town. Mm-hmm. And, and thinking about, well, that's only so much good as like, you know, you have to, you have to reinvert it then, but then you have losses there. Why not just directly, like if you had like a water pump or a well pump, you know, you could start to do that thing. Anything that needs to move, you can really start to move from a DC solution straight into motion with this kind of stuff.
Trey German: Absolutely. Which is. And, you know, you mentioned, you know, a lot of applications there and I, you know, I think for, for every application you mentioned, uh, you know, we've got kind of a customer somewhere that's doing that. Yeah. With, with InstaSpend. Yeah.
Chris Gammell: Yeah. And that's the thing. I mean, like with all this crazy math, you have to kind of take it, you have to take it down for the dummies like me or not even dummies, but just people that aren't concentrating on it, you know, like you basically offer that solution and charge some dough on top. Yeah. So that's cool. Yeah. I was surprised too about that. Like they said that they, so the InstaSpend stuff, like you actually sell the ROM on top of the chip, right?
Trey German: Yeah. So the, the InstaSpend devices, the, the special thing about them is, uh, the code in ROM. That's, that's what differentiates them. So the thing in ROM, um, we call it flip fast and basically what it is, it's a software encoder. So that's what we send those, um, current and voltage signals into. And basically it spits out, uh, flux angle, uh, speed and torque. And that's what we feed into our, um, control algorithms. So that's the, the kind of special piece, the, the IP that we've added there. Um, and that's, yeah, that's what we charge a little bit of a premium for. Right.
Chris Gammell: Right. And people pay that. I mean, like that we've talked about, uh, like electric imp, right? They, they are basically trying to, they charge more for the, the fact that you're using their systems and stuff like that. It's on top of the chips. And then you just kind of don't have to worry about that stuff. Right. Right. That's the idea. Yep. Oh my God. There's so many graphs here. I shouldn't have scrolled down. I'm having a panic attack again. So that's the other thing though. So these, all, all these C2000 chips also have a bunch of like ADCs on board, right?
Trey German: Oh yeah. So we've got, um, you know, I, I would argue one of the nicest ADCs on a microcontroller. Um, so they're all, um, on most of the current devices, they're all 12 bit. I think they're, uh, almost four mega samples and they've got, uh, you know, several channels. Um, so they're really optimized for these real time control applications. So we've got, uh, you know, special linkages between different peripherals in the chip that allow them to trigger, uh, an ADC conversion. Um, so if you think, yeah. So if you think about like, uh, a switching power supply application, right, you're going through cycles, um, you know, adjusting duty cycles based on, you know, some reference point somewhere in the circuit. Um, so what happens is, uh, basically we set these trigger points on the PWM. We call them compare values and we've got a couple of different channels and each compare event. Um, when it happens, you can have it set the PWM, you know, set it high or low, clear it, you know, toggle it, do a number of different things. But those events can also trigger the ADC so that you always sample that reference point at a fixed time in your cycle. So it's very, very deterministic.
Chris Gammell: Oh yeah. And that's, that's good.
Trey German: Yeah. That's one of the things that, that kind of differentiates our ADC, uh, from some of the other devices that are out there.
Chris Gammell: Okay. So you just mentioned, okay, I'm going to go back to RTOS again. So you mentioned, uh, uh, deterministic, which I know that a lot of RTOS is care about, but again, this is not, this is just running like super loop style, just like, just as fast as possible type of thing. Or how, how does that all work then normally?
Trey German: Yeah. So, um, a lot of times the control application, um, is kind of completely interrupt driven. So you've got this, this kind of loop going in the background that's reading your ADC, um, getting that, that, uh, value from the system, comparing it to some reference value, um, and then running your control loop and updating the PWM. So the ADC would exit after that, the rest of the cycle would go through, um, and then it would get interrupted again. So that's, that's typically what would happen. Um, and then the rest of your application, maybe the user interface or communications, things like that, those would run in like a main loop, um, kind of outside of that interrupt context at a lower priority. Now you can also implement all this stuff, um, in an RTOS. So for instance, um, you know, TI RTOS, uh, if you plug interrupts into the hardware interrupt handler, um, there's some amount of latency added, right? Yeah. Yeah. When an interrupt occurs, it actually interrupts, um, you know, like the scheduler for the, uh, the RTOS and it says, okay, um, this interrupt service routine needs to run. And then it, you know, transfers execution to that interrupt service routine. So there's a little bit of latency there, but, uh, like I was saying with TI RTOS, we have a way that we can actually unplug certain interrupts from the RTOS interrupt handler. So we can actually keep those outside of the context of, uh, the RTOS and at the highest possible hardware priority. Um, so we've got, that's one of the nice things about, uh, you know, having a team, you know, within your organization that develops your RTOS is to have that tight integration like that.
Chris Gammell: How often do you see people? So you mentioned like a display and stuff like that. And, and we were talking about interrupts and stuff like that. How often do you see people actually putting, using this as like a centralized type processor? Is this kind of like, do people use this as a peripheral processor and then have some kind of like slow running Linux type of thing with a display or running some other kind of fancy interface?
Trey German: Um, so these aren't typically used so much for like communications and user interface and things like that. Um, these are really typically more targeted at, uh, these control applications. That's not to say they can't do it. Um, they absolutely can. You know, I've hooked up launch pads to, you know, all kinds of different, uh, LCD displays. Um, you know, I, I have a board in my office that, um, it's got like a seven and a half inch diagonal RGB LCD with a parallel interface. You know, we, we can do stuff like that, but, um, typically that's, that's not where we play. So, um, we're certainly capable, but, uh, that's, that's not really what we're known for.
Chris Gammell: Right. Yeah. Well, I mean, I imagine even if you did implement something like that, it's like, oh, well, the motor kicked on. So this display will update soon. It's getting there.
Trey German: I mean, if you properly partition your application and design everything correctly, it doesn't have to be that way. And so, you know, we've, we've thought of that, um, and we've actually integrated little, little coprocessors into the chip. So we've got on some of our devices, this little thing called the control law accelerator. And what it is, it's a little separate coprocessor, um, and it can run code just like your main CPU can. Um, and so a couple of years ago, I think about two years ago, we came out with a C compiler for it before that it was a assembly only. And basically, um, we can run our little control algorithms in there. So the interrupt fires, it starts a task in the CLA, the CLA gets the ADC result, computes the control algorithm, and then updates the PWM and the CLA goes back to sleep. So you can actually have a control control application running on the CLA and your CPU could be sitting there, you know, in a while one loop if you wanted, but you know, you're not going to do that. You're going to, you're going to make use of the CPU.
Chris Gammell: Okay. Yeah, that's cool. That's really cool. So what was it called again? CLA? Yeah.
Trey German: CLA control law accelerator. Control law.
Chris Gammell: Sounds like a, uh, robotics type of control law and stuff. Three laws and stuff like that. Do you guys see a lot of robotics type stuff? I mean, are you seeing anything like that?
Trey German: I'm not super privy on the stuff we, we go into, you know, they tell us the, the kind of big stories and the big wins, the companies that, you know, you and I have heard about before, but, uh, you know, I, I don't know everything that, that goes on there.
Chris Gammell: Well, it's a big old platform. I mean, it's been, what is it? 15 years now or something like that? We, me and Dave were talking about the, uh, the, the TMS 320 that's in there, right? That's the, the core, uh, DSP that's in there. And he's like, yeah, I used to program one of those.
Trey German: Well, it's, it's not actually, so it has the TMS 320 PIX on it. Um, but that's not, I, it might be related to that core. Um, I think it's, it's loosely related, but it's, it's, it's changed a lot since down, since then. Yeah. So the core that's in there now, uh, is called the C28X. C28X. Yep.
Chris Gammell: Oh, okay. Yeah. Cause some of the old, I was looking at the part numbers as well, like the C5000. Oh, I guess that's, that's a different family, huh? C5000 has that, has the prefix. So.
Trey German: Yeah. Yeah. So that's a, uh, low power DSP is the C5000. Gotcha. We had devices before this. There was like a, a 24X, I think before this. Um, and then there was some devices that, um, shared a predecessor of that, um, that, uh, I think were used in, in hard drives or something like that.
Chris Gammell: Oh, cool. Yeah. That's really cool.
Speaker ?: Yeah.
Chris Gammell: Man. So, uh, so no more, no more motors or anything crazy like that, huh? You're just gonna, it's gonna jump straight over to Launchpad and do all the fun, the fun stuff as well.
Trey German: Uh, yeah. Well, you know, I'm, I'm still, um, very interested in motors, you know, they're make the world move really in, in some ways. So, um, one of the.
Chris Gammell: How many t-shirts do you have that say that on it? Actually done.
Trey German: I just came up with that.
Chris Gammell: I should like trademark.
Trey German: Yeah.
Chris Gammell: There you go. Yeah.
Trey German: Or something, huh? Start selling t-shirts in the cafeteria. Yeah. Yeah. Yeah. Could make a killing. Um, no, but I've been, uh, you, you may have seen it online. Um, you know, I like to talk about it sometimes. Um, I've been working on this quadcopter. Um, and so I hate drones, the word drones. I think it's, it's not a very accurate word and doesn't really describe what these things are. Uh, but, uh, yeah, I'm designing a quadcopter, um, using some of the InstaSpin, uh, field oriented control technology. Um, and so it'll be based on.
Chris Gammell: I didn't realize you're using that. That's cool.
Trey German: Yeah. Yeah. Yeah. So we've got, you know, three phase brushless motors. We're doing, you know, all the current and voltage sensing on the board. Um, I'm really, really pleased with how the motor driver board came out. It's got, um, some, some issues that I'm still debugging. One of the current feedbacks is, is acting a little weird on this board. Um, so I've still have to debug that, but, uh, it's, uh, really starting to come together. So, uh, I'm actually going tomorrow morning to a shop here in Houston that cuts, um, materials for signage applications. Think like, you know, displays for trade shows, road signs, things like that. Um, they work with this material called Dibond. And so it's a, um, aluminum laminated, uh, polyethylene kind of sheet. Um, and so they're routing some of that out for me. Um, and that's going to be the frame of the quadcopter. So I'm going to go pick that up tomorrow and then I'll finally be able to kind of do a full mock-up of everything kind of assembled together. So I'm, I'm really excited to see that.
Chris Gammell: Do you have like a bad-ass name for the quadcopter yet or no?
Trey German: Uh, not really. I've just kind of been calling it the, the kind of InstaSpin quadcopter. Um, something like that. We'll see. We talked about, uh, potentially crowdfunding it or something like that, but, you know, we'll see how it goes. This is all, you know, just kind of a fun project for me right now.
Chris Gammell: Yeah, that's awesome. So, so, um, what's the, what's the relative size? Is this like a smaller size?
Trey German: Yeah, it's a smaller size. It's designed to be low cost. So it's probably about a foot square. Um, and, uh, you know, looking at the bomb cost and everything for all the components, it's, it looks like it'll come out in the, the two to $250 range. And so it's all, all open source, um, you know, very hackable. Um, I just wanted to kind of, you know, launch a launch pad for lack of a better word. Yeah. That's awesome.
Chris Gammell: So what is, what is the, uh, so you said the, the, the Dibond stuff. Dibond, is that what it's called?
Trey German: Yes, Dibond.
Chris Gammell: So that'll actually be like, this will mount on top of that. Like this is so that people that are listening only and haven't seen the pictures that I recommend you see it. It looks like a, looks like a square. And then you kind of like took out like shallow half moon. So it's kind of like going out towards the, the, the four corners.
Trey German: Right. Yeah. That's the, the motor driver board. And so that will, yeah, basically attached to the frame, there's headers on there to plug in a launch pad and I've got a hole cut out in the frame for the launch pad to kind of sit inside. Um, and then there's another piece to the frame that sits on the bottom that all the motor is attached to. And then I've got these little spars that should just snap in there. Fingers crossed. Uh, of course we'll find out tomorrow. Um, so they should just snap in there and then the thrust of the motors should actually put the top, uh, piece of the frame intention, uh, to help give it strength. So I put a substantial amount of thought behind kind of how to orient everything to make everything as low cost as possible, but still, uh, kind of strong and lightweight.
Chris Gammell: Wow. That's awesome, man. Yeah. And two fit. I mean, two 50 is good as well. I mean, uh, you know, I, I've looked at quads a couple of times there and there's some smaller ones that are toy, like, uh, you know, there's, there's some, there are some Kickstarter ones that are a little bit cheaper. Um, but yeah, nothing really, you know, it needs to keep getting pushed down by stuff like this. So that's really good.
Trey German: Yeah. It's kind of in between the, the little low end toy ones and like the, the mid range kind of halfway professional ones. Um, so I'm excited to get it up in the air and, um, see where it takes me.
Chris Gammell: So do you, uh, there's no RF. Do you like have an external receiver for the RF stuff? Like for the control?
Trey German: Uh, yeah, I had originally intended to, to use some more, um, TI components there. Um, but I just, just kind of, this project is, uh, dragged on for a while. Um, and so I, I took the easy route out there. So I'm using kind of an off the shelf, uh, transmitter and receiver, but from hobby King, I mean, they're, they're so low cost. It's like, Oh, I know. Yeah. Yeah.
Chris Gammell: I just, I just wanted to save myself the, the hassle. So I see on the, on the, the, I'm looking at the 43.0.com. I'm not sure what that site is.
Trey German: Uh, it's a, it's an MSP four 30 kind of enthusiast site. That's why it's four three.
Chris Gammell: Oh, four three. Oh, yeah.
Trey German: Oh yeah.
Chris Gammell: So, but this is using the energy, right? So energy, energy, you didn't tell me that story. You have to tell me that story.
Trey German: Yeah. Energy. Yeah. Um, so gear. Yeah. The story behind the name. Um, okay. So, right. It's, it's launch pad, right? The, we've got a symbol. That's a rocket. That's our logo. And so energy. If, um, you're familiar a little bit with the Soviet space program, they actually made kind of a knockoff space shuttle called the, I think the brand spacecraft or something like that. Well, energy was the big rocket that carried that, that spaceship, uh, into, into space. So that's why we call it energy because of the rocket ship. Right.
Chris Gammell: Okay. Okay. I like that. Yeah. That, that makes it a little better.
Trey German: It, it, it kind of a little cohesive at least.
Chris Gammell: I'm just saying, why isn't this soft J? Can I just say the soft J? Like the hard J, the hard G, it just, it doesn't do it for me, you know?
Trey German: Yeah. What would you like it to be?
Chris Gammell: Energy. Energy. Energy. It looks like energy, right?
Trey German: I used to say it that way, but then, um, the, this project's lead was like, oh, it's pronounced Energia. And so I was like, all right, you're the boss.
Chris Gammell: Yes. We all make sacrifices for the, for, for workplace harmony. So I guess, I guess I'll be okay with that. So did you actually fly one of these at Maker Faire? Cause I, uh, you were at Maker Faire as well.
Trey German: Yeah, I was at Maker Faire. Um, sadly, uh, things didn't come together in time. I had actually asked a special favor to kind of get some of the, the parts cut. Um, I knew some people that had a, a water jet that, uh, wasn't used full time. And so, you know, I, I sent some material to them to see if they could cut it for me and they, they tried to, but they ended up just not having time to. So it didn't come together in time for, um, the Bay Area Maker Faire, but, uh, it's, it's close. We're getting dangerous. So close it's, we're in the finishing stretch here.
Chris Gammell: So we might see you at the, uh, are they doing another, there, another quadcopter? If people don't know, there was like a huge stadium for quadcopters and like some of them were like actually battling. Yeah. Game of Thrones. That was pretty sick. That was, I don't know why anyone would do that.
Trey German: Yeah. You know, throwing your, you know, 500 plus dollar quadcopter into a netted off arena only to, you know, try to destroy another quadcopter. As cool as that sounds, I don't know if I want to be the one fly my quadcopter in there, you know, trying to, to break it.
Chris Gammell: Right. Yeah. I mean, if you want to have a contest for like, you know, oh yeah, I get through these different markers and all that stuff. That's fine. But yeah, I don't know. I don't.
Trey German: Yeah. I think I'd rather participate in Spark Funds, you know, ABC or something like that.
Chris Gammell: There you go. Yeah. Yeah. Maybe you haven't done that yet.
Trey German: No, I haven't done that yet. But, you know, once I get this thing flying, you know, it'll be a great platform for things like that. You know, I don't think it would make a great fighting platform. I think it could fight, but, you know.
Chris Gammell: Well, yeah. And if it's cheaper, right?
Trey German: I mean, that's, that's cool. That's true. That's true. But there, there needs to be kind of different classes, you know, for those things. I think they all just kind of locked them together, you know, just like, you know, fighters have weight classes, you know, I think they should have done, you know, different classes for different configurations and quadcopters and weights and things like that.
Chris Gammell: Right. Just like BattleBots, too. Yeah. Yeah. Exactly. Sadly, it was canceled. I know.
Trey German: That was like the greatest thing ever. I loved that as a kid.
Chris Gammell: I knew one of the guys that entered the wedge. The wedge always wins. Oh, yeah. That was his, that was his motto.
Trey German: I always liked the one that they like spun around, the top spun around. They'd have like big weights and it was just like all like thick sheet steel and like nothing could penetrate those. Yeah. As long as you didn't flip it, you know?
Chris Gammell: Right. Of course. Right. Yeah. They're like horse shell crabs, right? Yeah. Yeah. Yeah. Exactly. Yeah. That's great, man. So, so you're going to be starting as the launch pad. You're like the honcho now, huh? Like you're the.
Trey German: On the technical side of things. So I've got a counterpart, Adrian Fernandez. And so he's kind of the, the marketing side and I will be more of the technical side, but I'll still get to, to do a little bit of marketing work. So I, you know, I like going out to shows and talking to people and, you know, doing stuff like this to kind of spread the word about launch pads. So I'll be doing that, but then also kind of making sure that we're all aligned within TI so that as we move forward, the launch pads, you know, work together very well. Software is portable. Booster packs are portable. You know, just having a consistent experience for the user across launch pad. Exactly. Exactly.
Chris Gammell: Yeah. That's good. So people are going to be able to see you at shows coming up. Is that, is that a likely thing?
Trey German: Yeah. I, I should be at the New York maker fair. I still need to travel for that. But excited to go there. I've never been to New York. So the most, yeah, the most I've, I've been through that area is I had a flight that I connected with it in Newark. And as we were landing in Newark, I saw the statue of Liberty out the window. I was like, that's pretty cool. But yeah, really, really excited to go. And then, you know, before, before we started recording the show, Dave and Chris were trying to kind of get me to go to the open hardware summit and make fair roam. So I know people actually that are going to that. One of my good friends that works at Digilant, Larissa Swanland, I think she's, she's going to that. So I'm going to try and use the justification that Chris and Dave provided me with. And we'll, we'll, we'll see if I can convince management to let me go. You got to go, man. I've got a passport. So, you know, I'm, I'm ready in that regard.
Chris Gammell: Right. All you need now is just add money.
Trey German: Just add money.
Chris Gammell: It's always the easy part too, right? Yeah, of course. Of course. Well, that's great, man. So where can people find you and beg for launch pads on Twitter?
Trey German: Uh, so on Twitter, I'm at, uh, Y E R T N A M R E G. So that's Yert Namreg. Um, and as Chris was saying earlier, that's my name backwards. Um, so you can find me there. Um, I'm active on, uh, C2K central.com. So it's kind of a third party community website for C 2000 things. Oh, cool. Um, there's also four three O. So sometimes I check in on there. So four three O.com. Uh, and then I'm also on the, uh, T I E to E forum. So if you didn't know about this, um, when you've got a problem with a T I part, um, we've got online forums on our website where you can go and ask questions and it's people just like me, um, that, you know, actually work with these products, design these products, um, that answer these questions. So if ever you think you found a bug with a hardware or something like that, you know, you can get on there and get a real expert to, to look into it. So, um, you can also find me there.
Chris Gammell: I was really surprised. Yeah. I've, I've, I've had friends who are applications engineers at T and they're like, yeah, I spend like 10 to 20 hours a week on the forums. That's like, that's, that's like crazy. I'm not saying it's everyone, but like, that's, that's a crazy amount of forum. But you know, that's the, but I mean, that's, that's just a big part of communicating these
Trey German: days. Absolutely. And that's the, you know, that's the dedication we have to our customers. You know, I've, I remember what it was like kind of being on the other side outside, um, you know, trying to develop applications and, you know, oftentimes, you know, it can be frustrating. You're like, why isn't this darn thing working? And, you know, we're, we're there and we want to help you. So.
Chris Gammell: Well, cool. Uh, good luck with the, uh, the new role. We'll see you at lots of shows, I'm sure. And, uh, thanks. Thanks for coming on the Amp Hour. All right. Thanks a lot.
Trey German: I've got a jet engine in my spare bedroom. Let's see. I'm a, I'm a pilot. Uh, just started powered paragliding lessons. Uh, we didn't.
Chris Gammell: I saw that picture on Twitter. Yeah. Yeah.
Trey German: For sure. That's pretty cool. We didn't get into the racing lawnmower in college, um, or the Tesla coils. Oh, geez. How'd we skip all that stuff, man?
Chris Gammell: That's crazy.
Archived Discussion (1)
Comments are closed. Archived from the original site.
Show archived discussion (1)Hide discussion
C2000CAN busClarke TransformJ1708Luminary MicroMotor ControlPark TransformPMBusRose HulmanRTOSSimma SoftwareTexas InstrumentsUSB stack
Keep current
Every episode, plus the occasional job post, in your inbox.

I keep track of rotor/stator as (rotor = rotates (such as the outputshaft)) & (stator = stationary (such as the field windings))
..btw energia means energy in spanish.