Infrared Photovoltaics Could Solve Energy and Climate

It may not be possible to overhype new infrared photovoltaic technology. It’s basically a solar cell powered by excess heat. Further developments promise to power cars and factories by cooling the planet. Albert Einstein was first to describe the photoelectric effect, in 1907.  He was awarded the Nobel Prize for this work in 1923.  Briefly, the […]

Read More

Sanity checking data

One of the major differences between embedded systems engineers and the general public is that we tend to notice embedded systems a lot more – both when they do something very well, and also of course when they do things not so well. The latter happened to me recently when I was pursuing one of […]

Read More

Save Big on Embedded Systems Conference Registration

The big Embedded Systems Conference 2011 Silicon Valley show opens six weeks from today. This should have been my fourteenth consecutive year as a speaker, but I have an unfortunate calendar conflict that first week of May. Judging from the speaker and course lineups, it looks like it’s going to be a really great ESC conference again […]

Read More

Do Inline Function Bodies Belong in C Header Files?

Earlier today I received the following question by e-mail from Brazil: I am trying to conform to the rules in your Embedded C Coding Standard book and I just ran into what may be a problem with Rule 6.3.a. Instead of using function-like macros, I’m using inline functions, as you recommend. However, my compiler (avr-gcc) gives an […]

Read More

The N_ELEMENTS macro

Many years ago I came across a simple macro that has proven to be quite useful. Its usual definition looks something like this: #define N_ELEMENTS(X)           (sizeof(X)/sizeof(*(X))) Its nominal use is to determine the number of elements in an incomplete array declaration. For example void foo(void) { uint8_t bar[] = {0, 1, 2, 3, 4}; […]

Read More

What’s Wrong With Home Security?

After living in my house for 22 years my illusion of security was shattered.  Three high school kids created a mini-crime spree, breaking into something like a dozen houses in my generally good neighborhood.  With squad cars roaming the streets and police helicopters overhead the group broke into their third house that day – mine.  […]

Read More

What NHTSA/NASA Didn’t Consider re: Toyota’s Firmware

In a blog post yesterday (Unintended Acceleration and Other Embedded Software Bugs), I wrote extensively on the report from NASA’s technical team regarding their analysis of the embedded software in Toyota’s ETCS-i system. My overall point was that it is hard to judge the quality of their analysis (and thereby the overall conclusion that the […]

Read More

Unintended Acceleration and Other Embedded Software Bugs

Last month, NHTSA and the NASA Engineering and Safety Center (NESC) published reports of their joint investigation into the causes of unintended acceleration in Toyota vehicles. NASA’s multi-disciplinary NESC technical team was asked, by Congress, to assist NHTSA by performing a review of Toyota’s electronic throttle control and the associated embedded software. In carefully worded concluding statement, NASA stated […]

Read More