Embedded - 33: Quitting My Finnish Lessons

Episode Date: January 2, 2014

Alison Chaiken (Google+) and Elecia discuss what you need to know to get into development for the automotive market.  Check out Alison's she-devel site for a big list of links and resources or go to ...a Silicon Valley Automotive Open Source Group meetup to say hello. A small subset: Open source engine management system on DIYEFI Car hacking site MP3 Car Vehicle standards ISO-26262 CORRECTION: In the show, Elecia talks about airplane certification levels as though only the size of the plane matters. As listener Burko points out, the certification level also depends on how critical the subsystem is. Those seatback tray tables don't have to be certified to DO178A, but the artificial horizon does.]

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Making Embedded Systems, the show for people who love gadgets. This is Elysia White. My co-host today is Allison Chaykin, an expert in embedded systems in cars. Allison, thank you for joining me. My pleasure, Elle. I've enjoyed listening to a few episodes of your podcast, and I hope I can contribute some information that listeners will find valuable. We've met at a few local events, and I know you have a background in physics, and you went to MIT.
Starting point is 00:00:37 But before I continue to mangle this, I remember Cadillac, and, well, tell us about yourself. Well, I do have academic training in physics. I worked in physics for about the first 20, 25 years of my career. I worked in clean rooms on optical data storage and magnetic recording materials. But I was always enthusiastic about laboratory automation, and I was always the computer person in a group of physicists. And about 2007, 2008, when the HTC G1 first Android Linux phone came out and Bug Labs came out with their little OMAP3 developer kits.
Starting point is 00:01:28 I just thought, that field is so exciting, and my career is really diminishing clean rooms. Silicon fabrication, magnetic devices are just really dwindling in Silicon Valley, and that career is not very viable anymore. So why don't I just become a software engineer? I realized that the things I like to do for a hobby were actually more viable career paths than the areas of my training. So I started taking classes at night at UCSC Extension in programming, the first ones I ever took. And here I am now. I've actually managed to leap the chasm and become a software engineer, as much to my surprise as anyone else. It's nice that your hobby worked out to be a career. That doesn't always happen.
Starting point is 00:02:17 But I do remember something about Cadillac or Lincoln. Was that one of the first times you got involved with cars? Or how did you get involved with cars? Well, one of my first jobs was at Nokia. May what's left of them rest in peace. I worked on their Linux for phones called Mego. That was a big joint collaboration between Nokia and Intel. And I was at Nokia at the time of what people call the allopalypse, when Nokia announced that they were going to switch over to Windows Phone, which I had no intention of doing. And so on that day, I thought, I'm quitting my Finnish lessons, and I'm going to start on yet a new path. What should it be? What is hot? And I knew that Mego had an automotive version called Mego IVI,
Starting point is 00:03:09 which stands for the hair-raisingly awful in-vehicle infotainment. And I thought, cars seem like an exciting platform for Linux and for embedded. Let me go and investigate that. And I've been working on that ever since. And I have not actually worked for Cadillac.
Starting point is 00:03:30 Cadillac and General Motors are some of the first companies to ship Linux in the Western world. The first car companies to ship Linux were actually in China, interestingly enough. So I have been excited by Cadillac's Cadillac user interface just because it's based on open source software. And in fact, you can get the source code for the Linux kernel for Chevrolet and Cadillac cars from GM's website.
Starting point is 00:03:59 That's pretty neat. And you work at Mentor now. I work for Mentor Embedded Software Division. We're actually the largest vendor of automotive software, not to go too much into an advertisement, but there's a fascinating array of software and electronic design and system integration issues around automotive, and Mentor has offerings in most of those spaces. So when we talk about the automotive market, you said infotainment, which is a horror of a word all by itself, but that's definitely an area where I can see Android and Linux. I mean, sure, you need an entertainment platform and that
Starting point is 00:04:39 makes sense. Even the GPS works out with Android and Linux. What else is running an operating system that big? Well, cars are really rolling data centers now. Cars have as many as 100 microprocessors in them. A few of them in a vehicle with that many little CPUs will be running a general-purpose operating system like Linux or QNX or Windows CE, perhaps. Most of the processors, you won't be surprised to hear, are embedded controllers, some 16- or 32-bit microcontrollers. Some of them will be running real-time operating systems like Green Hills Integrity or Mentors Nucleus. Some of them are just kind of bare metal controllers that are operating PID loops and the like.
Starting point is 00:05:35 And then a few of them are higher function devices, system controllers, little servers of various kinds that are running these higher level operating systems. And QNX, interestingly, which has been reborn as BlackBerry OS now, its operating system and BlackBerry's handsets, is actually the category leader in automotive with people say about 60% market share. In all of these 100 processors? Or just in the big ones? In the big ones.
Starting point is 00:06:13 Okay. The smaller ones are liable to be running much simpler software. Yeah. Right now, the big development in automotive is a new-ish suite of standards called AUTOSAR, which is an acronym, capital A-U-T-O-S-A-R. And AUTOSAR is a set of standards for developing a runtime that's promulgated by a consortium. Fundamentally, the automotive industry has undergone a major shift from every vehicle having purpose-designed, handmade software that bears no relationship to the software of other vehicles, to a real push for common standards that are platform independent and promoting agile development and software reuse. And AutoSAR
Starting point is 00:07:13 is a major sign of that trend, as is the move towards Linux. AutoSAR actually begins with UML models that basically compile to runtimes for 16 and 32-bit microprocessors. And so it's kind of an IDE. It's kind of a protocol suite. And it's really a development platform to make, almost to design the entire LAN and the cable and wiring harness that goes with it for the entire vehicle. I've heard of projects like that for medical devices, and it's never gone well. It's just been too big and bulky. And the reason there are so many individual processors is because they all have small little tasks to do. Do you think they're going to be successful in the broad scheme of trying to get everybody to go from, I mean, an IDE and a UML? That's a very tactical how you do it.
Starting point is 00:08:11 I totally agree with their strategy of let's get Lego building blocks and start putting those in cars instead of having specific things for each car. Are they really trying to do both strategy and tactics? Well, auto SAR is not specifically the area that I'm working on, but what I understand about it is it's met with fairly wide adoption. Really, the hard part of building the automotive LAN is not making the individual control applications for the individual processors. It's the fact that there are so many time-critical signals and messages that have to be passed among the nodes of this distributed system. So you're really designing a network when you design a car. A network in the sense of a computer network with the various buses that
Starting point is 00:09:06 apply to automotive, some of which are familiar from general purpose computing and some of which are more automotive specific. And so the timing analysis that's kind of familiar from real-time operating systems applies to the automotive lands as a whole. And in a system with as many processors as you have in a car, that analysis is complex indeed. And so I think the advent of AutoSAR is in part the fact that there are a lot of connections that need synchronous protocols, that need time-critical communications, and the modeling of them exceeded people's capacity to And I suppose you could use the autosar protocols
Starting point is 00:10:06 and the standards for the runtimes probably without starting with the UML tools. But I don't really know what approach people are taking at the automakers. This was actually a bit of a diversion, but I was curious. So let's go back to the very high level. If I wanted, if I was a software or an embedded software engineer, and I wanted to get into the automotive market, what skills do I need? It's a LAN, is that a network, but I'm not looking at TCP IPM. I always hear about CAN being what autos use.
Starting point is 00:10:46 So CAN is a set of legacy buses. It stands for Controller Area Network. CAN is used in industrial control systems very often beyond automotive. CAN will be in cars for a long time because there are so many useful devices. We call them ECUs, electronic control units or engine control units on automotives. So ECU is an acronym you see everywhere. So many of the ECUs talk on CAN and have a lot of road miles and are robust and automotive hardened and proven. Even if you think that
Starting point is 00:11:30 the old processors should go away and be replaced by shiny modern new processors, which I don't necessarily think that, but even if you do, you'd have to consider how many of 60 or 100 microprocessors you'd want to change and design in one generation. So CAN will be with us for a long time. There are a lot newer protocols like FlexRay. There are many varieties of CAN, some of which are faster, some of which have more security. CAN is not something I think that people really need to know about. Yeah, I'm using it at work right now. It seems, I mean, it's a serial bus. It has multi-masters,
Starting point is 00:12:15 which means there has to be some arbitration between people. It's a message response thing. Everybody's got an address, and I'm using it in a closed system, so we kind of assign our own addresses. And it is pretty slow. We don't have to worry about security, but that was one of the things that was a little mind-boggling, that when you use CAN out of the box on a processor's,
Starting point is 00:12:38 I mean, we use a CAN driver from a TI processor. And it just, there's not very many bytes. It's like eight bytes in a message, and you can expand it up to 64, but it's not much. Well, it depends on the CAN protocol. Different CAN protocols have different payload data units, as they say. But Ethernet AVB now is seeing wider jobs in cars.
Starting point is 00:13:06 There's another protocol called FlexRay. Are those faster? They're all faster, yeah. So there's a wide variety of connectivity types being considered. Ethernet AVB is actually a standard that comes from streaming media in that it is a form of Ethernet with time division and essentially time slice reservations to guarantee synchronization. And automakers are quite interested in that. Cable and wiring cost is actually a big concern for automotive.
Starting point is 00:13:48 It's very hard to pull coax through cars, for example. And every time you add a cable to a car, you're adding a part that a dealer is going to have to stock, essentially. So the bill of materials for cars is a big worry, especially given that automakers traditionally support them for 10 years or more. And so surprisingly to me, wireless within the vehicle is starting to gain a foothold. That's a little scary. I mean, one of the things about CAN that I do like
Starting point is 00:14:21 is that it's differential, which means it, it's pretty robust. You don't walk by somebody's microwave and your can bus goes off. Um, and that actually happens with my wireless in spots in the house is that you go by the microwave and poof, now it's gone. But gosh, I wouldn't want that to happen between my foot and throttle. Well, we're not talking about the foot and throttle. We're talking more about, say, giving the rear seat passenger a touchpad that they could use to control volume of a music player or something like that. Non-critical functions. There are also one-wire variants of CAN, like LIN, L-I-N, which are used.
Starting point is 00:15:07 There's a movement towards twisted-pair Ethernet in cars, interestingly, because twisted-pair is so much cheaper and easier to pull through cars. Why is that? Because the cable's cheaper or just because it's small? Apparently coax is just stiff. Oh, yeah, it is pretty stiff. Not necessarily having the, especially, well, if you get coax with the thermal properties that you need for vehicular environment, then it's stiffer and more expensive, I guess.
Starting point is 00:15:39 Right, because they do like minus 40 C to 80 C, and that is really freaking hot. Vibration is also a problem. Interestingly, in automotive parts, the size and spacing of printed circuit board connectors tends to be larger. CAN connectors are expensive if you get the proper ones. So CAN, I never really answered your question about what skills somebody wants to work in automotive embedded might need. It's a pretty... Sounds like CAN is like not really. Not really. CAN is a legacy protocol and to a large extent we probably have enough people that know about legacy protocols. The movement is really towards encapsulating CAN
Starting point is 00:16:27 and to some extent even virtualizing some of the lower capability microprocessors in guests in a different OS. One of the hot fields in automotive actually is virtualization, which sounds kind of strange, but it's common for automakers to run Android for the aforementioned infotainment system for playing games, playing media,
Starting point is 00:17:03 in a guest on top of a hypervisor, either in a what we call a container or jail kind of environment, or actually controlling one core of a multi-core processor to which they are confined. What else would this hypervisor do? The important thing about hypervisors is they really can have locked down security. What else would this hypervisor do? store. And no matter how resource hogging or badly behaved the application is, it can't get out and get to the part of the system where the safety critical functions are going on. So Hypervisor, that's just a virtual machine. Like I could run in my Mac, I could run a Windows instantiation using Parallels or whatever. Is that just what a hypervisor is, or is there something else to it? There are different kinds of virtualization.
Starting point is 00:18:15 There's kind of type 1 hypervisors that run on the bare metal and are actually what boots when the power comes on. Kind of like a BIOS in my computer? Well, BIOS is really the firmware. I'm thinking more of the offering that VMware has, where you actually boot their hypervisor on the metal. Xen is similar. And then Xen or VMware's hypervisor or Mentor's hypervisor
Starting point is 00:18:42 knows that there are guest operating systems, and it can bring them up and down. So a multi-core processor can be operated like a little data center. This is a trend across embedded, not just an automotive, but an automotive because of the concern about security and firewalling off kind of entertainment and information applications from the software that runs the car, the considerations of virtualization are particularly acute. A lot of the ways that people will get to real security on automotive buses, which we do not have now, is through virtualization.
Starting point is 00:19:26 The other advantage of virtualization, I think in general of interest for embedded, is a way to save the expense of supporting really old legacy hardware is to have an emulator of it that runs as a guest. That's an increasingly popular option. This sounds crazy, but if you have a quad-core processor, you could use one of the cores to pretend that you have a 32-bit MCU there. And some people are considering doing that. That's not so crazy. I mean, technically, if you have one of them controlling the other three,
Starting point is 00:20:04 you have three 32- controlling the other three, you have three 32-bit cores that are available. And if you only need it for a little while, you can close down whatever the software is, especially for an infotainment system that is one minute it's playing games, the next minute it's running a DVD, and the next it's doing some navigation display. Sure, you want to be able to kill and restart that easily. So it makes sense. It's very much what data centers do when they migrate applications from a data center on the West Coast to a data center on the East Coast.
Starting point is 00:20:38 So the thing that fascinates me about computer science is really how ideas about power management from embedded, tiny world, have gone to data centers and helped them turn off machines and save electricity. And meanwhile, virtualization, which was developed for data center applications and would initially have seemed to have little application to embedded now has come in the other direction. So it really is a very fertile crossbreeding of ideas there. You mentioned powering. One of the questions I got from Twitter for you was how do you power an MCU inside of a car?
Starting point is 00:21:24 I know CAN bus can provide some power, but is there another cable with power? And what kind of power? And if I was building a board, would I need to condition the power? Or would I get 3.3 volts and everything's clean and it's happy to run? The easiest way to solve the problem
Starting point is 00:21:42 is to get an inverter that plugs into the 12-volt adapter and the dash. That's... No, no, if I was on the other side, if I was working for a car vendor, a car manufacturer. Right. Oh, okay. I see. Well, you know, there is the 12-volt power from the car battery that's available. And that's clean. I mean, that's pretty clean. I don't really know in the ECUs what type of power conditioning is used. There's such a variety of them, such a different
Starting point is 00:22:14 number of applications. So infotainment is a huge application and I can understand some, I mean, is the airbags, does it have an ECU system or is that all mechanical and happens automatically? What other hundreds, give me some more examples. Well, the applications inside the vehicle that are personally exciting to me are the ones called
Starting point is 00:22:40 advanced driver assistance systems, which are the new safety applications that have gotten a lot of publicity. I'm referring to features like blind spot detection, lane departure warning, adaptive cruise control, self-parking. I work on firmware and device drivers for Linux that help enable such applications, and I am amazed by them. I mean, every once in a while, I stop and think what we're making, and it's like science fiction.
Starting point is 00:23:18 It's still a lot of compiler failures and source code management and all the usual embedded headaches. the environment around the car, and that bowl image gets fused with ultrasound and radar data, and it enables all these other applications. And that's just amazing. I mean, it really gratifies me to be part of building safety systems like that that will, I firmly believe, keep people alive. And, yeah, when it works, it's magical and magical in a way that's
Starting point is 00:24:07 wonderful. So safety systems, what kind of standards do you have to deal with? I've done FAA and FDA. One of the listeners, Mike, asked about, is it similar to DO-178C? Have you ever done any of the FDA or FAA ones? I have not. There are standards coming. The one that everyone is thinking about is called ISO 26262, which I gather is directly inspired by medical FDA standards, but is a little bit automotive in flavor somehow. ISO 26262 is a little bit automotive in flavor somehow. ISO 26262 is a standard for real-time operating systems that would run on some of the ECUs.
Starting point is 00:24:57 So not in general-purpose operating systems like Linux or QNX, but the operating systems analogous to VXWorks, say, that people would be familiar with. Or you mentioned Integrity. Integrity or Nucleus or something like that. Those types of operating systems now are seeking to be certified as our hypervisors with ISO 26262. And, of course, there's a plethora of other standards that apply to vehicles. They have emissions, so there's FCC. They have crash testing. That's the National Highway Transportation Safety Administration.
Starting point is 00:25:41 There are safety bodies for transportation in Europe and Asia, as well as in North America. And of course, road standards are different and separately regulated as are communications from vehicles by telephony and FCC. So the number of applicable standards and certifications and tests that are applied to vehicles is truly mind-boggling. But it's still hard because it's software. And, I mean, when you test the structural integrity of a car, you use a machine to do that. And if you test one car and they're all built with the same materials you're pretty good but once you start adding a gps and a time basis and leap years suddenly you have a recipe for the car only running every third tuesday when the moon is full how did that's the sort of certification and software standards that i i wonder are there help? I've heard of MISRA-C.
Starting point is 00:26:45 Is that relevant? Well, let's get back to the question again of what kind of skills can someone bring to get a job in automotive embedded? And test-released engineers, people who understand build systems we use Jira Bug Tracker and GitHub like a lot of projects so the agile development processes that other industries use are also used and embedded and we need people that are expert at
Starting point is 00:27:23 configuring and running those systems as well as everything else. The testing is, I think, particularly fascinating. that Toyota doesn't consider a piece of software tested for meeting their specifications unless it runs on their hardware with their other software applications running. And the reason for that is that the demands of automotive on inter-process communication and just the huge variety of real runtime situations that occur is so unpredictable and so different. A big problem in automotive, for example, is the swarm of messages that microprocessors
Starting point is 00:28:15 want to send to each other when you power cycle the car. Drivers may turn the car on, let it run for two seconds, the systems are almost up, and then they turn the power off again because they realize that they forgot to lock the front door. Exactly. And so it really is a data center with a full LAN. And just imagine you have a data center, you turn it on, and then you say, oh, no, I don't want it on,
Starting point is 00:28:42 and you shut it off after a second. This is horrifying from the point of view of the design engineer. How do we make sure that the file system comes up again? What state are things going to come up in again? From the point of view of security, to me, this power cycling is a scary problem because we all know that the order in which parts come up is going to be a little bit different every time when you have so many of them. And if you had a lot of time on your hands and you could automatically power cycle a car and connect to the bus, it's going to be pretty hard to keep somebody from not getting in, I think. So there was another interesting story from NVIDIA where basically they decided to produce a kernel, a Linux kernel for the car, using the Android kernel that was shipping on their processors, NVIDIA processors for phones.
Starting point is 00:29:39 Because Google had tested that kernel, and I guess a couple of the phone makers had tested that kernel so much with the Tegra processor. And the folks who gave the source code to the automotive engineers said, you won't find any more bugs. This is the most tested piece of software ever. And of course, the automotive applications completely instantly found a completely different set of bugs because actually while the original tests had coverage tools, the part of the code that automotive hit over and over again was actually a separate untested section compared to the telephony application. So the use case really is different. So the amount of testing done by, you know, we're delivering software to automakers. We test it immensely much.
Starting point is 00:30:30 The automakers test it more when they get it from us, when they find new bugs. They certainly find them in my code. And then the National Highway Transportation Safety Administration tests it. All kinds of standard bodies test it. And National Highway Transportation Safety Administration is going to start to add consideration of these software safety systems to safety ratings for new vehicles.
Starting point is 00:30:59 I think that's a good idea. And I think Toyota has given us that as a big present with a bow on it, thanks to the recent lawsuits. And I'm not opposed, really. My car can do as much damage, certainly, as the temperature sensor that I worked on for medical products, and probably to more people at the same time. When I did FD, Aero Certification,
Starting point is 00:31:29 the ratings, the DO-178C or B or A, A is a jetliner, and it has to be super tested and provably tested because you can not only kill the 500 people that are in the plane, you can kill a whole bunch of people on the ground. Whereas with B, it's a smaller plane and that's how they rate it. And you can think of cars the same way. Cars definitely have the potential for more damage than just who's inside. And I hope that we do see if you don't have a, I mean, if you're doing agile development
Starting point is 00:32:14 and you aren't doing test-driven development, that's kind of a minus one in a box. And if you don't have a plan for how you're doing development, it's just all kind of random. That's a minus one in a box. And at the end, you total it up and hopefully somebody will say, yeah, it looks like these people know what they're doing and those people don't. And so if you're going to buy a car and you want to buy a good car, buy the one with the people who know what they're doing. Kind of like the star system with the safety. It's a little scary to me now that you could just write code and not have a third party at least verify the methodology.
Starting point is 00:32:53 I believe across embedded, there's a real question about the quality of software. And I don't mean to say that I have some secret suspicion that there's terrible code everywhere. What I'm referring to specifically is the remarks made by Karen Sandler of Gnome Foundation, who has spoken very eloquently about the defibrillator she has implanted in her body and how she would like to read the source code for that defibrillator.
Starting point is 00:33:27 And she, as the patient, cannot get a copy. And she, as the patient, cannot even read out the status logs and data from her own device. She has to go to a physician who has a proprietary instrument to do it. And since she knows about software, this makes her very angry. But what if somebody else had the device and could read it from her and she didn't? I mean, it's a control of the device.
Starting point is 00:33:53 She would just like a copy of the API. Yeah, but then if she had a copy of it and she wasn't a nice person or it fell out of her hands into not-nice-person hands, then can they stop her heart? I mean, I think that's the other half. There's the, I want the data, I want access to it, and I want it all to be easy to use.
Starting point is 00:34:15 And then the other half is, I don't want anybody else to have access to it. This is private, this is potentially dangerous. And balancing ease of use with privacy, it's tough. I agree. I'm not saying that's what defibrillators are doing. I'm just saying that that's a problem I keep seeing and trying to figure out how to fix.
Starting point is 00:34:35 We're very much struggling with those questions in vehicles. The automotive industry really wants to encourage the participation of outside developers. They're releasing a lot of source code. They understand that they will only retard the advancement of their industry as far as the enablement of features like autonomy and connected cars if they try to produce all that software in-house. They have understood that they can't do
Starting point is 00:35:06 it and that they spend more money and end up with worse products that way. But how industries can collaborate with outside developers and enable them to participate in the production of this software and yet have secure systems that maintain privacy is, is a hard problem and we're still working on it. And I don't think we're going to solve it today. Probably not even this year, maybe next year. No,
Starting point is 00:35:34 but the, you know, the, everybody agrees that the goal is to reduce deaths and injuries. Volvo, uh, says no deaths in Volvo cars in 2020. That's their stated corporate goal.
Starting point is 00:35:46 I think it's actually possible. I think so too. I mean, they're getting much lower. So you mentioned connected cars. Do you mean, we talked about wireless inside the car. Do you mean connected cars as in to the cloud or inside the car? What do you mean by connected cars? Connected cars is another very hot area of development.
Starting point is 00:36:11 We already see applications like usage-based insurance that's gotten a lot of press that are based on connectivity. A lot of products... That's where you can let your insurance company monitor your driving habits, and if you speed a lot, they will raise your rates? From what I've heard, all the programs actually involve lowering your rates if you comply with the rules, and no penalty.
Starting point is 00:36:39 I think you have to maybe pay for the installation of the device, but they promise not to raise your rate. Although presumably if you like to drive 100 miles an hour on the highway, you wouldn't volunteer for the program. That's an early example on STAR from General Motors and other such roadside assistance systems are another example. Those are all based on 3G data transfers. There's a lot of activity now around new types of data transfers in cars. There's some discussion of using the
Starting point is 00:37:14 sidebands and HD radio, so to speak, digital radio broadcasts. There's some thought about using TV white space. And there's dedicated spectrum at 5.9 gigahertz for intelligent transportation communications, which could be used by a new Wi-Fi variant called 802.11p. And that's also under rapid development. And so would these provide more traffic information or would it help the car tell us what route to go in order to ease congestion, or is it all about, I'm hurt, come send the police and ambulance? What are connected cars going to do for us? That whole topic is under a lot of discussion. There were two big field trials in 2013, one in Germany called
Starting point is 00:38:08 SIMTD, S-I-M, lowercase, capital T, capital D, and one in Ann Arbor, Michigan called Safety Pilot that was run by the University of Michigan Transportation Research Institute, and the Department of Transportation. And those trials both tested safety applications in what's called a, well, safety pilot mostly tested V to V, vehicle to vehicle safety communications, and SIMTD more tested V to I, vehicle to infrastructure or roadside unit communications. And in both cases, the idea is that drivers would get warnings about imminent hazards. You could get a warning from the car ahead of you that there's an icy spot. You could get a warning from the infrastructure that you're approaching a curve at an unsafe
Starting point is 00:39:05 speed. Those are some examples. Those would actually not use TCP IP. They would use dedicated automotive protocols. In addition, there's some thought that less time-critical data like navigation updates or weather can come either via LT or via TCP, IP, kind of Wi-Fi, also in the same spectrum. And all this is subject to a lot of lobbying and arguing by standards bodies and the like. Well, I have to admit, our car can talk to the Internet and the cloud, and we have iPhone apps that will let us do things. And the only thing so—well, I guess there have been two incidents that it's been useful. One was I was in a class, and my husband needed to bring me something and he didn't have any idea where my class was and I was busy. And I said, just go to the car. And he realized that he could just look up where the car was, which of course is great for if you lose it
Starting point is 00:40:19 in the parking lot. Um, but the, the idea that the car in front of me could tell me that the reason the guy just swerved is because there's a large metal object in the road well that would be useful i could i could see that but it's still going back to ease of use and privacy and security well i think there are a lot of applications that are very compelling that have fewer privacy considerations. My favorite one that I always yak about is Greenlight Optimal Speed Advisory. is thinking of spending on bus rapid transit, I think they could instrument the same roads with traffic signals that would inform approaching vehicles of their phase, essentially. And it would be well within the bounds of current technology
Starting point is 00:41:18 to set your cruise control to pick the speed that allows you to hit every light on green essentially i think i've done that on lawrence like twice in my life but yes that makes sense you you could have more communication between the lights and the cars and tell the cars that if you go 30 miles an hour for the next half an hour you get to have greens all the way well what would be better on a road more fuel efficient as well. If you consider a road like El Camino
Starting point is 00:41:48 that has a lot of pedestrian activated crosswalks, if signals could tell you when you're far away to slow down from 30 to 25, then that's when you're really getting a benefit. Yes, I think I certainly would prefer to go a little slower than to be stopped. That's always just mentally it's better. I think there's a real analogy between intelligent transportation systems and the utility grid in that the utilities have saved a lot of money in not building new power plants
Starting point is 00:42:24 by encouraging conservation. And I think transportation agencies, by investing a little bit in these intelligent transportation systems and using our current transportation network to better efficiency, that we'll be able to avoid building a lot of roads. It starts sounding like self-driving cars are the wave of the future, which I suppose I totally agree with. The self-driving car phenomenon is really fascinating. When I talk to people about it, they say, I don't want a self-driving car. And I say, well, what do you think of adaptive cruise control? Oh, I like that
Starting point is 00:43:05 idea. What do you think of blind spot detection? Oh, I definitely want that. What do you think about self-parallel parking? Oh, that would make my life so much easier. So if I list all the applications that are part of autonomy, people actually like them, but the idea makes them nervous because no one knows what an autonomous car would really be like oh i can i can imagine it'd be great i could sit there and read and it would do its little driver thing and then if it needed my attention it would tell me so you're gonna buy the first model when it comes out no probably the second but yeah i would be an early adopter i I hate driving, so I totally would like a car.
Starting point is 00:43:49 Well, that actually brings up a question from Brian King from Twitter. How long do you think it will be before the time for a new car metric inside of our heads is based more on software obsolescence than on mechanical problems. If you're rich, you should run right out and buy a car with all these new features now. I personally have not. I'm embarrassed to say that I know that my 2005 Mazda 3 is running
Starting point is 00:44:18 Windows CE, which was not what I would have picked if I were picking by software. And so the technology in cars is changing so radically. I don't think the average person has really understood yet how quickly the industry is now moving. The new cars have so much more capability. They're so much safer than the older cars that it's really a little bit of a boggle. Right now, of course, the big changes are coming in cars that, you know, you have to be pretty affluent to afford, but those changes are trickling down to the other models, and it won't be long
Starting point is 00:45:01 before economy cars have features like the self-parking and driver drowsiness detection. So I think software will become a major consideration in car choice very soon, even if it's not now. I gave a talk in September 2012 called The Coming of the White Box Car. I really think that we will see Kickstarter cars. I think we will see people replacing a lot of the electronics in their cars or adding to it with aftermarket units. I think people will be interested in flashing their own ROMs in their vehicles, and I'm not sure what the consequence of that will be.
Starting point is 00:45:49 That's exciting and terrifying. Exciting because I totally want to do it. Terrifying because I'm afraid of all of the other people and what changes they'll make. I agree. I'm even worried about some of the changes that I make. Yeah. So you have a website, she-del.com.
Starting point is 00:46:11 She-del. That's the way I pronounce it, yeah. And you speak quite a lot to the open source community. Is there any overlap between automotive and open source? There increasingly is a conviction within the traditional automotive community
Starting point is 00:46:29 that open source is the way to go. Automakers before were a little bit prisoners of their contractors, as is often the case in proprietary software development. They would employ an integrator to produce a system with software on it, and if the integrator didn't do a good job or was late, the automakers still had to work with that integrator because other vendors didn't have the source code.
Starting point is 00:47:01 Now if you look at standards like AutoSAR or automotive Linux, automakers can go to a wide variety of vendors and get little bits from them, or they could fire one contractor on Linux or AutoSAR and get another one because their standards are real standards, at least to some extent. So open source is gaining a lot of traction in automotive. QNX, which is proprietary, is still kind of the category killer. But as I've said, the market is really changing. A lot of other software that folks are familiar with is running in vehicles.
Starting point is 00:47:44 There's a lot of use of HTML5. There's a lot of use of the QT toolkit. So if you are familiar with embedded development, you'd immediately notice a lot of components and use that you're familiar with. Fair enough. You also run the Silicon Valley Automotive Open Source Group. Is that right? Silicon Valley Automotive Open Source is a meetup.com group. It's about two and a half years old. We meet monthly and have speakers about intelligent transportation or automotive software and electronics topics.
Starting point is 00:48:26 We have about, I think, about 930 members, and we've had presentations by Ford and GM and Toyota and NVIDIA and Mentor and Intel and kind of all the big local companies that are participating in automotive, as well as a number of small projects that are actually very exciting. One that just comes to mind is the Bay Leafs, the Nissan Leafs owners organization here in the Bay Area, which is full of smart engineers and which actually collaborates with Nissan
Starting point is 00:49:07 and has hosted a number of Nissan engineers who have come out from Japan to see what kinds of technology some of the tinkerers and bayleaves have implemented themselves. So some technology has actually made its way back to Nissan from local developers here in the Bay Area. And so are there car hacker projects? I mean, are there groups? It sounds like there's like a group of people who are modifying their cars. Are there multiple groups? How do you find folks who are doing that? There are, of course, a long history of shade tree mechanics and car modders and hot rodders.
Starting point is 00:49:51 Yeah, but software mods are different. Software mods and electronics mods have been gaining a lot more traction. The history of that area of hacking is indicated by the name of the primary resource on the web for finding out more information, namely mp3car.com. That's just mp3car.com. There are moderated forums and a store at mp3car.com. The quality of the information there, I've found, is quite high. There are a number of people involved with mp3car.com who are really serious experts and designers, and I've purchased some things from there.
Starting point is 00:50:37 The other community I recommend is scantool.net. It sells very nice equipment and has really good user forums. The big non-commercial projects are Team Wikispeed, which has run out of Seattle and is building some cars. There's Local Motors, another car construction volunteer's effort. And the fun one, I think diyefi.org. That's DIY as in do it yourself, EFI as in electronic fuel injection.org. That group has a product called Free EMS, and they're making their own engine control units. I've got some pictures up on Flickr of my friend Michael Carpenter with a little breadboard tuning his car
Starting point is 00:51:30 with sliders on a software application he wrote while I sit in the passenger seat. So it's a lot of fun. I do think that the time will come in the not-too-distant future when one of these groups will start selling cars that ordinary consumers can buy. I mean, not necessarily the hackers in DIY EFI, but I do think it's increasingly close that someone could start manufacturing custom cars the way that you can get custom
Starting point is 00:52:07 furniture made, for example. Well, that's kind of cool. So we started the podcast talking and we've a couple of times gone back to what skills do you need for embedded in automotive? Sounds like one of the ways you could get in is by modifying your own car. It's an interesting path. But what other advice would you give for people wanting to move into this area? Now's a great time to get into the area. I can tell you that in automotive Linux business that I work in, our sales are up 85% over last year. That's just amazing. So there's a tremendous boom on.
Starting point is 00:52:50 There's really a shortage of people to work on projects like the hypervisor. If you know something about virtualization, the security problems are hard. So people who know about network security are needed. The networking technologies like Ethernet, AVB, it sounds unhelpful to say any area of computer science, but to a large part it's true. I believe that most of the major projects and the big companies are hiring. Genevi, the open source automotive consortium, which is genivi.org, is a membership organization that includes all the major manufacturers. And there are a lot of open source projects up on the web from Genevi. And you could easily get on their mailing list and learn what they're doing.
Starting point is 00:53:50 So the area is really rife with opportunity right now, and I think it's no exaggeration to say that the field has got a shortage of engineers. Well, that's kind of good news for all of us. I think that's it for the show this week. Are there any last thoughts you would like to leave us with? It's been a pleasure to talk to you all. I've enjoyed listening to your podcast. I've gotten a lot of ideas to think about, so I hope I've provided something useful for folks to consider here. I think so. And maybe next time we'll talk about electrification in cars, because that's something that I'm really kind of into. Combine that with modding it, and I'm very into it. Thank you so much for being on
Starting point is 00:54:39 the show. My guest has been Allison Chaiken. I hope you've enjoyed listening to us talk about automotive embedded engineering. If you have comments or questions, hit the contact link on embedded.fm, and I will forward along to Alison. Or you can contact her via Google+. The link will be in the show notes. Thank you to the folks on Twitter who suggested a few questions for Alison. And thank you all for listening.
Starting point is 00:55:04 Now, I was going to go for the obvious Henry Ford quote about any color as long as it's black, because it's obvious. However, once you start reading Ford quotes, wow, I got lost in the many relevant things he had to say. This one is a bit long, but still true. So here is Henry Ford. I will build a car for the great multitude. It will be large enough for the family, but small enough for the individual to run and care for. It will be constructed of the best materials,
Starting point is 00:55:39 by the best men to be hired, after the simplest designs that modern engineering can devise. I'd say we could still use that.

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