Firmware Programming and Configuration Application for Embedded Device

Firmware Programming and Configuration Application for Embedded Device

In order to support development, deployment, and management of a customer’s embedded device, DMC developed a simple windows GUI using C# and WPF to assist in programming and configuring the device. The program uses a single USB connection for both actions, allowing the customer to simplify connections and have access to all functions even on assembled devices.

Technologies Used

  • Texas Instruments MSP430
  • NET C# (WPF)
  • HID, CDC device interfaces


DMC leveraged the standard TI BSL code to allow programming the device over USB. After connecting a device, the customer simply needs to select a firmware version and click download, at which point the device is programmed and ready to go. Additionally, this functionality does not require any specific drivers or configuration. This has several benefits for the customer.

  • Removes intricacies of microcontroller programming (plug and play)
  • Allows programming of PC boards on arrival and before shipment to end customer
  • Allows bug fixes and software updates to existing products
  • Allows tracking of software versions on returned or defective products


In addition to providing programming capabilities, DMC also developed a custom interface and protocol for configuring devices. DMC leveraged the internal USB module on the MSP430 to allow communication of the device from a computer over a virtual com port. In order to facilitate in configuring over this connection, DMC built upon its programming UI to provide a table of available configuration parameters for the connected device and instructions for setting each value. The program also supports saving and loading of configuration files and user function limitations for commercial settings

The configuration utility produces several benefits to the customer"

  • Allows tracking of model number/serial number and device specific notes useful for diagnosing returns or defective products
  • Allows a single firmware to be used for all devices, simplifying code upkeep and bug fixes
  • Allows use of saved configurations for rapid programming of similar devices
  • Easy to use UI reduces worker training and mistakes
  • Can link to server to allow multiple programming stations with one set of configurations.

Device Configuration Screen:

Device Configuration Screen



There are currently no comments, be the first to post one.

Post a comment

Name (required)

Email (required)

Enter the code shown above:

Related Blog Posts