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 using the STMicro M4 discovery board, and the Parlaytm embedded codebase. Phil provides a visual and automated way to simulate internal inputs to your embedded system and acquire output signals at for the purpose of testing the system. This combination provides extraordinary test capabilities, normally only available with expensive, difficult test systems.

Phil began as a HiL test system for use by Promenade Development Services for clients that needed characterization and test of their PIC based device. System behavior, including motor position over time, pwm output, voltage and impedance needed to be tracked as the device changed states. The Promenade Parlaytm firmware codebase on the STM M4 evaluation board provided the perfect test tool, as outputs could be driven and complex inputs monitored by connecting a PC via USB and controlling/collecting via Parlaytm Python scripts. While this was an easy extension of Promenade's system, we realized that tools on the market today to perform this type of testing were expensive and cumbersome. Hence, Phil was born.

If you would like us to do your low-level, safety critical testing using Phil, we will be happy to provide that service.  However, if you want to do it yourself, Phil provides the perfect tool.

Contact Us for
Your Test Solution

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 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. It can natively sample at up to 4 khz, but can be customized for faster sampling.

Connect to PC

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

  • USB direct from test system to PC.
  • 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 live 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 collected 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

Add control of external equipment via GPIB, Modbus, or custom interface to the Parlay central control.

  •  Signal generators - control precision signals to your device when and how you need it.
  •  Temperature chambers - test your device under extreme temperatures.
  •  Power Supplies - Test with variations of voltage/current
  • Ohm meters - measure outputs and log.
Contact Us for
Your Test Solution
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, U.S.A.
(949) 329-8570
Contact Form

© 2017 Promenade Software, Inc.