We make sure your products are smart and expandable, so you can make them more sustainable
Clients we’ve supported
Our work
Project duration
200,000+ man-hours, 16+ years
Technologies
C++, FPGA, emulated CPU programming, ARM Cortex Lauterbach debugger
Client challenge/business need
In 2002, Danfoss had begun development of its new generation of frequency converters and was looking for nearshoring possibilities.
Solution at a glance
We became partners and Proekspert started as a team fully integrated within Danfoss’ Danish team.
A few years later, what started out as a team grew into a development center responsible for Danfoss VLT drive AQUA (FC 202) and HVAC (FC 102) development.
Results
Project duration
70,000+ man-hours, 4+ years
Technologies
C++, FPGA emulated CPU programming, platform development, data-driven architecture
Client challenge/business need
The client had two primary goals: (1) develop a secure firmware update functionality for a next-gen frequency converter connected to the internet via WiFi, and (2) enable a modular way for updating multiple frequency converters.
Solution at a glance
We developed a distributed solution to update selected sections of frequency converter firmware over the air (OTA).
Results
Technologies
C++, platform development, WiFi protocols
Client challenge/business need
Reduce the bill of materials (BOM) cost to ensure the final product will be competitive on the market.
Solution at a glance
We rebuilt the core software logic, developed an embedded software platform, and made the solution more efficient and modular. We implemented wireless communications for controlling the machines.
Results
Technologies
C/C++, C# machine learning
Client challenge/business need
Introduce a generational leap for a thermostat with a lower cost of materials than its previous high-end version despite it having more modern- and advanced features.
Solution at a glance
Proekspert brought together and led the whole development process. Electronics design and physical product design were done in collaboration with partners. Embedded software development was done in-house using Proekspert engineers.
Results
Technologies
Qt, Android
Client challenge/business need
To create a mobile app to replace Danfoss drives’ Local Control Panel (LCP), the LCP being a display to control drives, which is a separate physical component and different for different models.
Solution at a glance
Proekspert created a mobile app with LCP functionality that can control any Danfoss drive.
Results
Project duration
40,000+ man-hours, 16+ years
Technologies
LabVIEW, TestStand, Robot framework
Client challenge/business need
–
Solution at a glance
Since 2008, Proekspert is running one of the software quality engineering labs of Danfoss drive platforms.
Results
Project duration
75,000 man-hours, 16+ years
Technologies
C/C++, MFC, Industrial communication protocols (PROFIBUS, Ethernet, Serial communication)
Client challenge/business need
Update the MCT 10 to keep pace with evolving industry needs. (The MCT 10 is a tool that enables the configuration of a VLT® drive or soft starter from a PC and offers drive updates.)
Solution at a glance
Since 2005, Proekspert has actively developed and maintained the Danfoss VLT® Motion Control Tool’s PC software. Proekspert acts as a Danfoss development center, possessing full technical know-how for the product.
Results
Technologies
C++, embedded Linux
Client challenge/business need
To provide 3D-printer manufacturers a simple and secure embedded software package that makes integrating the printers with their cloud service seamless.
Solution at a glance
We developed a C++ library that connects printers to the cloud and executes printing and other operation commands.
Results
Commercial printer developers can turn their printers easily adaptable with a secure cloud printing service.
Proekspert helps you to release your new product
You’re the expert in making products. Our passion is making useful software and building modern interfaces that enhance the product user experience. By combining our skills and experience we can help you bring your innovative next-gen product to the market so it’s cost-effective to manufacture.
We help you design a quality product that users appreciate. We help you identify hardware functionality that can be replaced with efficient and scalable software. We help build the device. We add sensors and connectivity to the product. And last but not least, we make it possible to control the product and ensure it can be flexibly accessed from any device or API.
As an experienced embedded software development company, we build embedded platforms, apps, firmware, middleware, device drivers, human-machine interfaces (HMIs), and complex embedded software solutions.
Wired mediums
Wired industrial protocols
Wireless mediums and protocols
Microcontroller platforms
CPU platforms
Embedded OS
Bare metal embedded SW
Prototyping and testing
Automated testing
Our modular solutions help you innovate with balanced product cost, scale your product reach, and also reduce product maintenance costs
Our engineers optimize device software and also replace hardware functionalities in the device with software so you can offer more functionality with the same hardware
Proekspert engineers build network connectivity so that updating network security protocols is always an effective process – ensuring your product’s security will be up to date in the future, as well
With the help of machine learning, our data scientists interpret a device’s sensor data so that the device can obtain accurate information about the environment and make better control decisions
When developing next-generation products, our engineers take the most out of already-existing hardware and design products modularly. This will help you efficiently and quickly enter the market with a new product and adapt your product to future needs.
Embedded software, uniquely programmed for non-computing devices, controls specific functions directly within or atop a microchip. Unlike versatile PC software, it is tailored for fixed hardware, ensuring optimal performance within the device’s processing and memory limits. This encompasses applications, firmware, middleware, and operating systems running on embedded microprocessors integral to the device’s functionality.
Operating System (OS) – An OS is a critical software enabling the operation of applications on a computing device. It oversees the management of hardware resources, such as input/output devices and storage, and offers services for effective software execution, including memory management.
Firmware – This specific software is embedded directly into the hardware, providing essential instructions for the device to perform basic operations or communicate with other devices, bypassing the need for APIs, operating systems, or device drivers.
Middleware – Positioned between applications and the OS, middleware facilitates software development in distributed systems by abstracting the complexity of these systems. It offers uniform interfaces, hides hardware and software diversity, and provides standard services to enhance interoperability and reduce redundancy.
Application – This represents the software developed by the end-user, operating on the OS and interacting with middleware and firmware. Unlike the more standardised OS and firmware, it is the primary component of the embedded system’s functionality, tailored to specific tasks.
Based on performance and functional criteria, embedded systems are categorized into five principal types:
1. Real-time Embedded Systems: These systems execute tasks within fixed time constraints, ensuring deterministic and consistent outcomes. Their efficiency is influenced by the OS’s architecture, thread performance, and the handling of interrupts and branching.
2. General-purpose Embedded Systems: Unlike real-time systems, these do not require adherence to strict timing for task completion. They handle interrupts and branching flexibly, ideal for managing peripherals like graphics displays and input devices.
3. Stand-alone Embedded Systems: These systems operate independently of a host or external computing resources, capable of processing input and output with connected devices without dependence on them for task completion.
4. Networked Embedded Systems: These systems rely on network connections to perform their functions, integrating with other systems across a network to perform their tasks.
An ’embedded system’ refers to the hardware components of a device that operate embedded software. Key hardware elements in embedded systems include power supply circuits, central processing units (CPUs), flash memory devices, timers, and serial communication ports. In the initial design stages of a device, the composition and arrangement of the embedded system’s hardware are determined. Subsequently, embedded software is tailor-made to function solely with this specific hardware setup. This necessitates a specialized approach to embedded software design, demanding comprehensive expertise in both hardware functionalities and computer programming.
Create the optimal setup for your next embedded system. If your current connected product development isn't meeting your goals and standards, fill in this form so we can join forces to get your next best product to market on time.
Your message has been sent. Our team will get back to you as soon as possible!