phil - simple, powerful Embedded test

What is HiL Testing?

Hardware-in-the-loop or HiL testing enhances the scope of embedded systems testing by feeding the system simulated input and closely monitoring electronic response of the Unit under Test. This allows for monitoring all conditions, normal and error, and full characterization of the software response. Below is a diagram of how the Promenade Real-Time Test System interfaces to your hardware and a PC.

What (or who) is Phil?

Phil is a versatile, yet inexpensive embedded test system. Phil provides a visual and automated way to simulate internal inputs to your embedded system and acquire output signals for the purpose of testing the system. It combines the Promenade real-time embedded codebase and Parlay test application with an STMicro Cortex M4 Discovery Board to provide extraordinary test capabilities.

Phil began as a HiL test system for use by Promenade Development Services for 3rd party embedded system software. Realizing that this HiL system provided the power of expensive test systems without the overhead, we decided to make this system available publicly.

Connect to Unit under Test (UUT)

Inputs from UUT

  • GPIO - Sample your board's digital lines
  • ADC - Read analog signals with up to 16 12 bit ADC channels
  • Accumulators - count pulses with16 bit timer counters for fan, flow, or other fast input.
  • Pulse Width Modulation - read duty cycle and frequency during your control loop.
  • Encoder - Track motor position from a quadrature encoder

Outputs to UUT

  • GPIO - Simulate with multiple external digital lines
  • DAC - Simulate analog input to unit with analog line
  • PWM - send Pulse Width Modulated signals to your board.

Phil is extensible to all the IO capabilities of the STM32f4 series. That includes  SPI/ I2C, RS232, 1 wire attached peripherals and more.

Connect to PC

Phil is designed to work with the Parlay - Python scripting or the Parlay User Interface.

  • USB Full Speed direct to PC from Discovery Board
  • Special Base board adapter available for USB High Speed for high speed sampling
  • Serial/Ethernet with alternate Base Board.
  • Cross platform - runs with Windows, Mac, and Linux

Phil lets you control the system from the Parlay UI, or Python scripts.

With the Parlay UI you can view  and graph properties, such as GPIO values, analog sensor input. Set DAC output, read accumulated pulses, track encoder position information and current duty cycle% of a PWM. Our widget maker lets you setup a simple UI for anyone to use,  with custom buttons, tables, checklists and more.

Python scripts enable the full power Parlay and Python for mathematical computations, data analysis, chart generation, report generation and automated testing.

Parlay UI
Python Scripting

Phil Basics

Phil  provides a low cost solution to Hardware-in-the-Loop testing.  Below are some examples of what can be done easily- at up to 1000 hz sample rate!

  • Simulate IO inputs, read IO outputs
  • Acquire sensor data synchronized to .2ms
  • Monitor sensor data (12 bit ADC temperature, pressure...) and PWM outputs to evaluate a PID control loop.
  • Stream motor position ( quadrature encoder) and PWM output to evaluate a motor control loop.
  • Count ticks such as for RPM from a fan or flow meter 
  • Generate error conditions and monitor response

Phil lets you control the system either from the Parlay UI, or via simple Python scripts. Your data can be logged and graphed.

Phil Advanced

Customize Phil to simulate Real-time inputs and monitor outputs

  • Generate simulated real-time sensor data synchronized to system events.
  •  Buffer up to 4khz input.
  •  Extended I/O capabilities of onboard, or off-board peripherals.
  • Realtime data processing
Contact Us for
Your Test Solution

Choose Your Solution

Basic Test System


Pre-configured Discovery board built in code enabling:

  • GPIO - 4 In & 4 Out
  • ADC  - 4 12 bits channels
  • DAC output -  12 bits 
  • 2 Accumulator inputs 
  • 1 Quadrature encoder in
  • 1 PWM  input (read duty)
  • 1 PWM  output
  • Full Speed USB

Advanced Upgrade

$899 /seat

Add Source Code and Libraries to support:

  • Ability to Extend I/O
  • Custom Realtime Control 
  • Custom data processing

Source Code in C++ . Compiles with GCC. USB STLink debug on board. Build and Debug using Eclipse IDE - instructions included.

Custom Test System

Let our experts configure your system. We will build your test system to meet your specifications, and help you get the most out of your testing.

About Promenade Software

Promenade Software, Inc. specializes in software development for Medical Devices and other safety-critical applications.


Promenade Software, Inc.
16 Technology Drive,  Suite 100
Irvine, CA 92618 
(949) 329-8570
Go to Contact Form

© 2016 Promenade Software, Inc.