Boston’s Embedded Systems Conference last week may have been smaller than in its heyday, but there were a number of interesting exhibitors and talks. There’s never enough time to attend more than a handful of the presentations I want to see, but here are a few highlights.
The expo show floor. Photo by author.
Jacob Beningo gave a talk seductively named “Creating an IoT Device in Only 45 Minutes.” The room, packed to capacity, listened intently. How do you go from the normal six to twelve month development cycle to 45 minutes? Jacob admitted that 45 is really 45ish, and I’d wager that his approach, while blazingly fast, would take a couple of hours or more. But still, he discussed using innovative approaches based on already-developed platforms to greatly accelerate time to market.
His primary platform was the Electric Imp. This is an SD card and mounting board based on the ubiquitous Cortex M that has wifi and all required firmware. Plenty of I/O – GPIO, PWM, I2C, etc. – is included. He connected it to a weather station board from Sparkfun. The hardware work was done, using canned components.
The firmware was almost done as well as the hardware is accompanied by almost all required code. What little development needed takes place in the cloud. There is no IDE on your PC. Developers use scripting lingos like Python and Squirrel (Squirrel? With over 1000 extant programming languages I guess they’re running out of names). Like the mbed environment, there’s no setting up of complex peripherals; a line or two of code is all that’s required to access devices.
A “blink up” process uses your phone to configure the Electric Imp hardware. The phone’s screen blinks in some rapid pattern; the Imp reads those blinks to configure the wifi. It’s all pretty cool. Jacob feels that this is the future of the embedded space.
I’m not so sure. Recurring costs and form factors have always challenged these sorts of canned solutions. But for makers it’s hard to beat the platform idea. Pro engineering will likely need different solutions. Still, this innovative approach does make one think, and might be a great way to do rapid prototyping.
German Rivera presented a talk about first-fail data capture. The idea is to capture enough software failure debug data in the field so developers don’t have to recreate the bug to fix it. There are three components to this idea:
- Lightweight tracing. One or more circular buffers log events, be they errors or just things like component initializers and teardowns, state machine transitions, and the like. He suggested using multiple buffers, perhaps one each for errors, info, and debug, and to have configurable verbosity settings to tune buffer use.
- Production code asserts. Log errors and then put the system in a safe state or restart it. One option is to recover from the error, but that is, especially in C, typically hard to impossible to do.
- Using unique error codes. In GCC the builtin_return_address macro can be used to ascertain the address an error hander is called from; that could be the unique error number that goes into the circular buffer to log exactly where something went wrong.
In a sense there’s nothing new here. But there are few embedded folks who employ these strategies so aggressively, and I bet a lot of applications could benefit from them.
Finally, David Gerber, son of Joseph Gerber of Gerber file fame, gave a talk about his dad’s life, extracted from David’s new biography (The Inventor's Dilemma: The Remarkable Life of H. Joseph Gerber) of the older man. It was mesmerizing.
David Gerber at the ESC Theater. Photo by author.
The elder Gerber’s father was born to Austrian Jews in 1924. By 1940 his dad, David’s grandfather, had disappeared in Nazi concentration camps never to reappear, and Joseph had emigrated to America. He wanted an education but was poor and supporting his mother. He negotiated (at age 15!) a deal with a local high school to enter as a Junior, but to do the Junior work while also completing Freshman and Sophomore studies. All this while working a full-time job. And a part time one as well. Two years later he completed all four years of high school, and entered Rensselaer. Another two years went by and he had a degree in aeronautical engineering.
David had many stories of his father’s inventions. A couple of highlights: the first digital plotter, and the first photoplotter. The latter was developed for companies creating printed circuit boards. It needed a control file format – hence, Gerber files, still used today.
In response to a question asking if he was proud of his dad’s legacy, David poignantly said “I’m a proud son but also a grateful son. He was a better father than inventor.”
And that was after 45 minutes about what an incredible inventor the man was.
Jack G. Ganssle is a lecturer and consultant on embedded development issues. He conducts seminars on embedded systems and helps companies with their embedded challenges, and works as an expert witness on embedded issues. Contact him at . His website is .