Tuesday, April 10, 2007

Is the Embedded Industry Dead?

An analogy, SAT-style: The Embedded Systems Conference (ESC) is to Embedded Engineers what EclipseCon is to Eclipse Developers. At ESC, you will see hardware and software engineers wandering from booth to booth, typically drawn to anything that lights up. (Booth babes? Nah, give me blue LED's!) The love of this stuff goes way back. For me, it started when I was around 11 years old and armed with a soldering iron, a 100-in-one project kit from Radio Shack, a Commodore 64, and a workbench in the basement. So began my career path.

I've been in the embedded world professionally for 15 years now. My first official embedded design—an assignment in an EE undergraduate course—was a microprocessor-controlled (8086) hot/cold plate that used a thermoelectric module. If you've never played with a thermoelectric module, you must get one. Stick it to a big heat sink and put a decent current through it, and you get heat transfer through the module, which makes one side very hot and the other side very cold. Change the direction of the current, and the hot and cold sides switch. These devices are used in some drink coolers today, although this is far less efficient than a compressor. Anyway, in our design the user entered a desired temperature on a keypad. The microprocessor then read the temperature on the plate by sampling a thermistor. While displaying the current temperature on an LED display, the processor began driving the plate to the set temperature with rudimentary pulse-width modulation. The software also controlled current direction (heat/cool mode) and a cooling fan attached to the heat sink. To demonstrate our invention, we would put a drop of water on the plate and attempt to either freeze it or boil it. Freezing was more difficult, because we weren't able to dissipate enough heat on the hot side, despite the massive heat sink and cooling fan. Boiling was much easier. We even managed to melt the solder on the module once by intentionally overdriving the current (read: "hey, I wonder what would happen if…").

After dabbling in AI during grad school, my embedded journey resumed in the professional world where I built 3D modeling/measurement products on based on the 68332 and PPC505/509 processors. This was followed by my current employment at Wind River building debuggers for all manner of microprocessors. I will spare you further details, but for me, attending ESC last week was like talking a walk down memory lane, given that my embedded education and career began coincidentally with the emergence of a distinct space called "embedded".

And yet, something didn't feel right at ESC. For one thing, I'm tired of the term "embedded", because like so much else in my professional life, no one in my family (or the general populace) knows what the hell it means. "Device Software" is a bit better because it's at least self-descriptive and inclusive of technology mysteriously absent at ESC, like mobile java development. But it's more than just the term that bugs me. Embedded used to represent that feeling of engineering superiority over the application developer who had the whole computer at his or her disposal, when we had to deal with 8 or 16 bit microprocessors, hard real time, virtually no memory, no displays, and lousy tools. It's true that many designs still have to deal with precisely those limitations, and I don't want to diminish that. But it's also true that today's silicon contains so much stuff that you can often build an entire product out of one chip. Full-color, hi-res screens are now much more common, as are extensive GUI's available via a web server on the device. Now, instead of most embedded devices stoically performing some lonely forgotten task, they are more frequently connected to everything else by any number of communication mechanisms and protocols. And tools, thanks in part to Eclipse, are rock solid.

Software running on one or more microprocessors inside a physical product is just one part of a large, connected software application. End-user products now employ a range of software that may include a traditional embedded application and RTOS, a mobile device, a server application, and a host-based rich client app. The distinction between enterprise and embedded software is artificial and blurring ever more rapidly. Here's a simple example: a collection of heart/respiratory monitors attached to patients in a hospital ICU that transmit patient vitals via WiFi to a server, which in turn logs vitals history while relaying those stats to a PC at the nurses' station and to a hand held device in the on-call doctor's pocket, all with security enabled. Here's another for amateur car mechanics: compare the engine computer I had in my 90's Ford (it blinked error codes!) to the dozens of connected processors in a typical vehicle today. To design today's modern products, systems engineers have to know about a lot of types of software: embedded, device, server, network, rich client, web client, reporting, etc. Traditional embedded is just one part of the bigger picture. It's no longer an island. Today you see just as much if not more cool embedded technology at industry-focused conferences in networking, automotive, industrial automation, telecom, etc. This is great news.

So no, the embedded industry is not dead; it's just transformed. As I walked around ESC, I saw some vendors that truly understand this transformation and others that didn't. Yet, it still felt like the same old ESC, and I found myself wanting more…more real-world products on display, more vertically-focused applications, and more buzz around the embedded/enterprise connection. I think ESC as a conference needs to acknowledge and embrace this transformation. Perhaps the ESC of the future should be "Engineering Systems Conference". Perhaps what I'm longing for is an engineer-centric CES. I'll still be drawn to things that light up.

5 Comments:

At 12:02 PM, Blogger rich said...

I got both my current and my previous jobs by wandering around ESC conferences with a big stack of resumes and handing them out at booths that looked cool. At my old job, I also helped man the booths when ESC came around. I think the departure from classic embedded apps on display is due to the fact that the tools to develop those apps are more or less mature and taken for granted in the industry. Now, we worry more about working with complex systems, and that is the fear the vendors try to sell to.

Is it true that not even the cheap booths in the dark corners of the hall were displaying the simple embedded devices/tools?

 
At 4:15 AM, Blogger Ihar Filipau said...

> Is the Embedded Industry Dead?

NO! It just stinks the same!!

 
At 10:30 PM, Blogger alpa said...

Hi,

Came across your site while browsing around…cool stuff u have going on here. Also I thought I’d tell u about something I came across, thought u might find it useful, bcoz ur in Technology…it’s this site called Myndnet…u should check it out..the link is here http://www.myndnet.com/login.jsp?referral=alpa83&channel=al322

It’s this cool place where u get paid for responding to queries…very cool stuff!! http://www.myndnet.com/login.jsp?referral=alpa83&channel=al322

Sign up n lemme know what u think…my mail id is barot.alpa@gmail.com

Cheers
Alpa

 
At 6:11 AM, Blogger Amitabh said...

Is the Embedded Industry Dead? I hope not. My job depends on it. Aerospace Verticals that deal with safety critical embedded systems still like to keep it neat and tidy without messing around with the peripherals. And, you are right, it does make you feel a little bit superior.

By the way, you have a great blog going.

Best Regards,
Amitabh
http://aerospacesoftware.typepad.com

 
At 9:56 AM, Blogger Jan said...

I designed a Family Pictures Genealogy database using MS-ACCESS 2007, and EMBEDDED the picture of each person, going back to my Great-great-great-grandfather. Lots of doing (the pix have to be in .bmp format), and some swearing in between, to get it work, but it does. I've now started the same idea for my church's directory. Its been a lot of fun, as I love to design, implement, and populate.

 

Post a Comment

<< Home