Software Development

Software Development

Thomas Instrumentation | Software Engineering Thomas Instrumentation, Inc. has been developing software for complex embedded systems since its establishment in 1971. Our programmers have the ability to develop software for a large variety of microprocessors and for operating systems such as Windows, Linux, Mac OSX, iOS, and Android.

All of our development and production software is managed through an SVN version control system and regularly backed-up to a redundant server. This minimizes the risk of losing data and ensures that there is never any confusion about what the latest version of code is or which versions have been released to the customer. If your software is currently stored on a Git or Mercurial version control system, we have the ability to work with those platforms as well.

Our software development team is no stranger to the customer’s need for updates in software. Whether it is an update to the user interface, an added calculation, or any other feature, our programmers are prepared for in-field updates. Most of our hardware is designed to be updated via a USB, SD card, serial, CAN, I2C, or Ethernet connection. Our programmers simply tap into an available hardware method and create a function for users to update their device’s program. Another method of updating in which our programmers are experienced is in converting a client’s existing code from an outdated processor to work with a newer processor. The more of the original code we can use, the greater the savings to develop an upgraded product.

The following is a sampling of our software department’s expertise:

Software Languages

  • ANSI C
  • C++
  • C#
  • Java
  • Python
  • PHP
  • Visual Basic
  • Assembly

Standard Microcontrollers

  • ARM® Cortex®-M4 LPC4088 – 32-Bit
  • ARM® Cortex®-M4/M0 LPC4357 – 32-Bit, Dual-Core
  • ARM (NXP) ARM7 – 32-bit microcontroller
  • HCS08 (Freescale) – 8-bit microcontroller
  • HC9S12 (Freescale) – 16-bit microcontroller
  • MSP430 (TI) – has a built in 900MHz RF core (CC1101 radio)

Communication Protocols

  • CAN
  • Ethernet (TCP/IP)
  • Modbus (TCP/IP or RS485)
  • USB
  • Serial
  • DeviceNet
  • Profibus/ProfiNet
  • Zigbee WPAN
  • RF Wireless (Custom protocols in ISM band)
  • WiFi
  • Bluetooth

Touch Screen Displays

  • Segger emWin License – ability to personalize graphics for client’s display

Foreign Language Support

  • Segger emWin Font Converter – ability to use any Windows font to ANSI “C” for embedded system usage
  • PO Files – text files in Windows font which contain foreign language translations for a project