DornerWorks provided complete software development for their new version of a patient treatment device that applies low intensity ultrasound radiation at a specified dosage and maintains a history of the applied treatments.  This device represented a major step forward in user interface for the product line, adding a new full-color LCD display with graphical user interface, encrypted USB communications, and a rechargeable battery to an already successful product.

The challenges included implementing a complex multitasking architecture while maintaining a low power profile, interfacing with a variety of communication protocols, and digitally generating an ultrasound signal to meet the customer’s precise specifications.

Our Solution

We worked closely with the customer to implement the embedded software. In addition, we developed a suite of system tests that verified the system operation from an end user prospective. The result was a complete product with an international launch.

We implemented the entire software for the product including power-on self tests (POST), battery charging logic, user interface, encryption for the USB data interface, sleep timers, and other features.  We also developed an associated engineering tool using LabVIEW to communicate with the device on the USB interface and set configuration parameters.

The software development cycle followed Test-Driven Development (TDD) principles, with unit tests developed in concert with the product software to streamline the lowest level of software verification and provide developers with immediate feedback on the effectiveness of their changes during development.


  • Embedded software development for PIC30 16-bit MCU
  • Graphic Display
  • Ultrasound pulse generation
  • UART, SPI, GPDIO, USB communication
  • AES128 encryption