STI LogoSensible Technologies, Inc.
  [ Home ]   [ Services ]   [Products ]   [ About STI ]   [ Contact Us ]

Software Development for Sensors and Instruments

Our Purpose

We assist companies with electronics and software development for their instrument, smart sensor, and technical applications. Our goal is to enhance our client’s ability to create new products and applications by having a dedicated and reliable electronics and/or software development team with which to work. Whether a company needs to outsource to be more cost effective, or simply needs additional  development resources, Sensible Technologies is the source to select.

Typically, we perform most of the electronic hardware and software development at our own facility. Most projects require confidentiality, and we are fully committed to executing a reasonable non-disclosure agreement.

Software Development Process

Software Developer hard at work Our software development process allows for incremental, controlled development in preplanned stages. Incremental development lets you view real project progress against planned milestones. Iterative development allows the project to be adjusted based on your feedback and approved changes. This process assures that the project development costs are kept under control.

Our Software Development Process consists of the following steps:

Bluebull.gif (1028 bytes)

We begin by learning about your application by reviewing available literature, discussion with you about the application, and by asking questions. We define the requirements in a Software Requirements Report that you review and approve. We also match our team’s skills and experience to the application. Our development team is experienced in a wide range of instrument, sensor, and technical applications.

Bluebull.gif (1028 bytes)

Second, we prepare a software architecture design that fulfills the requirements. A Software Design Report is prepared that you review and approve.

Bluebull.gif (1028 bytes)

In parallel with developing the software architecture design, we may prepare a Staged Delivery Plan depending on the complexity of the project. This Staged Delivery Plan defines the "delivered" functionality of each stage of the software and the order in which each stage will be constructed.

Bluebull.gif (1028 bytes)

Depending on project complexity, we may also prepare project support plans to maximize development efficiency and software quality and to minimize project risk and cost. These plans include the Software Development Plan, Quality Assurance Plan, and Risk Management Plan.

Bluebull.gif (1028 bytes)

Periodically, we hold one or more checkpoint reviews where you review and approve our cost and schedule estimates based on knowledge of the application requirements, architectural design, risk areas, planned delivery stages, and so forth.

Bluebull.gif (1028 bytes)

We construct the software. Typically, each stage includes detailed design, coding, testing, and system integration, with appropriate technical reviews. Testing is based on a Software Test Plan. Each completed stage of software is available for your review.

Bluebull.gif (1028 bytes)

In the final step, we release the completed software. Project documentation and software files (source, object, etc.) are captured and submitted to you under a unique version number.

Customer acceptance is fulfilled through your approval of the software requirements, architectural design and final test results.

Object-Oriented Design

Where practical, we design and construct the software using modern object-oriented methods. This makes it easier to create and maintain the software.

Software Building Blocks

Where possible, we reuse generic code for the user interface, serial communications, database management, PID control, graphics, data acquisition, digital filtering, and so on. This reuse of code can substantially reduce the cost of development.


Our software development process automatically documents the project - from software requirements, architectural design, detailed design during the construction phase, commented source code, and software testing. This documentation yields the primary project deliverables at various stages of development: Software Requirements Report, Software Design Report, Software Test Report, Project Documentation File, and source, object and executable files on diskette. In most cases, the Users Manual can be drafted from the requirements and design reports.

Quality Control

Throughout the process, and depending on project complexity, we conduct quality control using our internal Software Engineering Requirements documents and the Quality Assurance Plan to ensure that software requirements, software design, software testing, and documentation are properly conducted.

Benefits of our Development Approach

Benefits of our development approach include:

Consistent, defined process that guides our development personnel

Quality processes resulting in quality software

Early focus on upstream activities resulting in less downstream cost

Reduced project uncertainty through risk management

Project visibility and customer involvement throughout

Code reuse and maintainability

Automatic documentation

Modern Development Tools

We use up-to-date tools for development of the software. This maximizes the productivity of our development staff. If applicable, we also use hardware simulators to allow development of the software in parallel with hardware development.

Our Development Experience

We develop software for:

Smart sensors
Embedded controllers
Human interfaces
Hardwire communications
Wireless communications
Component objects
Microsoft Windows (NT/XP/2000) applications

Some examples of our software development experience include:

Gas standards instruments
Weather stations
Pressure instruments
General instrumentation
Specialized sensors
Embedded controllers
Gas chromatographs

We have experience with C/C++, object-oriented rapid application development (RAD) tools, real-time kernels, and databases.

We also develop applications in National Instrument's Labview® and LabWindows® development environments.

Our communications experience includes RS-232, RS-422/485, MODBUS™, GPIB (IEEE-488), packet protocols (direct-connect, modem, and wireless), and development of complex protocols with error detection.


Our mission is to achieve excellence through built-in quality resulting in products and applications that perform as intended. We are committed to continual improvement in our hardware development, software development, and manufacturing processes in order to create quality products and applications that meet or exceed your expectations.


[ Home ]   [ Contact Us ]

Copyright © 1998-2006 Sensible Technologies, Inc.  All rights reserved.