Software development

for industrial automation and robotics

Custom software development for industrial automation & robotics from idea to real product

We develop software for all levels of industrial automation devices and systems manufactured by our customers: software for PLC, SCADA, MES and ERP systems.

We build software and tools for PLC and SCADA programming.

Services for Industrial Automation & Robotics

Specialized custom software development services for industrial automation and robotics

Embedded Linux / Android

As part of our expertise, we offer Embedded Linux development and Embedded Android development for PLCs, DAQs, HMI panels, servo drives, VFDs, and ATSs + we develop firmware for critical safety systems.


Our area of experience:

  • theory of automatic control and electric drives;
  • algorithms on FPGA;
  • MCU, V/F, field-oriented control for PMSM, ACIM, BLDC;
  • mathematical physics equations and DSP mathematics;
  • algorithms for power systems.

The industrial networks we use in our projects:

  • EtherCAT;
  • IO-Link;
  • Modbus TCP & RTU, etc.


Firmware Development


We offer firmware development for PLC, DAQ, HMI panels, Servo Drive, VFD, ATS, etc.


Our engineering team has fundamental knowledge in these areas:

  • the theory behind automatic controls & electric drives;
  • algorithms on FPGA, Embedded Linux, MCU, V/F;
  • field-oriented control for PMSM, ACIM, BLDC;
  • mathematical physics equations & DSP mathematics;
  • algorithms for electric power systems.


We use Industrial Networks like PROFINET, EtherCAT, IO-Link, Modbus TCP & RTU, etc. and develop firmware for critical safety systems.


Compiler Design


Our engineers implement such ports as GCC, GDB, GNU libraries, Binutils, LLDB, and LLVM utilities and libraries in their projects.

We optimise and adapt existing compilers for any hardware platform, or develop the following compilers and interpreters for ouк clients:

  • JIT and AOT;
  • Frontend compilers;
  • Middle-end compilers (optimizers and Analyzers);
  • Backend compilers;
  • MLIR (multi-level intermediate representation);
  • HLS (High Level Synthesis) compilers;
  • Hardware compilers (Synthesis Tools);
  • Virtual machine;
  • AST and bytecode interpreters.

Our customers can expect expert solutions in areas such as SDK and virtual machine development, code obfuscators and deobfuscators. We also create tools for developers based on the LLVM framework.


IDE Development for PLC


A programmable logic controller (PLC) is an industrial automation device that can control a single process, function or production line. We produce PLC software in IEC 61131-3, depending on the specific processes and requirements.


Run-time machines, frameworks and tools we use:

  • PLCopen Editor, Beremiz, OpenPLC Editor (based on wxpython);
  • Matiec (IEC 61131-3 compiler);
  • Eclipse 4diac FORTE, Eclipse 4diac IDE (IEC 61499);
  • CODESYS Runtime, CODESYS Control Runtime Toolkit;
  • ISaGRAF Runtime, ISaGRAF Runtime Toolkit;
  • TwinCAT Runtime (XAR);
  • Custom IDE development for PLC programming (C, C++, Rust);
  • Node-RED.


IDE Development for SCADA


We build IDE and tools for SCADA programming.

SCADA — Supervisory Control and Data Acquisition System — software and hardware elements to control processes locally and remotely, collect and analyse data, control devices via HMI and perform other activities to improve efficiency.


The tools and technology we use:

  • FUXA (TypeScript, JavaScript);
  • Scada-LTS (web-based, multi-platform solution for building your own SCADA);
  • PyScada (an open Source SCADA System with HTML5 HMI, build with Django);
  • RapidScada (C#);
  • Json-scada (a portable and scalable SCADA/IIoT-I4.0 platform centered on the MongoDB database server);
  • QSimpleScada (Qt/C++ based simple SCADA library for your IoT projects);
  • OSHMI (SCADA HMI for substations and automation applications);
  • Eru (JavaFX SCADA).


Graphical User Interfaces


We develop graphical user interfaces (GUI) to manage industrial systems and MES, ERP via mobile and desktop applications.


The tools and technology we use:

  • GTK+;
  • Qt;
  • WxWidgets;
  • Electron;
  • Flutter;
  • Android Studio;
  • tkinter;
  • Slint.



Energy Management System


We have extensive experience in software development for power engineering. Find out more

The Energy Management System is an energy storage and management platform that aims to optimise costs and regulate energy consumption. 

The system can be used both for large production facilities involving several objects and as a component of a smart home system. 

The user can determine the best mode himself or leave it to the system to select the appropriate settings. Change history and current data are stored in one place, and you can easily compare indications on key parameters and generate up-to-date reports.

This is what we use in design projects for our clients:

OpenEMS — Open Source Energy Management System is  a modular platform for energy management applications. Its architecture offers fast device management, is easily expandable, includes reusable control algorithms, and has many supported devices and protocols.


HLS Compilers Development for PLC


We create digital devices using high-level programming with HLS compilers  (High-Level Synthesis).

An HLS compiler commonly generates HDL languages (Verilog or VHDL)from the source code of high-level languages, such as C/C++. 

Many HLS compiler implementations use the LLVM framework.

Using specific tools, the HLS compiler can create hardware microarchitectures according to predefined directives. We have extensive experience in developing HLS compilers for your PLC programming environment.


Frameworks, Languages & Tools:

  • OpenMP, OpenACC;
  • LLVM, GCC;
  • C++, Rust;
  • bison, flex, yacc, AntLR.



The Promwad team has extensive experience and skills in robotics and covers the full stack, including custom firmware development, drivers, cloud solutions and other Linux and ROS-based software.

We design robotic devices for various uses with haptics, pattern and face recognition, situational awareness, and navigation using advanced technologies, such as AI and computer vision.

Read more

Smart home/ building automation


The concept of a smart home refers to a system of devices and sensors that the user controls via mobile  apps and voice commands. Lights, thermostats, ventilation and air-conditioning devices and more can be turned on | off in the system. Smart home triggers automated services according to user-defined parameters that are pre-set for specific events. 


This is what we do for our clients within smart home automation services:

  • building optimisation (BO)
  • building energy optimisation (BEO)
  • building energy management (BEM)
  • energy management (EM)
  • energy management system (EMS)
  • home energy management (HEM)
  • home energy management system (HEMS)
  • smart building energy management (SBEM)
  • demand-side management (DSM)
  • building automation and control system (BACS)

Design of Digital Twins

A digital twin is the virtual counterpart of any physical object, process or system.

At Industrial Automation, digital twins use real-time data to simulate situations, make predictions, identify possible breakdowns and provide alternative solutions.

They can improve productivity and production safety, train operators, test new hypotheses, and improve current workflows without disrupting the normal product lifecycle.


We have experience with these solutions:

  • Eclipse Ditto
  • Shifu
  • Azure Digital Twins

Our Basic Software Development Services


Business Analysis

Our Core Responsibilities:

  • Clarifying business needs and product value

  • Outlining scope & validating product requirementsv

  • Planning & supporting development activities

  • Efficient bridging between stakeholders & production team

  • Standardizing the software development process.


UX/UI Design

What we can do:

  • Dashboards for embedded devices

  • Web SCADA


  • Custom HMI

  • MESH systems

  • ERP systems

Tools: Figma, Adobe Photoshop, Adobe Illustrator, CorelDRAW.


Mobile App Development

The tasks we can take on:

  • Cross-platform and hybrid mobile apps;

  • Android and Apple apps.

App development approaches:

  • Native

  • Cross Platform

  • Hybrid


Read more


Frontend Development

Single–page applications:

apps or websites that automatically generate content per your specification or established user scenarios by downloading data from web servers.

Frontend architecture & design:

UI/UX development of user–friendly and immersive websites and apps.

Progressive web app:
provides users with the functionality of native apps, but it runs on web technologies. These apps can be used without the Apple App Store or the Google Play Store.

Read more


Backend Development

Backend platform development:
Complex IoT platforms and industrial automation systems are just a few examples for which we design scalable and fail–safe backends.


Cloud or on–premise computing: We create both cloud and self–hosted solutions and provide further integration with third–party platforms and applications. We are experts in migrating the designed systems to public, private, or hybrid cloud platforms. What is more, we can additionally offer a technical back–end audit to find out if there are any issues and make the customer’s infrastructure more optimized.

Read more


Desktop App Development

What we can do:

  • Low-level software (kernel subsystems, drivers)

  • Background services

  • Userspace applications

Frameworks: Qt, .NET Core, Microsoft WPF, UPW, Windows Forms, Win32, PyQt.

Do you need custom software development for industrial automation and robotics?

Our proven expertise

The EMS development helps reduce costs and losses, achieve a balance of energy consumption, and identifies methods to improve energy efficiency. The data is collected in cloud storage and is available at any time.

Programming languages, technologies and tools:
  • Java
  • TypeScript
  • JavaScript
This system allows the transformation of information flow from several points with different functionality into summary data. The management of large data arrays helps to optimize production processes and increases the profitability of the enterprise.

Programming languages, technologies and tools:
С++ | Qt, qml | OPC UA | PostgreSQL
The system consists of several parts combined in a common environment for data analysis using artificial intelligence. It helps to optimize energy consumption based on the data obtained, which can be visualized and analyzed in a format that suits you.

Programming languages, technologies and tools:
  • Node.js
  • PostgreSQL
Cloud Computing
With remote access through the system to the equipment, you get not only data on the overvoltage at any point right now, but also a prediction on the lifetime of the protection.

Programming languages, technologies and tools:
  • Python
  • Lua
  • MongoDB
Automatic digital certificate management helps with cybersecurity for power systems. Reliability is achieved through a combination of security control approaches: verifying the identity and authenticity of certificate signing requests, controlling their signing and renewal, and managing revoked and expired documents.

Programming languages, technologies and tools:
  • Rust
The management system for retail facilities solves business management tasks for owners of one or more outlets. This system can be used to collect and analyze dataon inventories, sales dynamics, and personnel management, as well as to create marketing campaigns.

Programming languages, technologies and tools:
JavaScript | Python | MySQL | HTML, CSS
This system allows users to manage the production process at any stage, provide order information to customers and couriers, plan purchases and equipment maintenance.

Programming languages, technologies and tools:
Java | PostgreSQL | JavaScript | HTML, CSS

Our Cooperation Models

Flexible approach to suit your current needs

Dedicated Team

We will form a team to fit your specific engineering task. You are free to manage it and provide additional resources.


We can join you at any stage or take on the entire project, including our management and risk control.

Fixed Price Model

This contract fixes the price so that it does not depend on resources used or time expended by our engineering team.

Time and Material

A T&M contract is the best option for your flexible set of tasks that are difficult or impossible to fix and assess in advance.

Why Promwad

Cost-Effective Approach

Cost-Effective Approach

We allocate an engineering team with a tech lead & management to work together with our client’s team. Our clients do not have to bring in their in-house specialists or an expensive external integrator.

EtherCAT Group Member

EtherCAT Group Member

As a member of the EtherCAT Group, we follow all the industry standards. Our customers can access the necessary data at any time and can improve the efficiency of their equipment.

Turnkey Product Development

Turnkey Product Development

At Promwad, you can cover all the engineering tasks to design your software or hardware product with a single contractor with cross- industry expertise in telecom, adaptive computing, automotive.

Do you need a quote for custom software development for industrial automation & robotics?

Drop us a line about your project! We will contact you today or the next business day. All submitted information will be kept confidential.


What is IDE in software development?


An Integrated Development Environment (IDE) is a set of programs that includes the basic tools for writing and testing software combined into a single framework, application, or service.

An IDE simplifies the software development process and makes it easier to identify and minimise bugs in the code. As standard, an IDE typically contains a code editor, compiler or interpreter, and debugger, all accessed through a single graphical user interface (GUI).

The quick customisation and standardisation of all IDE tools enhance the productivity of software engineers. Our clients are often interested in developing IDE for SCADA, HMI, and PLC IDE.


What is а smart home automation system?


A smart home automation system is a system for automatic and manual control of intelligent electronic devices in the home. It can include devices and systems such as thermostats, fans, underfloor heating, light and boiler controls, etc.

Each pre-programmed device is equipped with sensors and connected via wired (DALI, KNX, BACnet) and wireless interfaces (Wi-Fi, Bluetooth, LoRa, Zigbee), so users can remotely control them from smartphones.

The system can allow users to schedule automatic activation of lights and appliances, control the temperature, store and provide the user with a lot of information about their home, and ultimately help save money.


How does smart home automation work?


There are three main types of elements in a smart home automation system: sensors, controllers, and actuators.

Sensors that keep the movement, detect atmospheric factors like humidity, temperature, and light. Typically they contain batteries or other power sources that give them autonomy and allow them to transmit data to the controllers.

The controllers process and store the information collected by the sensors and are responsible for controlling the entire home automation system, setting and parameterising variables. The controllers issue orders to actuators, which can control or shut off the water or gas supply, change the air conditioning temperature, or switch on irrigation.


How does a digital twin work?


A digital twin is a virtual model of a physical object, system, or process that allows risks to be detected in a way that saves time and costs. Such a twin changes every time its original changes, and it can learn with the help of people, machines, and its environment. The twin is created with visualisation technologies (3D modelling, AR) that display data collected from embedded sensors and devices.

Digital twins can collect data from sensors and devices, modify operating parameters to determine the best process configuration, or use algorithms to learn from the collected data so that predictive maintenance can be performed.


What is the difference between IIoT and SCADA+ERP+MES?


IIoT is a system that serves for predictive maintenance, not process control. Sensors connect to the IIoT hub and transmit data to the cloud. It helps businesses react faster to abnormal situations with possible equipment breakdowns and irregularities.

PLC controls the process, which is a key differentiator. The data goes to SCADA, where the process is visualised, and then to ERP and MES.