development-embedded

Embedded Systems

Most companies shy away from embedded systems development. Not us. We have worked on numerous embedded systems projects—from inception and design through to commercial release. We also can take on a single aspect of an embedded project if that’s what you need.

Here is a sampling of projects we’ve successfully completed. If you need expertise with a specific, even obscure, technology, please let us know.

 

Emergency Vehicle Systems Integration Product

Type: Staffing and Outsourced
Duration: 5 Years
Team Size: 2-7

Technical Environment
Visual Studio 6.0, Visual C++, COM, Visual Basic 6.0, SQL Server 2000, XML, Cosmic Compiler, WinRiver Compiler, Motorola HC12 SIMS, PowerPC

Description
Emergency vehicles today have been outfitted with multiple pieces of electronic hardware which are mounted and attached in a variety of ways. A cluttered interior can be a dangerous environment for an emergency responder in the event of a collision, or may cause driver distraction that may endanger public safety. The purpose of this project was to relocate much of the hardware used in emergency vehicles into the trunk, control them through a single ruggedized PC control system, and consolidate the user presentation devices into a single touch panel monitor, a control pod and an optional head-up display. To reduce driver distraction, most commands were also available via voice control. The system integration also made it possible for an action on one piece of equipment to trigger an action on another—something that cannot be done in a non-integrated environment.

Stout’s team was involved in the initial system architecture. Subsequently it provided personnel to develop the user presentation layer, the custom configuration unit, the embedded systems, the device drivers and a testing unit.

The heart of the system was an embedded computer running a PowerPC processor, which allowed the system to start up within 1-2 seconds and could control events much more rapidly than a typical Windows-based operating system. The Windows computer functioned as a peripheral device to provide the primary user interface on the touch panel monitor and run other Windows applications. The system was designed so that it could function without the Windows computer (during start-up or in the event of a Windows Operating System failure).

The system controlled peripheral devices such as radios, scanners, repeaters, video devices, emergency lights, sirens, PA system. It had significant discrete IO capability for devices such as lights and sirens. HC12-based Serial Interface Modules (SIMS) were used to provide additional serial capability for more complex peripherals such as the traffic radar and radios. In some cases, Ethernet from the Windows computer was used to control devices.

The user interface included touch screen, voice commands and a control pod. The touch screen was ergonomically designed with large buttons suitable for use with gloved hands and large text suitable for viewing in a moving vehicle. Voice control allowed the user to switch between screens and run most commands. It was also used for such actions as license-plate look-ups, so that the officer could speak the license plate number rather than entering it via a keypad. The system also provided a COM-based interface for agency software to use when interacting with the system.

Separate, free-standing applications provided a configuration unit so that each vehicle could have a unique set-up (different radios, lights, sirens, etc.) and a testing unit.

Buzzwords
Embedded, Visual C++, COM, Visual Basic, SQL Server, XML, Cosmic Compiler, WinRiver Compiler, Motorola HC12 SIM, PowerPC, Discrete IO, Ergonomics, Systems Integration, Voice Recognition, Head Up Display

 

Infotainment System Development

Type: Staffing
Duration: 2010-Present
Team Size: 3

Technical Environment
QNX (embedded Linux), DBUS, ARM, GPS, Bluetooth, USB, PAN

Description
This embedded system aggregates several user interface, network, and media technologies into a single human-machine-interface for infotainment. Members of our team contributed to the following areas of the project:

  • Bluetooth connectivity to mobile phones for hands-free phone, music, address book and calendar access.
  • Mobile Internet connectivity and connective services to provide current traffic, fuel prices, Google/Bing search, Pandora, weather, sports and other information.
  • A variety of development technologies including ActionScript (FlashDevelop), Flash, C++ (QNX Momentix), Java/LWUIT (eclipse), and LUA scripting.
  • Custom applications via Java/LWUIT.
  • DBUS service architecture providing low-level services to HMI.

Development is done using SCRUM methodology.

Challenges: resource constrained embedded environment, compatibility with a large number of mobile phones, global development team.

Buzzwords
SCRUM, embedded systems, Linux, ActionScript, FlashDevelop, JSON, HMI, C++, Eclipse, qdb, LUA, Java/LWUIT, navigation