Software development

for industrial automation and robotics

Custom Software Development for Industrial Automation & Robotics

We offer software development for industrial automation devices and systems manufactured by our customers: software for PLC, SCADA, MES, and ERP solutions. Our services cover all engineering stages, from proof of concept to full implementation. 
With 20 years of experience in industrial software development, we create custom solutions adapted for various application areas, such as robotics, security, power engineering, building automation, industrial networks, and others.

Services for Industrial Automation & Robotics

Embedded Linux / Android

As part of our expertise, we offer embedded Linux and Android engineering for PLCs, DAQs, HMI panels, servo drives, VFDs, and ATSs. Our team also develops firmware to support the safe operation of critical systems.
 
Our expertise in custom software development for industrial applications includes:
  • 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
  • Power system algorithms

The industrial networks we use in our projects:

  • PROFINET
  • EtherCAT
  • IO-Link
  • Modbus TCP and RTU

 

Firmware Development

We offer firmware development for PLC, DAQ, HMI panels, servo drive, VFD, ATS, and more.

Our engineers have fundamental knowledge in the following areas:
  • The theory behind automatic controls and electric drives
  • Algorithms on FPGA, embedded Linux, MCU, V/F
  • Field-oriented control for PMSM, ACIM, BLDC
  • Mathematical physics equations and DSP mathematics
  • Electric power systems algorithms
We use industrial networks like PROFINET, EtherCAT, IO-Link, Modbus TCP & RTU, and other networks to develop firmware for critical safety solutions.
 

 

Compiler Design

Our engineers integrate ports such as GCC, GDB, GNU libraries, Binutils, LLDB, and LLVM utilities and libraries into our clients’ projects.

We optimise and adapt existing compilers for any hardware platform, or develop the following compilers and interpreters from scratch:
  • JIT and AOT
  • Frontend compilers
  • Middle-end compilers (optimisers and analysers)
  • Backend compilers
  • MLIR (multi-level intermediate representation)
  • HLS (high-level synthesis) compilers
  • Hardware compilers (synthesis tools)
  • Virtual machine
  • AST and bytecode interpreters
 

 

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 compliant with the IEC 61131-3 standard, depending on the specific requirements of our clients.

Run-time machines, frameworks, and tools we use in our software design for industrial automation:

  • 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
We have extensive experience in SDK and virtual machine design, and code obfuscation/deobfuscation. We also create tools based on the LLVM framework.
 

IDE Development for SCADA

We build IDE and tools for SCADA programming.

SCADA (Supervisory control and data acquisition system) encompasses 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 technologies we use to develop industrial automation software and hardware:
  • FUXA (TypeScript, JavaScript)
  • Scada-LTS (a web-based, multi-platform solution to build a custom SCADA)
  • PyScada (an open-source SCADA System with HTML5 HMI, built with Django)
  • RapidScada (C#)
  • Json-scada (a portable and scalable SCADA/IIoT-I4.0 platform centred on the MongoDB database server)
  • QSimpleScada (a simple SCADA library Qt/C++ based)
  • OSHMI (SCADA HMI for substations and automation applications)
  • Eru (JavaFX SCADA)
 

 

Graphical User Interfaces

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

The tools and technologies 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 for cost optimisation and energy consumption regulation. 
 
The platform can be used both in large production facilities involving several objects and as a component of a smart home system. 
 
The user can choose the optimal mode manually or delegate the selection of appropriate settings to the system. Change history and current data are centralised, allowing for easy comparison of key parameters and generation of up-to-date reports.
 
In our design projects, we use OpenEMS — a modular platform for energy management applications. Its architecture enables robust device control, 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 (high-level synthesis) compilers.

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 develop HLS compilers in accordance with your PLC programming environment.
 
Frameworks, languages, and tools we use:
  • OpenMP, OpenACC
  • LLVM, GCC
  • C++, Rust
  • bison, flex, yacc, AntLR
 

 

Robotics

Our team has extensive experience in robotics and covers the full stack, including custom firmware, driver, cloud-based solutions, and Linux and ROS-based software engineering.

We use AI and computer vision to design robotic devices with haptics, pattern and face recognition, situational awareness, and navigation functionality.
 

Smart Home & Building Automation

The smart home concept refers to a network of devices and sensors that the user controls via mobile apps and voice commands. It enables turning on and off lights, thermostats, ventilation and air conditioning units, and more. Smart home triggers automated services according to user-defined parameters pre-set for specific events. 

Our smart home automation services include:
  • BO (building optimisation)
  • BEO (building energy optimisation)
  • BEM (building energy management)
  • EM (energy management)
  • EMS (energy management system)
  • HEM (home energy management)
  • HEMS (home energy management system)
  • SBEM (smart building energy management)
  • DSM (demand-side management)
  • BACS (building automation and control system)
Read more about our building automation system design expertise.

Design of Digital Twins

A digital twin is the virtual counterpart of any physical object, process, or system.
 
In industrial automation, digital twins use real-time data to simulate processes or objects, make predictions, identify possible breakdowns, and provide alternative solutions.
 
They can improve productivity and production safety, train operators, test new hypotheses, and enhance current workflows without disrupting the normal product lifecycle.
 
The standards we work with:
  • Eclipse Ditto
  • Shifu
  • Azure Digital Twins
  • FA³ST (FAAAST)

Read more about our digital twin design expertise.

Our Basic Software Development Services

icon

Business analysis

Our core responsibilities:

  • Clarifying business needs and product value

  • Outlining scope and validating product requirements

  • Planning and supporting design activities

  • Efficient bridging between stakeholders and the production team

  • Standardising the software engineering process

icon

UX/UI design

What we do:

  • Dashboards for embedded devices

  • Web SCADA

  • SCADA

  • Custom HMI

  • MESH systems

  • ERP systems

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

icon

Mobile app development

The tasks we can take on:

  • Cross-platform and hybrid mobile applications

  • Native applications (iOS, Android)


 

icon

Frontend
development

Single-page app design:

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


Frontend architecture and design:

UI/UX design of user-friendly websites and apps.


Progressive web app engineering:

These solutions provide users with the functionality of native apps but run on web technologies. They can be used without the App Store or Google Play.

Read more

icon

Backend
development

Backend platform engineering:
We design scalable and fail-safe backends for complex IoT platforms and industrial automation systems, among other solutions.

 


Cloud or on-premise computing:
We create both cloud and self-hosted solutions and provide further integration with third-party platforms and applications. Our team migrates the designed systems to public, private, or hybrid cloud platforms. Additionally, we offer a technical backend audit to find out if there are any issues and make the infrastructure more optimised.


Read more

icon

Desktop app development

What we do:

  • Low-level software (kernel subsystems, drivers)

  • Background services

  • Userspace applications

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

Build a robust custom software for industrial automation and robotics with Promwad!

Our Proven Expertise

EMS
ENERGY MANAGEMENT SYSTEM
The EMS helps reduce costs and resource losses, achieve an energy consumption balance, and identify methods to improve energy efficiency. The data is collected in cloud storage and is available at any time.

Our tech stack:

Java | TypeScript | JavaScript | HTML, CSS

SCADA
MONITORING FOR PRODUCTION PROCESS
This solution transforms the information flow from several points with different functionalities into summary data. Managing large data arrays helps to optimise production processes and increase the business profitability.

Our tech stack:

С++ | Qt, qml | OPC UA | PostgreSQL

Buildings
BUILDING MANAGEMENT SYSTEM
The BMS solution consists of several parts combined in a common environment to analyse data using AI. It allows optimisation of energy consumption based on the data obtained, which can be visualised and analysed in a suitable format.

Our tech stack:

Node.js | HTML, CSS | PostgreSQL

Cloud Computing
ANALYTICAL SERVICE FOR SURGE PROTECTION
Through remote access via the system to the equipment, you receive real-time data on overvoltage at any given point and obtain predictions on the protection system's lifespan.

Our tech stack:

Python | Lua | MongoDB | HTML, CSS

Certification
CERTIFICATE MANAGEMENT SYSTEM
Automatic digital certificate management helps ensure the cybersecurity of power systems. We achieve reliability by using Rust technology and various security control approaches, including verifying the identity and authenticity of certificate signing requests, controlling signing and renewal, and managing revoked and expired documents.
ERP
RETAIL SYSTEM
The system for managing retail facilities solves business administration tasks for owners of one or more outlets. This technology can be used to collect and analyse data on inventories, sales dynamics, and personnel management, as well as to create marketing campaigns.

Our tech stack:

JavaScript | Python | MySQL | HTML | CSS

MES
SYSTEM FOR SERVICE-BASED INDUSTRIES
This solution for service-based industries allows users to manage the production process at any stage, provide order information to customers and couriers, and plan purchases and equipment maintenance.

Our tech stack:

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.

Project-Based

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 and management to work together with our client’s team. Our clients do not have to bring in in-house specialists or an expensive external integrator.

EtherCAT Group Member

EtherCAT Technology Group member

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

Turnkey Product Development

Turnkey Product Development

At Promwad, we cover all the engineering tasks to design your software or hardware product, leveraging our cross-industry expertise in telecom, adaptive computing, and automotive.

Do you need a quote for custom software development for industrial automation and 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.

FAQ

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 engineering 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 provides 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, and more.

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.

This technology allows 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 platform 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.

Â