Skip navigation


14 Posts authored by: Henry-Davis

There’s a ground swell of “green” requirements taking a prominent position in modern electronics design. But there are some substantial benefits that can be obtained from improving energy efficiency that’s all wrapped up in the green part of the design. By selecting the right processor and systems software you can eliminate active cooling devices, reduce power supply needs, and reduce real estate requirements.


There are many applications that benefit from fan-less operation such as wireless routers, mesh routers, “brick” style embedded systems and a wide variety of applications that can be serviced by Single Board Computers (SBC). ADI Engineering’s (1) Cinnamon Bay SBC and their customizable Atom E6xx-based design is one example of how fans and other active cooling devices can be eliminated from an embedded system. Eliminating cooling fans reduce cost, improve reliability and cut systems size. While some of this reduction in cooling needs comes from careful SBC design, much of the reduction in power consumption in comparison to other processor-based solutions, comes from the intrinsic capabilities of the Intel® Atom™ E620 processor. The E620 thermal dissipation requirements may be met using a thermal management interface materials (TIM) and a heatsink. Together the TIM and heatsink serve to keep the temperature of the semiconductor circuit junctions from either causing the processor to temporarily stop working or fail completely.   Intel provides a Thermal Design Guide that details options for heatsink alternatives.


Intel’s Atom processors include a Thermal Monitoring feature that can help control the processor temperature. When the Monitor is enabled and active due to the die temperature reaching a pre-determined activation temperature, the Enhanced Thermal Control Circuit (TCC) attempts to cool the processor by first reducing the core to a specific bus ratio, then if necessary stepping down the internal operating voltage. Both of these actions will have an impact on processor performance – and therefore the embedded software.




ADI Engineering takes a standard Atom-based SBC into the realm of fully customizable designs. By using ADI Engineering’s Intellectual Property licensing mechanism, designers can further reduce both power consumption and board size by eliminating unused capabilities of the Cinnamon Bay SBC. According to the company, the real estate requirements can be reduced up to 50% compared to the COM Express Ultra form factor. The Ultra is 55 x 84 mm making the customized Atom board a very small device.


Advantech(2) offers a "SOM-6764” COM Express (95x95 mm) module that can be populated to large scale embedded systems: supports on board 1 GB DDR2 memory, PCI, 1 PCIe x 1, 1 SATA, 1 IDE, 6 USB ports. In this type of configuration power consumption may be dictated more by the duty cycle of usage for peripherals and memories rather than the processor itself. The Advantech SOM-6764 uses standard AT or ATX style power plugs and supplies.  Other Intel Embedded Alliance members offer similar COM Express boards, including Emerson (3) and others detailed in a report hosted on the Intel Embedded Community.


Kontron(4) offers custom development of embedded boards based on the Intel Atom family. When developing a custom board, pre-existing board products can be used to prototype embedded systems, but once a system has been proven, extraneous bits and pieces may be eliminated. Doing so lowers per-unit costs, while optimizing board real estate and power consumption.


Improving energy efficiency often goes hand in hand with reducing power consumption. But such is not always the case. For example, there are algorithms that are energy efficient, but which don’t necessarily allow an embedded device to operate within a specified instantaneous power budget. So it’s possible for short durations of power consumption to be more energy efficient over the long term. This mostly happens when devices peripheral to the processor are used intensively at the same time that high power draw instructions are executed.  For embedded devices that must keep instantaneous power consumption below a threshold, the power limitations may require the use of a less efficient algorithm – but one that uses more power to complete the computation.




Software Tools from Green Hills (5) and Wind River (6) can assist with optimizing embedded systems software with an eye towards energy efficiency.  Software-only tools such as Wind Rover’s Run-time analysis tools: System Viewer, Memory Analyzer (formerly MemScope), Performance Profiler (formerly ProfileScope), and  Data Monitor (formerly StethoScope) can be used to gather secondary information about how much energy is being used by a candidate embedded system. The secondary information relies on knowing how much time is being spent in various portions of the application code. When combined with JTAG-based in-circuit-emulation tools and fast-response current metering instrumentation, it’s possible to build a tool suite that permits you to monitor actual energy usage, and therefore be able to determine energy efficiency.


Measuring actual energy consumption is an evolving field that today has to be accomplished by collections of tools. The time units of measurement and the intervals depend primarily on any restrictions on instantaneous power consumption. This is especially the case for Power over Ethernet (PoE) powered devices. For some systems you can add additional power sources to your design by adding capacitors or batteries that are engaged when the embedded system reaches a pre-set current consumption.  Recharging the secondary power source occurs when the embedded application is consuming lower levels of power. Of course, the size of these secondary sources may add substantially to the physical size of the embedded electronics.


Saving board real estate is often a natural outcome of improving power efficiency. If we eliminate a fan from an embedded system, there is a savings of the fan size, power connections to the fan, and a reduction in the required power supply. A reduction in the energy required to operate an embedded system impacts the power supply design. If we reduce the energy consumption by 50% this usually translates into more than a 50% reduction in power supply size. For embedded systems that include the power supply as part of an SBC, the reduction in board space can become significant: smaller boards may mean a smaller enclosure which in turn means lower costs; smaller boards can have a lower cost to build beyond just the raw board costs based on test costs and lower manufacturing losses; lower power requirements may allow wiring to be reduced in size which may save costs; and improved energy efficiency can extend product life by improving reliability.


Improving energy efficient is a net win for manufacturers, users of embedded systems, and the power grid as a whole.


How can you improve your product’s energy efficiency?


To view other community content on energy efficiency, see “Energy Efficiency – Top Picks”




  1. ADI Engineering is an Associate member of the Intel Embedded Alliance
  2. Advantech is a Premiere member of the Intel Embedded Alliance
  3. Emerson is a Premiere member of the Intel Embedded Alliance
  4. Kontron is a Premiere member of the Intel Embedded Alliance
  5. Green Hills is an Affliate member of the Intel Embedded Alliance
  6. Wind River is an Associate member of the Intel Embedded Alliance


Henry Davis
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance

The world’s older members of society are becoming a larger part of the population as a whole. According to the United Nations, in 2000 there were less than 600 million persons aged 60 years or over in the world, comprising 10 per cent of the world population.  By 2050, this figure will triple to nearly 2 billion older persons, comprising 22 per cent of the world population. Those statistics are mirrored in the United States. Today in the US, there are nearly 40 million Americans above the age of 65. By 2050 the US Census Bureau projects that the number will grow to nearly 90 million people – about 20% of the US population. As people age, their health costs go up and the types of health care that they need becomes more intensive. These facts are behind the push by many governments to find way to control health costs.


Engaging people in their own well-being has proven to yield better outcomes both in terms of quality of life and cost containment. At-home self test kits for a variety of illnesses, including diabetes - the fastest growing chronic health problem, have slowly revolutionized the healthcare system by giving consumers direct information about their condition. There is an old engineering saying that you can only control what you measure. Monitoring health is one way to begin to control the outcome of healthcare. Now the healthcare field is poised to make a giant leap ahead by linking home-based medical instrumentation with healthcare provider databases and live on-line consultations.




Care Innovations, a joint venture of Intel and GE Healthcare’s Home Health Division, started their hardware-based product line using an Intel® Atom™ processor in a tablet-computer configuration to provide a human-machine interface including text-to-speech, full motion video, audio and low speed, and low data rate physical monitoring such as blood pressure. Data communications are via the broadband network connection. According to a company spokesperson, Care Innovations is now offering a software-only package that runs on common industry platforms. This natural evolution of the delivery vehicle for the Health Guide product was only recently approved by the Food and Drug Administration in the US. Based on the FDA clearance, Care Innovations is moving away from providing the purpose-built PHS6000 device.


The recently approved version of the Health Guide software suite can operate on a wide variety of hardware platforms. According to company Chief Executive Officer Louis Burns of Intel-GE Care Innovations, "Since the newest version of the Intel Health Guide will be available on a variety of platforms, healthcare organizations can choose from numerous portable, inexpensive options, and have the ability to scale the solution to large populations.”  The new FDA approval makes a wide variety of tablet PCs able to run the Health Guide software. For example, Netbook Navigator offers two series of tablet computers that use an ATOM processor capable of running  the Health Guide suite.


Aetna Insurance company has used the Health Guide PSC6000 in a trial involving older patients with chronic heart problems. Dr. Randall Krakauer, Aetna’s national Medicare medical director observed “Evidence shows that traditional nurse care management programs have improved outcomes and reduced avoidable hospital admissions among Medicare beneficiaries with CHF (chronic heart failure).” The use of the Health Guide system, and in the future the software suite, argues strongly in favor of hosting the suite on medical tablets and other medical-grade embedded hardware systems. Security of personal information used by the suite can be improved by limiting the other general computing uses of the hardware platform.

Kenton Williston published a blog on choosing a medical tablet computer last November, but the choices have since expanded signigicantly.


Members of the Intel Embedded Alliance offer hardware options. The greater range of approval means that dozens of embedded and purpose-designed systems can be use to run the Health Guide software. Asus provides the Slate computer and the Eee series, each of which can host the Health Guide. Likewise, Advantech(1) offers a series of preconfigured medical grade tablet and netbook style computers. Advantech’s POC-C series medical computing terminals were designed to save cost while providing  performance. The units feature an energy-saving design that allows for low power consumption of only 28-48 watts during normal operations. The POC-C series terminals were designed for patient monitoring and computer cart applications.   Emerson (2) produces a series of motherboard and other small form-factor solutions aimed at home healthcare OEMs including These qualified and open standards based platforms such as CompactPCI®, Processor PMC and MicroTCA®. Kontron(3) offers a wide variety of OEM solutions that can be configured to meet any set of needs. The product offering includes Intel® Core™ i7, i5 and i3-based products such as the ETXexpress® SC. The COM Express® basic supports pin-out Type 2 and Type 6 and the Mobile QM67 chipset. Radisys(4) also offers many options for medical computing. The company already has fielded solutions for a handheld x-ray scanner and medical monitoring equipment.




Hardware vendors and the FDA only have part of the decision about what hardware can be used for remote patient monitoring. Insurance companies may be the biggest stakeholder of all in the nascent remote patient monitoring business. Many health plans do not reimburse over-the-counter medications and devoices, even when prescribed by a doctor. To date the solution preferred by many health plans is based on equipment that serves a limited and health-related function only.


The computer is only part of the complete Health Guide solution. Asking patients to enter medical readings by hand is an error prone task that gives the opportunity to patients to “forget” to enter data. Health Guide solves this problem by allowing medical instrumentation to interface directly with the Health Guide system. Basic vital signs are an important part of monitoring the state of an individual’s health. These measurements include blood pressure and weight. For people with chronic health issues, additional measurements may be needed: blood glucose, blood oxygen levels, heart rate, and more. Towards that end, the Care Innovations Health Guide product can gather information from: A&D medical blood pressure monitors, both wired and wireless; Bayer HealthCare glucose monitors; LifeSca, a Johnson & Johnson Company glucose monitors; Microlife peak flow monitor; Nonin Medical wireless pulse oximeter; and A&D Medical weight scales, both wired and wireless.


Since the Health Guide can be used by patients to obtain medical advice and monitoring, for US use the product falls under medical devices requiring U.S. Food and Drug Administration (FDA) review. The Health Guide products are controlled by the FDA “Premarket Notification,” sometimes referenced by its origins in the Federal Food, Drug and Cosmetic Act as the “510(k) process.” The March 2011 FDA 510(k) clearance permits the Health Guide software to be marketed independent of the underlying hardware. But, market factors will likely encourage the use of low cost, low power medical certified  products to host the software.


Intel was the originator of the Health Guide product and its software beginning with FDA clearance in 2008. Due to the regulatory requirements for the software-based product, Intel chose to develop the entire Health Guide software suite using traditional software development methods. The product does not employ Open Source software. The suite controls medical instrumentation measurements using various tools and presents the information for both patients and medical professionals to review. The software allows “normal” lower and upper bounds to be established for each reading type and can alert healthcare givers to out of range readings either remotely or locally if the patient is being seen in person. But perhaps the most important aspect of the new approach to healthcare is based on remote monitoring. Using the Health Guide suite professionals can be warned when readings exceed established norms. As a positive feedback mechanism for routine monitoring, frequent feedback to the patient more fully engages them in managing their own healthcare. In multiple studies, the benefits of such feedback consistently demonstrates better outcomes for patients.


Remote Patient Monitoring products like Health Guide are a sea-change in healthcare.


How can you apply these same principles of remote monitoring and reporting to your other embedded systems?


More information





For more on extending the Internet to embedded devices, see


1. Advantech is a Premier member of the Intel Embedded Alliance

2. Emerson is a Premier member of the Intel Embedded Alliance

3. Kontron is a Premier member of the Intel Embedded Alliance

4. Radisys is a Premier member  of the Intel Embedded Alliance



Henry Davis
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance

Developing automotive applications is a complex series of tradeoffs between hardware capabilities and software requirements. New Intel Architecture developments and an ever-widening software ecosystem can provide systems alternatives, including the use of Linux and derivatives.


The Intel® Atom™ processor E6xx has adopted an open Input/Output standard, based on the PCI Express (PCIe) bus. This hardware approach can impact software development, but allows customized Input/Output hubs (IOH) to be developed to meet specific application needs. Harman International, Rohm, and STMicroelctronics have each used the flexibility of a standards-based IOH to optimize their respective products. Customized hubs such as that provided by ADI Engineering, Inc (1) permit unique hardware to be developed that support alternatives ranging from basic kernel-based systems to operating systems and environments such as Linux.


Harman International

Harman International through its Harman Automotive operation extended its long standing partnership with Intel to serve the open platform for automotive Infotainment Systems using the Intel Atom processor family.




Fast Internet access, e-mail functions and state-of-the-art audio and video sources are fully accessible in the automobile. What were once viewed as business functions, like address book, calendar, task lists, and other similar applications, can now be integrated into automotive systems. Internet access in Harman’s 2009 concept car prototype is achieved with a 3G UMTS telephone or via WiFi at a higher speed. Harman uses QNX Software Systems (2) automotive software platform called QNX CAR for QNX Connected Automotive Reference. Harman also offers the IVI Compute Module for automotive infotainment systems.


The QNX Realtime Operating System (RTOS) is central to the Harman software operation, but is surrounded by a wide array of device drivers and interfaces to support popular cell phones, portable consumer electronics, and OEM input/output devices like displays, echo cancellation hardware, and MEMS-based microphones.




QNX CAR uses Adobe Flash to prototype the user interface prior to integrating the operating software for the actual application. The Adobe Flash implementation is also used to deliver the final Human-Machine Interface (HMI). The system further streamlines code by assembling the automotive application without the use of a traditional operating system. Instead, QNX CAR includes an application framework to launch and control HMI applications and manage the interface to the middleware and OS services layers.


Rohm and Oki Semiconductor

Rohm and affiliated company OKI Semiconductor(3) have created a four chip set that can be used to mix and match capabilities for E6xx-based systems:

  1. Power Management IC (PMIC) ROHM  provides a 20-channel system power supply (1-channel DC/DC controller ,      4-channel DC/DC regulator, 8-channel LDO, 6-channel load switch, and  1-channel Vtt voltage intended for Double Data Rate (DDR) Synchronous DRAMs). A specialized power supply ON/OFF sequence controller eliminates the need for conventional complex power supply sequence design.
  2. Clock Generator IC (CGIC) ROHM’s Phase Locked Loop (PLL) technology provides high-frequency accuracy. The clock chip employs Spread Spectrum technology to minimize Electro Magnetic Interference (EMI). The IC includes all required clocks including CPU, PCIe, Serial ATA (SATA) and USB.
  3. Input/Output Hub (IOH) ML7223 for IP phones manufactured by OKI Semiconductor is compatible with SATA and USB, Gigabit EtherMAC and IPsec hardware accelerator, and Echo/noise cancellation function.  A high-speed bus supports cascade connections of external Field Programmable Gate Arrays (FPGAs).
  4. An additional Input/Output Hub (IOH) by OKI Semiconductor for in-vehicle infotainment devices is compatible with video input, SDVO, USB, and SATA. It includes MediaLB®interface to support Media Oriented Systems Transport (MOST) bus protocol for automotive infotainment.


MOST supports optical communication and plug and play functionality, including USB connections, and replaces traditional automotive wiring harnesses used in legacy multimedia automotive systems. In addition to QNX’s support of MOST, Green Hills Software’s (4) Integrity runs the Basic Layer of the MOST NetServices on top of a device driver that provides access to the MOST Low Level System Services. Wind River Systems (5) infotainment platform based on an automotive-optimized commercial Linux also supports MOST.



STMicroelectronics’ ConneXt IOH is designed to meet next-generation In-Vehicle Entertainments (IVE) also called In-Vehicle-Infotainment (IVI). The ConneXt device connects to the Atom E6xx series processor using the industry-standard PCIe interconnection technology. A typical next-generation system will simultaneously provide the driver with applications such as 3D navigation and hands-free cell phone use, while the passengers are using the Internet, watching DVDs, or playing games on different, multiple displays.



Wind River’s automotive platform is based on a commercial Linux. Wind River Platform for Automotive Devices provides telematics, infotainment, navigation, and entertainment developers with an integrated solution. The platform includes VxWorks, Wind River Workbench, and essential multimedia and connectivity middleware.


Adopting a standard operating system like Linux for the basis of an automotive platform is eased by selecting an already optimized automotive version like those supplied by Wind River and the application framework approach of QNX. But starting from scratch carries some complications. The most notable challenges are boot load time and the sheer size of the OS and associated library image.  It may sound trite, but optimizing the load image is mostly an administrative task. It’s amazing how many libraries are included with most OSes based on desktop systems because “it’s more expedient” than determining which ones are really necessary. This process can be time-consuming, and then have to be redone if a new application is added to the system. Systems that include a hard disk drive seldom are concerned with saving disk space because it is relatively cheap. But such is not the case for embedded systems. Often these systems rely only on non-volatile semiconductor memory which is very much smaller (and more expensive) than a disk drive.


The more challenging task for making a Linux-based embedded system operate cleanly in an automotive network comes from the boot load time. Typical desktop systems often take an appreciable fraction of a minute to boot so that they are ready to operate. It is simply unacceptable to require a driver to wait for their car to boot. Creating an automotive capable Linux is a big undertaking. But there are Open Source alternatives in addition to commercial products, like Wind River’s Automotive Platform. The MeeGo IVI software platform marries the GENIVI ecosystem of participants with the Open source project organization managed by the Linux Foundation. MeeGo provides State-of-the-Art Linux stack optimized for the size and capabilities of small footprint platforms and mobile devices, but delivering broad Linux software application compatibility.


If “go it alone” is your philosophy, boot load time will be critical – automotive embedded systems must not keep a car from being used. The Intel Atom family includes faster boot load capabilities that will aid the process, but the key is in paring down what is essentially a desktop OS into a slim embedded OS. The critical start up time is defined by the CAN communications protocol – the system must start up and be operational within 100 milliseconds.


To begin making a Linux version that will meet this time constraint:


  • Pre-calculate constants at compile time
  • Remove un-needed legacy code like PTY
  • Eliminate hotplug capability
  • Remove init  and MTD
  • Choose a filesystem – JFFS2, Cramfs, AXFS. All use compression.
  • Execute code in place – don’t load it into RAM


The startup time for a Linux system using these principles will depend on many factors including which specific filesystem you’ve chosen and the execution time when accessing non-volatile memory.


Combined hardware and software developments enable support of selected OSes and software environments while accruing the reductions in hardware cost, board space and power consumption. Developing a customized “hub” also gives designers the option of adding special-purpose hardware to further reduce power consumptions and increase performance.


How will you use the lessons from automotive platforms in your next project?



1.      1. ADI Engineering, Inc is an Associate member of the Intel Embedded Alliance

2.      2. QNX Software Systems, Ltd. is an Associate member of the Intel Embedded Alliance

3.      3. OKI Semiconductor Co., an Affiliate member of the Intel Embedded Alliance

4.      4. Green Hills Software, Inc is an Affiliate member of the Intel Embedded Alliance

5.      5. Wind River Systems is an Associate member of the Intel Embedded Alliance


Henry Davis
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance

One of the most anticipated airplanes, Boeing’s 777 Dreamliner incorporates a two-pilot flight deck with a five-screen electronic flight information system. If you’ve ever looked in the cockpit of a commercial airliner, you have seen the bewildering array of screens, dials, and indicators used to control the airplane. The Dreamliner flight screens replace a large number of indicators, and serve to reduce the amount of information the pilots need to deal with at one time.


To better appreciate the complexity of automatic navigation systems it is important to understand the three basic control surfaces that affect an airplane's attitude. Elevators are devices on the tail of a plane that control pitch. This is best described as the movement of an aircraft around a horizontal axis perpendicular to the direction of motion. The rudder turns the airplane left and right relative to the forward motion of the airplane – called yaw. Ailerons are the third control surfaces attached to the trailing edge of the wings. Ailerons control the airplane’s roll. Roll occurs when the ailerons move in opposite directions and cause the airplane to turn on the axis that is in the direction of travel. Roll is the flight path you see when the pilot performs a barrel roll. So, in order to control aircraft attitude, we must control: yaw, pitch and roll. In addition, if equipped with throttle control, we can control the aircraft speed.  Single-axis autopilots manage one set of controls, typically the ailerons. Such systems are known as a "wing leveler" because by controlling roll it keeps the aircraft wings level. A full autopilot manages all three basic control systems: ailerons, elevators and rudder. Other aircraft, such as helicopters, are controlled differently. The control algorithms for a helicopter are also different from that of a fixed wing aircraft.

You can get an idea of the specific control software needed to control a hobbyist aircraft by reviewing sites like Many of the hobby autopilots offer a set of operational modes intended to make operating a Radio Controlled (RC) aircraft easier. A Carnegie Mellon University project "An Autonomous Autopilot Control System Design for Small-Scale UAVs" equipped an RC model airplane with a ground-based autopilot.




Open Source products like ARDUpilot the hobbyist with multiple control modes:


  • STABILIZE (RC control with wing leveler; let go of the sticks and it will level)
  • FLY BY WIRE_A (More autonomous control, including airspeed.)
  • FLY BY WIRE_B (More autonomous control, no airspeed.)
  • AUTO (Aircraft will follow GPS waypoints set by configuration utility.)
  • RTL (Aircraft will return to launch point and circle.)
  • LOITER (Aircraft will circle in current position.)

All of these functions in an RC airplane are contained in a single chip lower end microcontroller.  Studying the code for the RC airplane is a straight forward task. If you are not familiar with PID control algorithms, the code base for ARDUpilot is fairly small – each function takes a few pages of code. PID control was discussed briefly in an earlier article.


How does a hobbyist RC autopilot turn into a commercial autopilot that is hardware intensive with incredible software complexity? In part the answer lies in risk. If a small single engine RC aircraft crashes, there is little risk to human life. When a several hundred thousand pound aircraft crashes, there is risk to both life and property.   To mitigate risk, designers of life critical systems often add processors to their design. With added processors come more power consumed, more memory used, more peripheral control required, and more intrinsic complexity.


The growth in commercial airplane control hardware complexity and weight led to a decision to integrate all of the flight deck functions into a unified system. The 777 was the first aircraft with an ARINC data bus linked to the main and standby navigation systems. It also includes a Terrain Collision Avoidance System (TCAS) and a twelve-channel Global Positioning System (GPS). The aircraft is equipped with a color weather radar. These last three systems give a glimpse of the complexity present in the current generation of commercial aircraft flight systems.



The Boeing 777 has a triple redundant digital autopilot and flight director. The flight control system includes envelope protection commands, which prohibit maneuvers that would push the airplane beyond its flight limits. Each of the three primary flight computers contains three different and separately programmed 32 bit microprocessors. The microprocessors include three different manufacturers’ CPUs, including an Intel processor, selected to manage the fly-by-wire functions.

Let’s look at why multiple processors would be used in a commercial autopilot.  The first obvious reason to have more than one processor in such a system is for redundancy. When one processor fails the redundant processor(s) can take over operations. But multiple processors on a single chip don’t address all of the processor failure mechanisms. We’ve talked before about hot standby which is one mechanism to ensure continuous operation. When hardware encounters a failure that does not result in a processor-stopping hardware failure, how do you tell? The classic method is to implement a three-or-more-processor design with voting logic. If two of three systems produce the same result, then the third system is known to be bad by definition. Guarding against processor data sensitivity and processor logic errors requires additional effort by engineers. Much of this effort falls to the software engineers. Many processor families have suffered from arithmetic errors intrinsic to a specific implementation. The idea of using different processors, possibly designed by different engineering teams, makes it unlikely to replicate the same set of errors under the same circumstances. So, it’s easy to see the rationale behind including three physically different processors from different manufacturers.  Errors can be introduced at several places in the software development process. Most people don’t think about failures of compilers and other software tools. Software development systems introduce a whole new wrinkle into the design of critical systems. It’s easy to see how you could implement three or more software control systems operating on a single processor. Of course, each of the software systems must be programmed in different ways yet still achieve the same answer. Arbitration software can vote any single process offline if it produces answers different from the other two processes.  


Certified Real Time Operating Systems (RTOSes) can provide designers with a foundation for qualified software development. For example, Green Hills Software, Inc (1), QNX(2), and Wind River Systems(3) all offer embedded RTOS products.  Green Hills offers a specific aerospace package called the Integrity Real-time Operating System (RTOS) and AdaMULTI Integrated Development Environment (IDE). The AdaMULTI IDE is an integrated set of tools for the development of embedded applications using Ada 95, C, C++, Embedded C++, and FORTRAN. Many aerospace systems must employ software developed using ADA and ADA-based tools. Wind River also provides an aerospace platform  that conforms to many of the world’s standards for critical avionics systems including RTCA DO-178B, EUROCAE ED-12B (“Software Considerations in Airborne Systems and Equipment Certification”),  IEC 61508 other related software standards.


The Boeing 777 flight control capabilities come with some hardware and software complexity. Five screens provide the two pilot flight decks with instant access to essential information. The five displays include two primary flight displays, two navigation displays and an engine indication monitor.  Software vendors like Green Hills, QNX, and Wind River RTOSes are the tip of the iceberg for aeronautics software, but by comparison to hardware choices; it’s a well contained series of alternatives. The proliferation of hardware alternatives is staggering. For example, GE Intelligent Platforms (4) in Charlottesville, Va., offers the ACR301 rugged 3U CompactPCI CPU board based on the Intel Atom E6XX processor for harsh-environment aerospace, defense, and industrial embedded computing applications. Chief among these applications is unmanned aircraft with demands for minimal power consumption.

On the other end of the scale, Kontron (5) offers the ACE Flight 600 ruggedized airborne server based on the Intel® Core™ 2 or Atom™ processor. Kontron also offers a selection of 3U CompactPCI cards and Computer-on-Module form factor systems.





From hobby RC airplanes, remote photography, and autonomous aircraft, to commercial airplane flight control systems, there is a continuum of systems capabilities. Basic RC autopilot facilities can be implemented in a single low end microcontroller, but commercial passenger airplanes demand more from auto-navigation systems. More means more power systems, more processors, more error detection, and more complex software.


How can you employ aircraft reliability and safety in your non-aircraft designs?   



1. Green Hills Software is an Affiliate Member of the Intel Embedded Allaince

2. QNX Software Systems is an Associate Member of the Intel Embedded Alliance

3. Wind River Systems is an Associate Member of the Intel Embedded Alliance

4. GE Intelligent Platforms is an Associate Member of the Intel Embedded Alliance

5. Kontron is a Premier Member of the Intel Embedded Alliance


Henry Davis
Roving Reporter (Intel Contractor)
Intel(r) Embedded Alliance

Although the resulting product was decried by many converts to the open source movement, the developers successfully asserted their right under the GPL to keep portions of the code proprietary. But it also prompted multiple authors to fork new code bases aimed at satisfying a wide range of requirements.

Most retail wireless routers are based on Systems-on-Chip (SoC) that incorporate a processor, memory, and specialized peripherals. Such systems restrict the number of hardwired LAN connections, optional software and router-based packet processing. Open Source gives us a way to address these issues – we can port wireless router software to a

new target processor.  But we need a radio to interface to the WiFi transmissions.



WiFi radio units are available from a number of vendors. Marvell’s 88W8786U radio module is typical of module functionality. The device provides the combined functions of the IEEE Standard 802.11/802.11b Direct Sequence Spread Spectrum (DSSS), 802.11g and 802.11n Orthogonal Frequency Division Multiplexing (OFDM), baseband modulation, Medium Access Controller (MAC), CPU, memory, host interfaces, direct-conversion WLAN RF radio, and Bluetooth coexistence on a single integrated chip. The CPU used in these modules provides control of the radio elements themselves. Making a full featured wireless router requires additional processing power, memory, and peripherals.

ADI Engineering (1) also offers a WiFi capable radio, RM1 High-Power MiniPCI 802.11 a/b/g Radio, as part of its network boards. ADI also offers customized hardware based on stahdard Intel processors, or customized single chip ATOM-based computers as a solution to needs outside their standard offerings.



No matter what WiFi radio is chosen for your design, there still is a lot of software needed to operate a large scale wireless router.  DD-WRT and OpenWRT are probably the most popular wireless router software packages available. Even though these packages will implement a wireless router with minimal effort, there is a porting effort involved to make them operate on an ATOM-type CPU. Still, existing ports to other embedded processors simplifies the job - OpenWRT is a Linux distribution configured for embedded devices including members of the Intel architecture processor family.

OpenWRT provides these basic wireless router services

  • port forwarding of external traffic to computers inside the LAN
  • UPnP for dynamically configured port forwarding
  • static DHCP leases
  • extensive firewall and router configuration
  •  QoS for applications such as VoIP, online gaming, and streaming media
  • configuration of the device as a wireless repeater, wireless access point, and wireless bridge 
  • mesh networking
  • use of Dynamic DNS services to maintain a fixed domain name with an ISP that does not provide a static IP address
  • for devices with USB ports, it supports printer sharing, Windows-compatible file sharing (via SAMBA), USB audio, and most any device that can be connected
  • realtime network monitoring

The code base for OpenWRT includes all retail wireless router functions, and adds some capabilities usually found on enterprise class routers. Since OpenWRT is the product of the Open Source movement, there are additions that developers either thought were “cool” or they had a personal interest in developing. A third party offering from EXPlanetOne adds load balancing, normally an enterprise class capability.  There are a number of third party Open Source code forks of the original software. Some of these can be added to OpenWRT, while others require complete rewrites.

Still other Open Source code bases can add more capability, possibly while maintaining the OpenWRT base. Zeroshell is one software package that provides a great number of Internet service routines.  Zeroshell is primarily focused on LAN services, but many of these are also of critical importance to enterprise class wireless routers. Zeroshell offers a Wireless Access Point mode with Multiple SSID and VLAN support by using WiFi network cards.


A Zeroshell box with one WiFi card could become an IEEE 802.11a/b/g Access Point providing reliable authentication and dynamic keys exchange by 802.1X and WPA protocols. Of course, the authentication takes place using EAP-TLS and PEAP over the integrated RADIUS server that is part of Zeroshell.


Porting any one of the wireless router software packages may become a large undertaking based on the relatively limited number of supported CPU architectures. The amount of work required to port a specific piece fo software is difficult to predict in advance. Without doubt, combining disparate code bases for wireless routers will be a significant effort. But, the effort will be less than developing the entire application as a complete new development. For many wireless routers, a single chip-based hardware platform is preferred due to cost reasons. Other wireless routers can easily support a single board computer solution. Alisting od Intel-based COM boards may be found in an overview blog of COM boards.


Open Source may save development time and effort. But it isn’t free. How will you decide whether to use Open Source code or develop the application completely yourself? 



  1. ADI Engineering is an Associate Member of the Intel Embedded Alliance

Henry Davis
Roving Reporter (Intel Contractor)
Intel(r) Embedded Alliance


Outdoor advertizing signs, also called billboards, are ubiquitous in many countries. The United States has more than 500,000 billboards in place along the nation’s highways. Historically, outdoor and indoor advertising in commercial settings has been updated and maintained by sign painters and sign installers. Now improvements in electronics hardware technology and software have improved the capabilities of the traditional signage application, and added creative new opportunities in the digital signage market.


Digital Signage encompasses a wide variety of uses, software, hardware, and network topologies. Signage includes billboard replacements, airport shadow boxes, retail signs, interactive kiosks, and previously unanticipated applications. The complexity of each system is based on the type of information to be displayed, the number of displays, the type of embedded server, and the degree of networking employed.



University of Illinois first Kiosk


Digital Signage is a collection of important technologies assembled in new and unique ways. The market for digital signage is large enough that multiple trade publications like Digital Signage Today and Digital Signage Universe report on new developments. A respectable number of hardware manufacturers that belong to the Intel Embedded Alliance offer hardware platforms to operate digital signs and kiosks. Digital Signage systems are as varied as the network topology of the signs to be managed. The simplest configuration is based on a single embedded computer servicing a small number of locally installed screens, while complex networked systems may span hundreds of signs and many miles.  More information on embedded Ethernet based hardware and software may be found at an earlier Ethernet blog.


The Digital Signage model based on a small number of displays can be serviced by a single embedded video server in many cases – assuming that the displays are physically close enough to the embedded server. Such systems are most often based on proprietary software and hardware configurations and do not interoperate with other digital signage systems. There are a great number of alternatives for storing video images for advertisements. For the simplest and most limited system, picture formats such as  JPEG are retrieved from storage, decompressed, and displayed on the display devices. A standalone system, such as this, functions in a manner similar to the popular Consumer “Photo Frames” employing an LCD display and images stored in nonvolatile memory. An Open Source program for displaying pictures can be downloaded from SourceForge.


Conceptually, the single display, simple image display, system operates:


     Do {



           Delay(read_time);}  forever;


To handle additional displays driven by the same system, additional display spaces used to hold information allows each display to potentially present different advertisements. The potential complexity of relatively simple hardware systems comes from the selection of image formats to support.   It is straight forward to have upwards of a dozen still image formats, and if the sign includes images in motion, complexity increases and another handful of movie formats is possible.  Typical control software for Digital Signs is anything but typical. Each signage system supports its own selection of display formats, choices of special effects like image wiping and morphing, how advertisements are entered into the system, and the robustness of 24/7 operation. Many of the signage systems assume that a human operator will periodically check on correct operation, but some operating systems are notorious for hanging the system from once per day to once every few weeks.


Two example of Open Source software for signs are BroadSign Player which  operates under Microsoft (1) Windows and Linux operating systems for Intel processors, and Oxygen SMIL Player designed for  Windows, Windows CE, and Linux These packages are available from  and respectively.

Digital Signage has plenty of room to extend advertising services, but its major shortcomings are the lack of interaction and personalization. Some companies, like Intel and Microoft, are actively using facial recognition technology to improve the advertising experience.


Interactive Kiosks (Kiosks) can solve both shortcomings. Where Digital Signs present information according to the operator’s selection of advertisements and the duration that each ad is displayed, Interactive Kiosks aim to make the users’ interaction highly personalized and relevant. Kiosks began shortly after the “home computer” revolution in the mid 1970s. The first of these kiosks was developed at the University of Illinois (UI) to provide visitors, students, and staff with relevant information that would have been given by a person providing information services. While the UI kiosk was widely popular on campus, commercial kiosks would wait thirty years for the first company to specifically develop a kiosk for use beyond a local application.     


Perhaps the single largest current application of Interactive Kiosks is airlines reservations/check-in. The de facto standard for kiosk design includes a touch sensitive display screen for the user to make selections from presented information. In the airlines check-in system, the flier identifies themselves either by selecting the flight that they’re on or scanning a credit card. Credit cards are used to obtain a name, and in some systems retrieve the actual flight reservation in the fewest possible steps. Fliers who elect to enter flight information often have to select/identify a city and flight number, followed by their name. The kiosk then alerts the reservation system that the specific flier has checked-in, offers upgrades if available, checks baggage, and prints boarding passes.




In the case of flight check-in systems, most airlines interface these kiosks with their proprietary reservation system. The use of these kiosks reduces the time required to check-in each flier and improves data reliability. For low fare airlines, the kiosk has become a primary mechanism to enforce fare regulations (there’s no effective way to circumvent the system) and offering an up-sell to fliers if premium seats are available.   Developing Embedded Kiosks is a question of deciding on the extent to which the system will support all Internet browser features. There are many Open source and for-pay kiosk software products. Three of these kiosk packages include:



     GNU/LINUX Kiosk Project



Kiosk-in-a-Box from TouchScreens is a low cost commercial product with a full feature set. Touch screens have become a requirement for kiosk applications, so any serious package must support the technology, but as a caution, not all touch screen systems support the same programming interface. Generally, modern kiosks are based on a Web model. Most often, the kiosk is made using your existing Web site or Intranet. Increasingly developers are using one of the ready-to-use turn-key kiosk applications. These applications feature “No Programming Required” in which you just add content.


The Kiosk-in-a-Box software is available by download only and offers a full free trial working demo. The demo version has a “nagging” function that prompts the user to acquire a fully licensed version every five minutes, but it’s adequate to try the software to see if it fits your needs.  Kiosk-in-a-box also offers free sample applications to get development started for real world applications. These include: internet newspaper, library information desk, tourism advertising kiosk, and a trade show booth application.

If you decide that Kiosk-in-a-Box fits your needs, you can order the license online or call TouchScreens to order by phone. TouchScreen follows the shareware model of licensing software requiring you to complete a number of steps to register the products.

Regardless of the system, users demand high uptime. There are a number of ways to ensure that systems continue to work, especially Operating System (OS) alternatives. In an earlier blog I wrote about OS techniques to provide reliable systems. Designers must carefully consider how the application will be used, and what kind of availability is required.

Software is necessary for any application, but it all requires hardware to actually create a working system. Roving Reporter Kenton Williston wrote a great blog on hardware for digital signage. Another Roving Reporter blog by Mark Scantlebury details touch panel display technology for use in kiosks and other applications. There is a wealth of information about hardware vendors on the Intel Embedded site.  Hardware vendors often also offer basic operating software for their products. Some of the hardware vendors from the Intel Embedded Alliance site include: 


Advantech (2)

Emerson Network Power Embedded Computing (2)

Kontron (2)

RadiSys (2)


ADI Engineering, Inc. (3)


AXIOMTEK Co. Ltd. (3)


Eurotech (3)

IBASE Technology Inc. (3)

IEI Technology Corp. (3)

Lanner Electronics Inc. (3)

Nexcom (3)

Portwell (3)

Avalue-BCM (3)

Corvalent Corporation (4)


Diversified Technology Inc. (4)


DUX Inc. (4)


Hectronic AB (4)


Micro Industries (4)


MSC Vertriebs GmbH (4)


Norco (4)


Trucomp Inc. (4)


What use of Digital Signage and Informational Kiosks can you image?


  1. Microsoft Corporation is an Associate Member of the Intel Embedded Alliance.
  2. A Premium Member of the Intel Embedded Alliance
  3. An Associate Member of the Intel Embedded Alliance
  4. An Affiliate Member of the Intel Embedded Alliance

Henry Davis
Roving Reporter (Intel Contractor)
Intel(r) Embedded

Software and hardware have a “chicken and egg” relationship – one really can’t work without the other. In Steve Leibsen’s blog, he talks about getting more capacity through multi-core based systems. That’s the hardware side of the equation, now let’s look at software to make realtime industrial control function. Ethernet was born of a PhD Dissertation by Robert Metcalf in the early 1970s. Xerox PARC, center of many new computing technologies, developed the underpinnings of Ethernet. By 1979 Metcalf left PARC to promote the use of networking in what would become personal computers. Ethernet's carrier sense multiple access with collision detection (CSMA/CD) promotion through inclusion in various international standards eventually won the marketplace competition with IBM’s token ring configuration.


Ethernet is a packet-based communications technology which improves the efficiency of sending and receiving messages by grouping information together and wrapping it in header information. This reduces the information overhead associated with every packet. There are more important implications of the impact of Collision Detection. Every packet has a finite probability of interfering with another packet’s reception. The solution was to detect a collision between packets, and randomly assign a delay to the conflicting packets for retransmission. The important aspect of retransmission is that the “clients” calculate the amount of delay before retransmission. Independent retransmission leads to the probability that one or more of the retransmitted packets will collide again.


Considering all of these issues, it’s possible to create a hierarchy of realtime control based on native Ethernet and an extended superset of Ethernet-typr hardware.




The following explicit channels are created by using additional capabilities to solve some shortcomings of basic Ethernet in realtime control:


  • Standard channel, which is  the Non Real Time (NRT) channel, uses Internet Protocol (IP) Transmission Control Protocol (TCP/IP), or User Datagram Protocol (UDP/IP) communication. Ordinary Ethernet configurations serve simple devices with typical reaction times in the range of 100 ms. It is typically used for configuring and reading diagnostic data.
  • A Real Time (RT) channel supports typical cycle times of less than 10 ms but generally not faster than 1 ms - with the performance class of today's industrial control “fieldbus” systems. It can be implemented through software supporting the higher performance transmission of alarms, process data, and event-driven messages.
  • Highly dynamic drive applications are covered by the Isochronous Real Time (IRT) channel with cycle times of well below 1 ms and a jitter of less than 1 µs. This channel requires a special kind of hardware support for realizing a Time Division Multiplex Access (TDMA) process with better controlled bandwidth utilization.

Programmable Logic Controllers (PLCs) are one of the foundations of process automation. Early PLCs employed electro-mechanical relays to create the required functions, which in turn defined systematic response times of milliseconds due to the actuation time of relays. PLCs have been defined using RS-232 communications ports, which are substantially slower than Ethernet speeds, which are replacing these communications ports.




KW-Software makes software-defined PLC controllers and a software stack of communications protocols designed to operate machinery automation equipment. Called Profinet IO, the industrial Ethernet protocol is a well-established industrial standard. KW-Software offers a software stack that implements the standard. Profinet is a "switched" network operating at a transmission rate of 100 Mbps on a full duplex connection. Using bridge and switch gear, it’s possible to create many different topologies including tree, ring and linear structures. Using these configuration options, the network topology can be adapted to the unique communication demands of the application. Fiber optics (FO) or wireless connections can be used in addition to copper wire connections. While FO technology has advantages in electromagnetically noisy environments, wireless solutions are preferred for connecting mobile, temporary installations and difficult to access systems.

KW-Software’s Profinet software stack operates under Wind River (1) VxWorks and Linux.  Wind River Partner Validation Program for the industrial and medical markets includes initial partners Acontis Technologies, Esterel Technologies, KW-Software, and Softing AG. The Wind River industrial middleware offering includes selections from:


  • CAN,
  • IKE,
  • Crypto,
  • Security Libraries,
  • Mobile IP,
  • EAP,
  • OPC,
  • DCOM,
  • Media library and more.


KW-Software also operates under INtime® for Windows real-time operating system (RTOS) from TenAsys® Corporation (2) to support hard real-time operation. 


Configuring an industrial system is contingent on what operating system software you select, and then the specific essential software used to support the industrial standards. Pre-configured and validated software from vendors like Wind River and Green Hills Software (3) can simplify your development task. In some cases, the operating software may be better chosen by first selecting the industrial operating applications package.


Building an application can be an involved process. Apart from completely understanding the application, developers must know the RTOS, development tools, and the APIs for the library. The question then is what library elements are required to support the application. Most commercial libraries are modular in organization with minimal span of control. In most cases, the limited span of control simplifies selection of modules since there is at most a linear relationship of dependent modules. Even though the modules have well-defined functions, you still must spend the time to learn what modules are present and the functions that are provided. Although this may seem like a daunting task, it’s really no more conceptual work than what is  already required based on your application. The additional work is attributable to the particulars of the library operation, and in some cases may be the determining factor in selecting a library.


There are a number of libraries that may fill a particular purpose. How would you select an industrial library and set of applications?



1. Wind River Systems is an Associate Member of the Intel Embedded Alliance

2. TenAsys Corporation is an Affliate Member of the Intel Embedded Alliance

3. Green Hills Software is Affliate Member of the Intel Embedded Alliance


Henry Davis
Roving Reporter (Intel Contractor)
Intel(r) Embedded Alliance

Ultrasound is one of the most widely used diagnostic tools in modern medicine. In the late 1970s ultrasound required specially trained physicians to interpret the results from technically driven analog equipment. Some research equipment featured realistic two dimensional grey scale images, but the complexity and excessive tuning requirements to keep the equipment functioning correctly restricted its use to very specialized applications. Nevertheless, the benefits in diagnostics, especially in gynecological exams, caused ultrasound to become widely used.


Ultrasound is technically any sound above 20kHz, but practical medical ultrasound is often targeted between 1 and 2 MHz with some systems working as high as 50MHz. The high frequency sound is generated by ultrasonic elements, configured in an array for some types of equipment. The Phased Array probe is made of many ultrasonic elements, each of which is independently pulsed. Varying the timing, by pulsing the elements in sequence along a row, creates a pattern of interference which creates a beam at a specific angle, that can be steered electronically. The beam is swept through the body’s tissue, and the data from multiple beams are assembled mathematically to create an image showing a slice through the body.


A Phased Array system can be very powerful, but the probe is fairly expensive. Even though the probe costs more than alternative technologies, the benefits are significant. Having an electronically steerable acoustic beam enables massive amounts of data to be gathered quickly. Large amounts of data means that there is a significant computational load placed on the central processor. A key problem with this type of imaging is that it’s impossible to make the sound beams thin enough to resolve structures directly. Overlapping sound sources means that each bit of output data must be derived from the interaction of reflections in a small volume around the point being scanned. The result is a specific type of blurring in the output images called “specklation” or “speckle”.


Recovering an image from the data set is computationally intensive.  Intel processors like the ATOM™ processor can run a library of real world signal processing routines to recover and deblur the ultrasonic image. In addition, more processing power can be achieved by employing a multicore processor. Alternatively, multiple multicore processors may be used to divide the application into distinct functions.


Advantech’s (1) AIMB-210 board was selected to form the base of a medical ultrasound system.




According to the company, the ATOM™  board was chosen because the customer was looking for a special type of reliable industrial-grade computer. Product support and reliability were important, as were medical grade features. The Advantech board was selected as a powerful and reliable computing platform, supporting I/O connectivity and performance to control other devices. One feature, often overlooked when considering office environment based equipment, is fan noise. Physician offices require low noise levels, making low dissipated power key.


Mathematical libraries suitable for image reconstruction are available from many sources, including  The Math Forum. If you’re looking for a way to learn more about ultrasound for medical applications, there’s an application for a mobile phone called MobileUS. It’s a program to use industry standard USB-based ultrasound probes with a cell phone. The C# software may be licensed under the BSD license. (licensing was the topic of a recent blog)  

USB Ultrasound (USBUS) is another ultrasound program that uses USB to interface to probes from Interson. These probes and associated software do not provide full imaging, with the image processing performed in the probe itself.


Real ultrasound equipment has other system requirements that can be satisfied by Intel technology. One example of Intel-enabled technology is fastboot from QNX Software Systems(2). QNX fastboot technology is a specific feature of the QNX Neutrino® RealTime Operating System. It eliminates the need for a BIOS on Intel ATOM platforms, reducing system costs while improving instant-on performance. Systems designers can use fastboot technology to deliver fast boot times for a wide variety of medical and other applications.


Considering the image of the Advantech-based ultrasonic equipment, there are a number of systems requirements that are not directly related to the technical requirements of controlling or displaying the results from a phased array ultrasonic system.  A LAN interface is a typical data communications requirement for modern medical diagnostic equipment. In another blog we’ve studied several systems that use Ethernet for LAN connection.  USB interfaces are specified for controlling a printer, DVD recorder/player, and ultrasound probe. USB support is a fundamental part of many packages including those from Green Hills Software (3) and Wind River Systems (4).


Fortunately, the traditional data processing systems functions are a part of offerings from Intel, Green Hills, and Wind River.  But, the lion’s share of code that needs to be developed is outside of commercial offerings – an issue for products outside of the norm for large volume applications.


When your applications are not “mainstream” for commercial vendors, how will you make the choice of tool/library vendor?



1. Advantech is a Premier Member of the Intel® Embedded Alliance

2. QNX is an Associate Member of the  Intel® Embedded Alliance

3. Green Hills Software is an Affiliate Member of the  Intel® Embedded Alliance

4. Wind River Systems is an Associate Member of the  Intel® Embedded Alliance


Henry Davis
Roving Reporter (Intel Contractor)
Intel(r) Embedded Alliance


Industrial and military robots come in all shapes and sizes, tethered and untethered, autonomous or human operated, and designed for many different environments. But no matter how advanced robots are today, we’re still a long way from having a humanoid robot from science fiction.   


Where do you start in assembling a practical military (or industrial) robot? As with any engineering task, we need a set of objectives and a mission, which in turn defines the capabilities that need to be part of the robot.  With this in mind, it’s instructive to consider some current military robots.


Most everyone has seen Explosive Ordnance Disposal (EOD) robots demonstrated many times during the last few years, but military robots have a punctuated long standing battlefield presence.  One of the earliest robots was used during World War II.




Goliath was a rudimentary, remote controlled, demolition robot – the first use of military robots. Today development of military robots is proceeding at a breakneck pace, fueled by recent international conflicts. The TALON type robot is typical of these land-based developments.




Despite the age difference between Goliath and base level TALON, both robots rely on tracks for propulsion. Looking at TALON, tracks have the advantage of simplicity and ruggedness. As with most wheeled or tracked vehicles, they are relatively simple mechanically while retaining ruggedness.  This compares with mechanically complex articulated walking platforms like Boston Dynamics BigDog.


Military and industrial robots have a wide variety of uses in many different environments. Considering land based robots only, there are a number of essential functional requirements:


  1. Communication
  2. Navigation
  3. Propulsion
  4. Sensing
  5. Effecting


Communication for robots began as a concept of operator-machine communications. Today modern battlefields, and industrial spaces, have adopted what is known in military circles as “network centric warfare.”  The name is somewhat misleading as the “network” in the title is not literally an electronic network but rather it describes the way modern militaries will organize and fight in the Information Age. Network Concentric Warfare (NCW) translates information superiority into combat power. This is achieved by effectively linking knowledgeable entities in the battlespace. The physical domain is where events take place and are perceived by sensors and individuals. Data emerging from the physical domain is transmitted through an information domain. Data is subsequently received and processed by a cognitive domain - where it is assessed and acted upon. Effectively, the NCW process reproduces the US Military "observe, orient, decide, act" loop.


The physical network can be implemented through libraries available from companies like Wind River Systems(1) and Green Hills Software(2). Wind River Platform for Industrial Automation combines together a Real Time Operating System (RTOS), network software, and other middleware that may be used to develop state-of-the-art applications, including robots. 


In addition to commercial product offerings, you can also employ Open Source libraries: depending on what protocol completeness you want to use – a thin client or full featured TCP. ENet's purpose is to provide a relatively thin, simple and robust network communication layer on top of UDP (User Datagram Protocol). The primary feature it provides is optional reliable, in-order delivery of packets. For full TCP one of the libraries is STLPlus .



One significant advantage to this specific Open Source library is the independence from other communications packages - it doesn’t require Windows message handling or threading to work. STLPlus is a licensed software package and uses a BSD-style license too. (Open Source licenses were covered in an earlier blog).


Military planners prefer peer-to-peer networking as part of NCW. There are numerous advantages to a peer-to-peer network including the elimination of a central server as a requirement for systems operation. From a military operations standpoint, elimination of a centralized server removes one critical failure mechanism that could disable many pieces of equipment. Operationally, peer-to-peer topologies permit sharing of resources between units and also provide a mechanism for improving system robustness. System robustness can be achieved through the use of virtualization<url> to virtualization blogs> techniques combined with certified Operating Systems  like those offered by Green Hills  and Wind River.


In an automotive blog I discussed GPS-based navigation from the retail automotive standpoint. But military systems have a greater requirement for reliability of autonomous operation. In the US Army Integrated Armed Robotic Vehicle-Assault, the Autonomous Navigation System is capable of controlling several other classes of manned and unmanned vehicles.  Where automotive navigation systems are fundamentally a convenience, military autonomous navigation is justified by the risk/rewards/cost assessment. An unmanned assault vehicle that can’t obtain its objective because it has become lost, may be more than simply one piece of lost equipment.  Such occurrences put the objective in jeopardy. There are important differences between domestic US automotive road navigation and military navigation. Where civilian navigation can rely on physical boundaries of a roadbed as part of the steering algorithm, military autonomous vehicles have limited hard boundaries. In many modern battlefields “roads” may be defined by expediencies including cross country navigation with no roads. For this reason, military robots need to be able to find their way via Global Navigation Satellite Systems (GNSS) combined with vision systems, and dead reckoning. GNSS is not available in parking garages, tunnels, areas with high rise building that eclipse satellite broadcasts. In addition, designers of military equipment must provide a mechanism for navigation. An Open Source project is underway to develop navigation systems. Perhaps the most recognized autonomous vehicle is Stanford University’s project Stanley which won the DARPA challenge.


Propulsion is largely a matter of the expected terrain to be encountered. Many military and industrial mobile robots use tracks because they are relatively simple and robust. But there are alternatives that have different tradeoffs. For example, research in self-balancing two wheeled robots has yielded a basic balancing robot. Tracks and wheels have problems with obstacles that are too high, but are of no consequence for people. Walking robots provide a unique alternative.  A four legged walker is much heavier than tracked or wheeled versions.  Walking robot platforms are remarkable, but use significant power to move. There seems to be no end to biologic- motivated developments - recent research from Boston Dynamics has also yielded wheeled robots that can jump.


Sensing and effecting have a wide variety of alternatives. Sensors can use visible spectrum cameras, LIDAR, RADAR, magnetic sensors, and more. Effectors are mechanical interfaces to physical objects. Pincers, grippers, articulated appendages, rotators, and trigger pulls are just a few of the effectors. Bio-models have a critical role to play in future developments. Boston Dynamics offers Digital Biomechanics. It is the world's first simulation tool aimed at permitting engineers to evaluate the effects of equipment, clothing, and tasks on human soldiers. Boston Dynamics has also used the tool to model advanced robotic systems such as BigDog, PETMAN and others.


All of these hardware alternatives have a mechanism used to define the hardware actions in MARIE, a heterogeneous modeling system. The primary goal of MARIE is to enable quick reuse of mechanical systems that may apply to robot design. This type of tool is critical for robot development. As much as novel mechanical structures are essential to developing a practical robot, the interaction of software components is critical to success. Many of the robots reported in the literature employ high end microcontrollers as expedient processors, but they lack the processing power needed to build commercially viable robots.





The SPARTICUS social interaction robot is mobile and can parse human input using three 1.6GHz processors to perform its tasks. Today, those same Pentium® class processors can be easily replaced by a multicore ATOM™ processor.


Considering the complexity of this simple social interaction robot, how will you design your next robot?



1. Wind River Systems is an Associate Member of the Intel Embedded Alliance

2. Green Hills Software is an Affiliate Member of the Intel Embedded Allaince



Henry Davis
Roving Reporter (Intel Contractor)
Intel(r) Embedded Alliance



Automotive entertainment has been on a steady path of improvement ever since the invention of the car radio. Originally the automotive radio was a monaural AM receiver. This was a significant advance over stationary radios that employed dry cell batteries. Like current entertainment systems, the early radio made advances through improvement in other automotive systems.  


Through the late 1980s many US automotive manufacturers divided in-cabin controls across dash functions and entertainment/climate control. At the same time there were several competing busses proposed to interconnect electronic components.




The Infortainment package from Green Hills Software (1) supports Intel® architecture processors and  includes:


  • MOST (Media Oriented Systems Transport)—MOST was created to support low cost, low power, flexible, reliable, and high speed multimedia peer-to-peer networking. MOST replaces the wiring harnesses used in old school automotive  multimedia systems – saving money, reducing weight, and giving engineers greater flexibility in body and structural design.
  • CAN (Controller Area Network)— Supports CAN-based protocols and standardized protocols such as DeviceNet and CANOpen.
  • Audio—The INTEGRITY Sound Architecture supports audio codecs used in infotainment systems, including PCM, control, and mixing devices.
  • Graphics and Video—Integrity supports the Portable Embedded GUI (PEG) and OpenGL and highly tuned graphics accelerator drivers for next generation displays.
  • Java—Java Virtual Machines run securely in their own virtual address spaces on top of INTEGRITY. JAVA expands implementation alternatives for designers.
  • Networking—Green Hills provides communication protocols including IPv4/IPv6, Embedded Web Server, IPSec, Bluetooth, USB and SSH/SSL.
  • File systems—The virtual file system (VFS) framework, simplifies adding and removing support for various file systems. The VFS server provides file system support for UNIX-like file systems, DOS/FAT 12/16/32, ISO 9660, Wear Leveling Flash File Systems, Partitioning Journaling File Systems, and others.
  • Speech Recognition—Support for  industry leading providers enable rapid programming and scalable deployment.
  • Echo & Noise Suppression—Background noise represents a challenge for voice-based applications. Green Hills provides a toolkit approach to this problem.
  • In-Car Navigation—In-Car navigation systems are becoming a necessity. Supporting driver assistance information and navigation-only facilities are two of the driving reasons for this capability.


    QNX Software Systems (2) also provides a wide variety of automotive-specific capabilities in QNX CAR.




    QNX CAR serves more than 200 vehicle models with infotainment and telematics systems. Brands such as Acura, Audi, BMW, Cadillac, Chevrolet, Chrysler, Dodge, Fiat, Ford, GMC, Infiniti, Honda, Hyundai, Jaguar, Jeep, Land Rover, Mazda, Mercedes, Mitsubishi, Nissan, Toyota, and Volkswagen use QNX® technology as the software foundation for their digital instrument clusters, handsfree systems, multimedia head units, connectivity modules, 3D navigation systems, or rear-seat entertainment products. The CAR platform runs on the Intel® Atom processor.


    QNX CAR is one of the new ways offered to develop software for infotainment. For years software development started with requirements specifications and progressed through design, implementation, testing and delivery. Under the CAR approach, the software development stages remain, but the nature of development changes. Instead of designing all of the details of how an application does each function, designers select from among functions supplied by 90 partner companies. The job of systems implementation becomes largely one of matching Application Programming Interfaces (APIs) and implementing customization features such as specialized displays and product differentiation geatures.


    Wind River Software (3) is a driving force behind an industry consortium developing open source software to provide a standardized application platform for automotive infotainment. Named GENIVI, the industry consortium is developing a reusable, open source IVI platform. Founding members of GENIVI included BMW Group, Wind River, Intel, GM, PSA, Delphi, Magneti-Marelli, and Visteon.




    GENIVI has embraced open standards and software. Previous automotive infotainment platforms have been based on proprietary Real Time Operating Systems (RTOS) as the fundamental underpinning. GENIVI takes a different path towards automotive infotainment systems. Automotive manufacturers and software suppliers to the auto makers are taking a page from other industries like mobile telecom. If GENIVI organizers are right, automotive entertainment electronics will follow the same trend as other previously proprietary platforms. Using Linux, members of the consortium have embraced open source, with the belief that the automotive infotainment ecosystem will flourish. Having just completed its first year, GENIVI members are creating the ecosystem by building a reference implementation based on Linux. The group aims to keep the collaboration focused on middleare and lower level functions, avoiding the value-added higher level functions. This is in direct contrast to the proprietary platforms that seek to offer a complete ecosystem including higher functions.

    Regardless of the infotainment platform chosen for creating your next automotive-based products, the key will be support for commonly available consumer audio, video, and information products. In a very real sense, the sky’s the limit for functions of automotive infotainment systems. In order to meet these seemingly impossible demands for interoperability, the platform must include formalized mechanized to permit incorporation of new consumer products into the system easily.


    Developing automotive infotainment systems requires not only the usual embedded systems skills, but also full understanding of APIs for popular consumer electronics products.




    Using the Intel-based GENIVI platform, extended functionality is achieved through an add-on PCIe device. The hardware configuration, and hence the software definitions, will vary depending on the automotive manufacturer and the model of vehicle. GENIVI’s model embraces extending functionality through attached daughter card modules. GENIVI abstracts functionality into five layers, each of which carries its own API. The hardware layer is the lowest level containing the CPU, memory, storage, CAN, MOST, and other hardware-focused functions. The next higher level contains the OS(es)while the third layer is a traditional “middleware” layer providing non-differentiated functions such as platform management, connectivity, power management, systems infrastructure and other similar functions. Conceptually, the middleware functions are similar regardless of the platform chosen. But GENIVI seeks to maintain a non-competitive partitioning of the software, which generally means that cooperative work stops before the Application Layer.


    Developing infotainment applications are undergoing a major shift in implementation approach. Each of the infotainment platforms has its own specific APIs to be used. Some of the APIs are common regardless of the platform. Others are custom to specialized hardware. Major portions of infotainment systems are developed by assembling building blocks via APIs.


    How will this shift in implementation affect the wat you do development?



    (1) Green Hills Software is an Affiliate Member of the Intel Embedded Allaince

    (2) QNX Software Systems is an Associate Member of the Intel Embedded Alliance

    (3) Wind River Systems is an Associate Member of the Intel Embedded Alliance



    Henry Davis
    Roving Reporter (Intel Contractor)
    Intel(r) Embedded Alliance


    PBXes were originally developed as a telephony solution for small to large businesses. Part of the idea of the PBX was a goal to share a large number of internal to the company phone numbers among a much smaller number of outside lines. Calls placed within the company’s PBX don’t place a demand on telephone company resources outside the company. Only calls external to the company are routed onto phone company lines.


    Early VoIP solutions sometimes had audio quality problems. Much of this was due to channel congestion problems and other similar problems. Congestion happened when too much traffic was on one of the links to a subscriber or ethernet collision retry experienced multiple collisions when transmitting an audio packet from one subscriber to another.  The net effect included audio gaps, and bizarre sounds produced by the receiving CODEC. But today VoIP is a solid technology that can be implemented by physical hardware or software.




    Lanner Inc (1) manufactures a series of Network Appliances including the FW-8910 Network Appliance which may be configured with a variety of software options including VoIP. Operating systems for the FW-8910 are Windows (2000, 2003, XP), Linux which dictates the software that may run on the appliance. Other Appliances from Lanner support other operating systems including FreeeBSD, NetBSD and others. Lanner’s appliances are intended to offer a platform for a variety of software packages. By providing a platform based on a network appliance model, Lanner offers an alternative to distributed hardware in small to medium sized enterprise systems.




    The VoIP PBX software load permits the appliance to function as a full featured telephone system. Additional software can be configured to add security, VPN and traffic monitoring. The FW-8910 is built around the Intel® 3420 chipset and includes two Intel Xeon C5500 series processors. The Intel 3420 chipset supports eight PCI Express x1 ports configurable as x2 and x4, six SATA 3Gb/s ports, twelve USB 2.0 ports for I/O and Intel Matrix Storage Technology. The Xeon C5500 is an eight thread four core processor running at a 2.13 GHz. While this seems like a large amount of processor power, it’s important to recognize that these systems are designed to provision many hundreds, up to thousands, of simultaneous calls. In addition, users and administrators of VoIP systems may choose the number of bits per second that each phone call requires for intelligent conversation. Generally, VoIP provides satisfactory fidelity when using 128k bits per second. An enclosure Where Lanner offers a packaged product in an enclosure Kontron (2) offers a hardware Advanced Mezzanine Card module as a platform for embedded software such as VoIP. Like Lanner, Kontron’s board level product is also based on the Intel Xeon™ Quad-Core processor with the Intel 3420 server-class chipset. The combined chipset includes Hyper-Threading support and Intel Turbo Mode technology.


    Trenton Technology, Inc. (3) offers a third form factor: the CompactPCI Plus (PCIMG1.3) also based on  two Multi-Core Intel Xeon C5500 Series Processors. Like the other two manufacturers, the JXT6966 incorporates the Intel 3420 Platform Controller Hub. These three alternative hardware platforms all use the Intel Xeon C5500 processor and the companion Hub Controller.  The diversity of form factors delivering a system based on the C5500 give systems designers the flexibility to choose how the functions will be delivered to users. Although great flexibility is provided from the hardware front, the question is what kind of VoIP software can be enabled on the respective platforms.


    Open Source software can provide unexpected solutions. Asterisk from Digium is one of those solutions. Developed a little more than a decade ago, Asterisk brought many alternatives to computerized telephony. One of those alternatives is a full featured VoIP PBX system.  Asterisk is an Open Source phenomenon. In 2008 over 1.5 million downloads of Asterisk were made by all types of users:  from individuals looking to create their own phone system with features like voicemail and remote control, to large corporations seeking to provide enterprise-wide telephony. Asterisk was written assuming a Linux environment, but Microsoft (4) Windows is now supported as well. For those Xeon C5500-based hardware platforms that support Linux, targeting Asterisk is an automated task using AsterisNOW. This automates the full installation process if you are trying to create a number of applications including a VoIP PBX. But Asterisk includes many other capabilities: VoIP Gateway, Skype Gateway, IP PBX, Call Center Automatic Call Director, Conference Bridge, IVR Server, Voicemail System, Call Recorder, Fax Server, and Speech Server. Asterisk also enables multi-core hardware platforms through the extensive use of THREADS to structure the code. Threading is key to the effective use of multi-core, multi-CPU and beowul distributed hardware. Asterisk developers have adopted a rigorous standard employing an Asterisk-specific thread library. This technique enhances portability and permits Asterisk to compile for a variety of hardware platforms including the two core Xeon C5500-based products.


    Software without tools to target a specific platform doesn’t do much for anyone. Developers have options for the choice of development tools. Intel offers an Eclipse enabled tool chain as does Wind River Systems (5). Green Hills Software(6) also offers a full tool chain that is also Eclipse compatible. Development tools were the subject of another blog, as was porting software to a new environment.


    Open Source software Asterisk offers a wide array of options and solutions for telephony products. If you were developing a product using Asterisk, what would you do to differentiate your product over the out-of-the-box Asterisk software?



    (1) Lanner Electronics Inc is an Associate Member of the Intel Embedded Alliance

    (2) Kontron is a Premier Member of the Intel Embedded Alliance

    (3) Trenton Technology, Inc. is an Affiliate Member of the Intel Embedded Alliance

    (4) Microsoft  is an Associate Member of the Intel Embedded Alliance

    (5) Wind River Systems is an Associate Member of the Intel Embedded Alliance

    (6) Green Hills Software is an Affiliate Member of the Intel Embedded Allaince



    Henry Davis
    Roving Reporter (Intel Contractor)
    Intel(r) Embedded Alliance

    The complete Digital Surveillance System relies on several key technologies:


    1. Image capture using IP-enabled video cameras
    2. Image encode, often provided by newer generations of IP enabled cameras to minimize bandwidth requirements
    3. Image decode for playback
    4. Data storage and database analysis
    5. Image and scene analysis
    6. Threat/anomaly reporting


    The first four requirements provide an updated technical equivalent of an analog Video Cassette Recorder. Technological advances provide smaller, lower cost cameras combined with vastly greater record times. What makes digital surveillance essentially different from previous recorders is the ability to perform unattended monitoring that alerts operators to discovered occurrences of defined events.


    The long term goal of realtime computer monitoring of video feeds holds the potential to shift the balance towards gathering critical information in realtime with minimal human monitoring. Some types of video surveillance can be automated in realtime today using products such as huperLab’s huperVision 4000 and operates under Linux. The realtime system is used in retail stores to monitor for theft and shoplifting, identify consumer purchasing behavior, and watch employees for fraud and theft. Other uses of the system include: building and security checkpoint monitoring, facilities monitoring against vandalism, and student monitoring. 




    The most visible portion of the huperLab solution is the video camera. Cameras are preferentially managed through an IP connection such as Ethernet.  Until recently, cameras for security systems were closed circuit analog devices that were hardwired or wirelessly connected through a proprietary protocol. Now digital cameras based on an Internet connection have exploded in popularity. A generic Network IP Camera is a stand-alone device which permits viewing live full motion video from anywhere over the Internet, using a standard web-browser. In the case of surveillance systems, connection to the camera is made via IP to receive the video data. Data analysis for surveillance is implemented in a dedicated surveillance-specific networked embedded system that is accessed via a networked connection.




    High data rates, or at least high demand for bandwidth requires well crafted IP support.  There are a number of methods to achieve minimal overhead processing for IP communications. Real Time Operating Systems (RTOS) vendors often include TCP/IP support optimized for real time operation. Green Hills Software (1) not only provides a TCP/IP stack, they also offer a conversion service to move code developed for another vendor’s RTOS including pSOS, Nucleus, POSIX or Wind River Software’s (2) VxWorks to one supported by Green Hills. 


    TCP/IP stack optimizations within software are fundamental improvement for network cameras, but purpose-built hardware for surveillance usually relies on hardware for managing TCP/IP connections. For example, Lanner uses up to five Ethernet cards based on the Intel 82574L Gigabit Ethernet controller. Altogether the card stacks can support 40 simultaneous high speed connections.


    huperLab’s huperVision operates on a variety of embedded cards including the Gaia 404/408/416 board with Intel Atom processor. Available cards support PCI and PCIexpress card formats. hupeLab also employs high quality video/audio capture chips to improve throughput performance. The Gaia board is the smallest and lowest power server board designed for security surveillance use. The Gaia Server Board based surveillance system reduces electricity expense, consuming less than 60 watts system power.


    huperLab is one solution to video surveillance. Intel’s Technology Journal offers a PDF document that includes surveillance as one computer vision application. Titled “Computer Vision Workload Analysis,” the article provides basic computer vision technical information which is just as leading edge as when it was first published, just a few years ago. The document introduces a variety of topics that bear on video surveillance, but doesn’t incude all of the features present in current digital surveillance products . Open Source software offers an alternative for portions of video surveillance software. Sun (3) provides Open Source video surveillance software focusing on the storage aspects of the system. Twenty four other freely available software packages for portions of video surveillance functionality  include:


    SecureCam for Windows

    Electric Eye for Linux

    iDVR Video Surveillance System

    OpenSurveillance web-based software running within a browser

    Carnegie Mellon University maintains a web site dedicated to computer vision topics. The compendium of sources includes the CMU source library.

    Reading People Tracker

    Halcon available library for image analysis

    Intel Open Image Processing library



    Combining parts of several of these open source packages with your own code may provide a more complete digital surveillance system, but combining disparate software sources is a difficult task. These software sources are probably best as an aid in gaining experience with the technology. You may find that one of these packages meets your objectives. But, a caution when dealing with these open and free sources: video surveillance technology is changing rapidly and these sources may not be current or complete.

    Technically, video surveillance is commercially run on an ATOM, Core 2 Duo, and Core 2 Quad embedded processors.  More and faster processors don’t necessarily mean faster application execution. Video processing is one application that benefits from the Intel QuickPath Technology. QuickPath provides additional paths between memories. Each core can access shared memory and local memory. As can be seen, the memory controller offers better and faster interconnect between processing and I/O blocks.




    Computer ethicists have long expressed concerns and misgivings over the intrusion into personal and private actions. But the uses discussed for automated video surveillance have been in settings previously decided by Courts around the world to be permissible venues for video surveillance. Some professionals believe that computerized video surveillance improves privacy by replacing the continuous monitoring by people with an algorithm operating on an embedded system.   In effect, automated video surveillance simply alerts human operators to events that meet criteria requiring their attention.


    Where can you use video processing techniques in your next projects?




    (1) Wind River Systems is an Associate Member of the Intel® Embedded Alliance

    (2) Green Hills Software is an Affiliate Member of the Intel® Embedded Alliance

    (3) Sun is an Associate Member of the Intel® Embedded Alliance


    Henry Davis
    Roving Reporter (Intel Contractor)
    Intel(r) Embedded Alliance

    There are a number of weather reporting desktop and mobile software packages available for free or at a low cost. But this software relies on a Windows Operating System as the hosting system. The requirement for Windows gives a small number of alternatives for realtime systems. Some vendors offer realtime operating systems and hypervisors that permit guest operating systems to run concurrently with other OSes. TenAsys (1)  supports their hard realtime OS, INtime RTOS, and Microsoft®'s (2) Windows® OS. Real Time Systems GmbH (3) RTS's Hypervisor provides partitioning for standard OSes, including an RTOS, and a non-realtime OS for user interface applications. RTS supports as one of the guest operating systems Microsoft Windows XP.


    Generally, selecting a single vendor for a software platform is a simplifying decision. But in this case we need to be certain of the platform’s ability to support both a Real Time Operating System (RTOS) and the user interface code. For this system I’ve chosen the TenAsys INtime RTOS and Microsoft Windows OS. The TenAsys virtualization platform provides a virtual machine that hosts real-time and embedded operating systems running alongside Microsoft® Windows®. It also provides communication channels to link embedded and Windows applications.


    The INtime kernel and realtime processes always have higher priority than any Windows process. This ensures that the realtime portions of the system are provided time to complete. The INtime operating system features a proprietary OS Encapsulation Mechanism (OSEM) that creates and separates the two virtual machines: one for the Windows operating system and one for the INtime RTOS. Once encapsulated, Windows executes as a single, low priority, real-time thread in the context of the real-time root process. However, software doesn’t work without hardware.


    Intel recently sent me an ATOM demo system that is really cool. I’ve written about my initial impressions on, and as a preview – I’m impressed!  The demo kit is not an optimized or purpose built hardware platform. But it makes a ready-made prototyping tool that allows systems decisions and development to proceed before final hardware is available. With the TenAsys INtime RTOS and Intel’s demo system, we’re ready to start software development. Fortunately since we’re able to split environments for realtime from user interface and legacy code, we can use normal Windows development tools for that portion of the development.  ATOM software development tool chains have been covered in a previous blog.


    Windows weather monitoring software includes,, and all of which offer free access to basic weather data. Different systems contain different amounts of historical data. One rich source of data is the US Government via All of these services provide near term forecasts, some for one week and others for 10 days or more.   In addition to providing historic and forecast data, access to web-based interactive tools permits users to explore the facts of weather and forecasts as they desire. This is one of the unexpected strengths of modern embedded systems that incorporate general purpose operating systems primarily to operate complex user interfaces.


    Historic weather data is interesting and can be incorporated into the control system for irrigation. But realtime or near realtime data is more important for controlling turn on and off schedules for individual water valves.  One control algorithm for lawn watering simply turns off the water valve when it starts raining.  More sophisticated controls rely on moisture sensors that measure moisture content of the soil such as Onset’s sensor. Although at first glance it seems to be a simple task, soil monitoring remains a research topic for computer scientists. Also read.


    All of the weather data that we’ve discussed so far has relied on an Internet connection. Fortunately the ATOM kit includes an Ethernet port. Providing that there is a local Internet connection, we have access to as much historical data as we want.


    It seems like a lot of work and expenses to save a little water. The water savings can be deceptive. I live in the American South West and rely on water hauled by truck to fill my water tanks. Water costs me 3 cents per gallon. My first attempt at irrigation control reduced water usage during the summer from 8,000 gallons per month to 5,000 gallons, or a reduction of about $90 per month. Computerized timing of watering for precise quantities, on schedule, and at more effective time made a huge difference. But the irrigation control was open loop and was made using simple timers. My next refinement was to close the loop. Closing the loop can take several approaches: direct monitoring of the amount of water delivered, measuring water stress in plants, or precision measurememts of the amount of water present in the soil.


    To give precise measurement of soil moisture, we use Time Domain Reflectometry. The water content reflectometer can be used to monitor soil water to calibrate less expensive sensors, and provide base measurements to evaluate our system. TDR measures the volumetric water contents by using a TDR based on the dielectric constant of the soil. Two to four probe rods act as wave guides. The dielectric constant of the soil surrounding the rods varies with the amount of water in the soil. The quality of soil moisture measurements is also affected by several other factors, such as soil electrical conductivity, salinity, clay content, and soil compaction, and thus the calibration has to be modified based on locally effects.

    The ATOM prototype demo system can be used both to pulse/measure the probe data and calibrate the TDR soil probes in real time. This allows less expensive measurements to be taken because we do not require a self contained piece of electronics.  TDR works in soil moisture measuring by accurately determining the permittivity (dielectric constant) of a material from wave propagation. There is a strong relationship between the permittivity of a material and its water content. TDR for soil moisture measurement generally employs phase shift measurement. TDR works in a fashion similar to RADAR. An electrical impulse of from 2ns to 20ns in width and a sharp rise time is impressed on a wire to the probe. The reflected waveform is analyzed to determine the phase shift. By using a commercially available TDP soil sensor, we can choose to sample the probe at a 200kHz rate. The samples need to be averaged in order to achieve reliable results. Within the irrigation control system, controlling the sensors is a realtime operation that is best performed in a hard realtime fashion. Interfacing between the ATOM development board and the sensor is through the development kit’s parallel port. Most commercial sensors may have from 8 to 64 sensors multiplexed on a single parallel port.


    Although the choice of a commercially available moisture sensor reduces the amount of time used to read the sensors, there is still a requirement for high performance during the reading process. The return impulse ranges from 16 to 32 microseconds from the impulse impressed on the probe. This allows the ATOM processor to measure the time in a software timing loop. The basic systems time for at ATOM processor is 1.6MHz, which permits a 10 ns resolution for determining the return time of the pulse. During this time, the timing thread must be of the highest priority and be non-interruptible. Resolution of the sensor/timing loop combination may be extended by repeated readings of the sensor. Each reading is added to the previous reading and the radix point finally shifted to the right for every power of two reading that were averaged. So if four samples are added, the radix point is shifted two places to the right to arrive at the true value.


    Although not a complex correction, the data from TDR sensors need to be adjusted by a quadratic equation to achieve a corrected measure of water content. A parametric correction for soil types is a more complex correction, but significant in computational complexity.

    To determine the time remaining to the next watering cycle, we need to develop a rate of change for the water content. Some agricultural experts use a 5 minute sampling interval for reading the water levels. This number makes sense because in many locations the soil temperature and wind speed can dry the soil fairly quickly. With a number of soil moisture samples available, we can calculate the rate of change and consequently predict the time before the next irrigation cycle.   


    Assume that we have four soil probes, then every 5 minutes the critical sampling periods would consume about 1 milliseconds in non-interruptible time. The remainder of realtime tasks are in the category of soft realtime. For example, individual valves used to supply water to irrigation lines are a latching valve that once turned on, re,aim on until tirned off. Controling these valves is a soft realtime task because there is no harm in being say a few seconds late in turning on the valves.


    Alternatively, microsensors are in experimental development at Cornell University remote sensors in fields employing wireless communications to transmit data to a central computer. The sensor is an analog of a plant vascular system that mimics the flow of water in plants through the use of microfluidic tubes. The advantage to using such a sensor when fully developed, is that irrigation should be initiated when the plant shows signs of water stress. When operational the sensor will communicate via a wireless connection, such as WiFi. The ATOM development kit supports up to six USB ports which will allow a transceiver for the microsensors to transmit information to the ATOM kit.   


    ATOM makes an ideal processor to be used in similar situations because it supports realtime and Windows legacy code in a high performance configuration that can consume small amounts of power. In this article we’ve discussed one application of realtime software combined with user interface code. In this application there are wide variations in processing power required: high performance for relatively short duration followed by ultra-low power consumption between monitoring and controlling realtime watering with occasionally needs for intensive user interface usage.


    What applications can you think of that needs realtime control combined with sophisticated user interface?




    1. TenAsys is an Affiliate Member of the Intel Embedded Alliance
    2. Microsoft is an Associate Member of the Intel Embedded Alliance
    3. Reatime Systems GmbH is an Affiliate Member of the Intel Embedded Alliance

    Henry Davis
    Roving Reporter (Intel Contractor)
    Intel(r) Embedded Alliance

    During the course of this series, we’ll make full use of the Intel Embedded Alliance Program and other IA resources. In this installment, we’ll use Intel design decision tools that aid in choosing candidate embedded processors from among Intel Architectures. The second installment will explore Compiler Alternatives and the unique VirtuaLab access to real world development hardware. Intel, Green Hills Software, and Wind River provide mainstream development tools considered.    In installment three we explore evaluating the Atom processor for suitability as the central processor. During the evaluation, we’ll consider a half a dozen commercially available boards and performance for a realtime control application.  


    In installment four we consider adding a two-way wireless communications channel for monitoring and controlling functions.


    For the last several years the popular press has been touting solar photovoltaic (PV)electric as an answer to our electric needs. The idea of getting “electricity for free” is seductive. But the facts are very serious. In 2007 the average home in the US consumed 936 kilo-watt-hours (kWH) per month! That’s about 12 of the top-of-the-line solar photovoltaic panels per house assuming that the sunlight is never blocked from the panels, the sun shines every day, and there are no efficiency losses.  In sunny climates, residential 2kW peak usage solar systems will deliver electricity at about $0.35 per kWH and in a cloudy climate the cost is about $0.78 per kWH. Only the absolutely largest solar installations of 500kW get the cost of electricity under $0.20 per kWH, which in some locations is competitive.

    As you can see from the variability in generated cost per kWH, designing a solar-electric system including controls can’t be met with a single design. Most people think of a solar system that augments the electricity that comes from an electric utility, delivered through the electric grid. That’s because the vast majority of the population is connected to “the grid.” For this type of system, there is no requirement for energy storage which vastly simplifies the design and lowers costs. As can be seen in Figure 1, in a grid-attached system a special inverter is used to interface directly with the electric grid. In all of these systems, the inverter that converts from the Direct Current (DC) produced from solar panels is converted to Alternating Current (AC) in phase with the grid and at the voltage that is provided to the home – most often 240 Volts (V) in newer homes but sometimes 120V in much older homes.




    I live in rural Arizona completely off-the-grid. The nearest power line is 4.9 miles away, making the prospect of connecting to the grid remote at best. This type of solar system can be quite complicated with multiple energy sources: solar PV, wind powered generator(s), diesel or gasoline backup generator, hydroelectric,  and other less common power sources.  Figure 2, Courtesy of Outback Power Systems, illustrates a more complete off-grid residential system. While there are many soft realtime algorithms used in a fully configured off-grid, just one of the more intensive computationally intensive algorithms is the signal processing required for controlling the speed of the generator.




    Modern solar components like those from Outback contain local communications between components they manufacture and feature control over all of those same components. Even with these manufacturer-provided monitors, monitoring and controlling all of the pieces that can make up a solar electric generation system still requires a master control system beyond what state-of-the-art solar components provide. 

    My personal off-grid system is shown in Figure 3.What differentiates it from the system shown in Figure 2 is that there are actually two semi-independent systems. System 1 is the solar electric for my wife’s studio: 5 solar panels, 1 wind generator, an inverter/charger, 6 2V batteries and a 50 amp gasoline generator. System 2 is the system for our house: 2.4 kW of solar panels (12 panels), 2 inverter/chargers, 6 2V batteries, and a 10kW diesel generator custom built from a slow speed Lister engine without any electronic monitoring or controls whatsoever.


    What isn’t apparent to most people is the amount of physical monitoring necessary to ensure that electricity is available when it’s needed and in the amounts required. Since my solar components are mounted 50’ away from the house, the inconvenience factor can become overwhelming at night, in the extreme cold, when it’s raining, or in the winter when snow is on the ground. My objective is to create a monitoring/control system that can provide me with details on the state of the system. And remotely turn on the generator if it’s needed.

    Looking at the system as currently defined, there are three subsystems that have real time components, and a variable bandwidth demand for the two way radio communications. Given the complexity and potential future expansion of the solar components, the control system will require a processor. But the choice is large. Within the Intel lineup there are 15 processor families to select from:


    To narrow the choices to a more manageable set, we need to find the lowest power consumption alternatives. After all, this system is intended to control an off-grid system.   Using the Intel® System Design feature only the ATOM processors are recommended for power consumption of under 5 watts. This narrows the selection to a total of six processors


    Having selected six candidate processors, we now need to verify that the processors are capable of performing the necessary algorithms. This development task must be completed quickly, with minimal investment in hardware and software before the final selection is made. In a later blog we’ll use VirtuaLab to perform the selection with minimal investment of both time and money.


    If you were choosing a candidate embedded processor what criteria would you use?Can we use one criteria for processor evaluation?

    Filter Blog

    By date: By tag: