USB On-The-Go

Last fall, Netrino was asked by a prospective client to assist with the design of a product to be controlled by a smartphone. At first, the requirement was stated as a Bluetooth connection between the smartphone and the product. Later, however, Bluetooth was deemed by the client too complex a connection for their customers to manage. Thus the […]

Read More

Twenty Years of Embedded Systems Design

It’s hard to believe, but industry magazine Embedded Systems Design, which I edited for five years from 1999 to 2004, is this year celebrating its twentieth continuous year in print. The popular magazine, which was titled Embedded Systems Programming for about the first 16 years, started its run in 1988, at a time when the widespread use of […]

Read More

RTOS Myth #1: Mutexes and Semaphores are Interchangeable

The Myth: Mutexes and semaphores are similar–even interchangeable–operating system primitives. The Truth: Mutexes and semaphores should always be used for distinct purposes, and should thus feature distinct APIs. (My recommendations to RTOS vendors are at the end.) The cause of the confusion between mutexes and semaphores is historical, dating all the way back to the […]

Read More

A new way to tell if something is an embedded system

Periodically someone tries to come up with a definition of an embedded system. For example there is an excellent and oft cited definition here. What got me thinking about this topic is the latest gadget I love to hate – my Verizon Treo phone running Windows mobile. A few years ago, there would have been no […]

Read More

Are all RTOSes the Same?

Having just, coincidentally, returned from teaching a two-day hands-on RTOS course in Florida, I was greeted this morning by the following message from an RTOS company president in my inbox: Recently, I have had a statement by you thrown at me. The statement essentially said that all RTOSes are the same, or something to that […]

Read More

Object-based programming in C

Embedded developers abandon C++ in droves. According to the 2007 survey published in the ESD magazine, the C++ use declined by one-third compared to year before, which was offset by an equal rise in popularity of C—the only viable alternative in embedded. Even though the last year was most dramatic, the trend has been actually continuing for […]

Read More

Electronic Component Footprints

As well as writing code and designing hardware, I also do PCB layout. I started doing this after I discovered it was often faster for me to layout a board myself than to try and convey all my requirements to a board layout person. If you’ve ever done PCB layout, you’ll know that getting information […]

Read More

Omniscient Code Generation

Hi Tech Software has recently been making a lot of noise about its “Omniscient Code Generation”. In a nutshell, the technology appears to defer code generation until the entire program has been compiled, and then look at everything before generating the final object code. The end result is a dramatically more compact (and presumably faster […]

Read More

Integrating the GUI and Off-screen Controls: Camera Example

Quite often the GUI on an embedded device is driven by the software team while the off screen controls are designed by the mechanical or electronic designers. Sometimes this leads to a system were these two parts of the same device are not well integrated. I have seen cases were icons or names used on […]

Read More

Tradeoff: Easy on the Eye or Easy to Use

Traveling with work I spend plenty of time in hotels. I noticed that the more expensive the hotel, the more expensive the bathroom fittings. However the more elegant and eye-pleasing the taps and faucets, the harder it is to see which is the hot tap and which is the cold. Some designers focus on form […]

Read More