Cross posted from

MILL5 has had the opportunity to build some amazing IoT applications and we continue to do so.  We build systems that connect surgery rooms, electric meters, oil wells, and more.  The end result is modern, cutting-edge applications that leverage today’s modern technology stacks.  Everything from real-time web-based applications using Angular and React to mobile applications that connect field technicians to IoT devices at the edge and container-based SaaS applications for IoT devices that run in the cloud.  Along the way we face the difficulty in building these modern IoT systems including:

  • Legacy devices that are still need to be supported
  • Operating systems that are geriatric and esoteric in nature
  • Code that is also geriatric in nature (i.e. 10 or more years old)
  • Custom device protocols with no available implementation
  • Both serial and network-based communication
  • Multiple competing industry standards/protocols (ex. OPC UA, MQTT)
  • Deprecated industry standards/protocols (ex. OPC DA)
  • Devices that do not implement modern security standards (ex. MQTT, TLS/SSL)

You find all of these challenges when you work with and build Industrial IoT systems.  You better be ready to sharpen your skills to be able to overcome these challenges.  For us at MILL5, it is a passion.  We like difficult problems.

Just today we are spending time reading up on a protocol that has been around for 15+ years.  We have had to look at both Visual Basic 6 and C code that was built over a decade ago and tried to compile it.  Unfortunately our first attempt was unsuccessful due to some missing dependencies.  Fortunately, we have a working version of the application and we were able to reverse engineer at the protocol level (Thanks Wireshark and Portmon).

You might think “Why are you doing any of this?”  The answer is that the customer has a ton of legacy devices and we need to be able to talk to them.  Don’t worry, it is not all gloom and doom, we will have our fun too.  We are building IoT Gateways using modern hardware (ex. Dell Edge Gateways for IoT) and Azure Sphere which talk to these devices and do protocol translation to MQTT.  The nice thing is that these modern devices help connect existing infrastructure and devices.