Embedded software

Experts in embedded software

At Move Innovation we are passionate about realising your digital and electronic ideas.

We use the latest technologies so your solutions are future-proof. We combine several technologies in a software and hardware solution, without compromising on quality or ease of use.

All our software, hardware, design, construction, mechanical and electronics engineers are in-house and we collaborate with each other, so your solutions are well thought and thoroughly tested. That is your guarantee for the most optimal solution.

The development of embedded software can take a long time, but at Move Innovation we minimise the time by placing the converted code in testable logic blocks, which quickly can be tested. Move Innovation has reduced the task from understanding the subject area in detail to understanding the interfaces to the subject area's algorithms and logic. In practice, this is called model-based development. Experience has shown that in some cases we have reduced development costs for embedded software by 80 to 90%.

With years of experience in embedded software, technological development, design and business understanding, Move Innovation is an ideal partner when it comes to developing new devices or future proof existing products. 

For us, embedded software also means secure communication with other devices and back office systems; eg. MES (Manufacturing Execution Systems) and CMS (Condition Management Systems).

We are specialists in solving problems that have never been solved before!

We are passionate about developing embedded software that has never been developed before. Together, we have a broad experience and can develop any software.

We work with proof of concept, early in the development, to ensure the solutions meet the requirements and needs of the users. We develop software that easily can be updated, so the solution always lives up to the future requirements and thereby is future-proof. This keeps your expenses to a minimum.

We develop in close alignment with you

At Move Innovation you are involved in all processes and decisions and together we ensure that all solutions are tailored to your needs. No projects or solutions are alike or standard, but we draw on each other's experience and skills, so your expenses are kept to a minimum.

We have experience in collaborating with both startups, industry and medical companies.



PROCESS DESCRIPTION

Depending on your needs, these are the steps Move Innovation takes you and the development through.

Analysis (60-80 hours)

The foundation for a successful development is to understand your and the users' needs as well as the desires for development. We therefore make an analysis and define the project in general terms.

Proof of concept

Proof of concept is used in some projects, as we need to test or "prove" that the core function is possible when it comes to a new software function or development. In other projects, we have dealt with similar issues and can draw on our experience, and therefore proof of concept isn’t necessary.

Requirements specification

When the development is proven possible, requirements specifications need to be prepared. The requirements specifications describe your and the users requirements for the solution. The requirements specifications describe the wishes for how the finished product works. The requirements specifications should be seen as a description of what you want as well as what you think provides value for your business and/or the users. The requirements specification preferably contains a list of requirements for the solution, which must be met for the project to be a success.

System design and architecture

Once the solution is specified, the system and architecture of the software are designed. We organise resources and components in a system and describe the components and interfaces between hardware and software.

Project plan

After the design of the system design, we have a better insight into the solution and from there we prepare a realistic project plan, which contains a time and budget plan, for the final product.

Iterative and agile development → test → corrections (this is repeated until development is complete).

Once the project plan is in place, we develop the various parts of the software and implement this on the hardware. Throughout the process, we test the software on and adapt it.

The results are verified and documented and the final software solution is implemented in the final hardware.

Test

The development must be tested. This can be done via one or more of these tests: 

  • Factory Acceptance Test: Does it work, at the factory? 
  • Site Acceptance Test: Does it work with the customer? 
  • Operational Test: Does it work with the users?

 

Our toolbox

Embedded Software
Industrial Instrumentation
Digital Signal Processing
Data Analysis, Statistics 
Rust, C, C++, QT
Python, Lua, Matlab, 
Embedded Linux
Linux Device Drivers
Yocto, OpenEmbedded, Buildroot
VHDL, Verilog, HLS
RTL Test & Verification
FPGA system design
FPGA SoC

Embedded software

Embedded software is the core of a smart device and it is the software that controls machines or devices.

At Move Innovation, we use ready-made processor boards such as Arduino or Raspberry PI, as these easily can be combined with a large selection of sensor and control boards.

This makes it easier, cheaper and faster to develop embedded solutions for you.

IoT

Directly translated, IoT means "Internet of Things" product or device which is connected to the Internet.

When you talk about IoT solutions, you talk about a product or device collecting or transmitting data.

In general, IoT is used to add value to already existing products. This is typically done by digitising products so the product can be accessed, read and/or controlled through the internet.

All the solutions and products we develop contain IoT.

IIoT

IIoT means "Industrial Internet of Things".

IoT is consumer-oriented, while IIoT is typically B2B solutions.

The benefits and added value of (I)IoT solutions is mobility. No matter where you are, you can access relevant data, analyse it and make data-driven decisions.

This data gives you and your company the opportunity to see recognisable patterns, systems or connections. It gives you the opportunity to make adjustments and optimisations, which ultimately increase efficiency and give your company additional value.

Cloud solutions

We use clouds in our (I)IoT solutions. All of our development projects collect some data (often via sensors) the data is used in one way or another. We upload data to a cloud so it’s easily accessible regardless of location. The advantage of cloud solutions is the opportunity to scale easily, when needed and you don’t need to have a physical server storing the data.

 

5G

With 5G you get faster network speeds, 5G is also a much more stable technology than 4G, 3G etc.

Several have experienced areas where the network doesn’t work or the signal strength drops drastically. With 5G, the network is more stable and you don’t experience signal dropouts.

Compatible with all mobile devices, 5G has incredible speed, capacity and response time, up to 20 times faster than 4G. This means that 5G opens up for a lot of new technology in our society, e.g. AI (Artificial Intelligence) and automation, for example self-driving cars. As communication between different devices (IoT and IIoT) is faster, more stable. This also means 5G opens the possibility for industry and healthcare to create machines and robots which are more effectively controlled remotely.

Unfortunately, 5G is not backwards compatible, and therefore you need to update your technologies if you want to take advantage of 5G - we can help you with this!

Bluetooth

Bluetooth is a wireless technology that makes it possible to transfer from one device to another, i.e. wireless data transfer.

Bluetooth has different ranges for the data transfers:

  • Up to 100 meters
  • Up to 10 meters
  • And less than 10 meters

Bluetooth can be integrated into all electronic devices. Bluetooth is ideal if the solution is to be paired with mobile devices. Let's talk about how to pair your products with other devices.

AI

AI stands for Artificial Intelligence. AI or artificial intelligence can find patterns and connections in large amounts of data (big data) and make decisions based on this data. These patterns or correlations would be impossible for humans to spot because of the huge amounts of data.

AI can be used for identification, diagnosis, optimisation, maintenance and much more.

AI enables machines to learn new things and make decisions without human intervention.

Machine learning

Machine learning is a mixture of statistics and algorithms. In machine learning, an algorithm is trained with a large amount of data. Based on the data the machine can make predictions and improvements. These predictions enable you to solve potential problems in time.

Firmware

Firmware is a small piece of software that makes the hardware work. Most of the electronic devices that we use on a daily basis would not be able to work, without firmware.

Firmware is software written directly onto your hardware device and stored on the hardware device itself. For more complex products, the firmware is the intermediary between the product and the operating system.

Writing new firmware on your device can be difficult and if done incorrectly your device is completely unusable. Only let experts do this - we are happy to help you.

Digital signal processing

Digital signal processing can be divided into two groups: One-dimensional signals and multi-dimensional signals.

We often encounter the one-dimensional in products with sensors as measuring instruments, which for example measure pressure, temperature, humidity, acceleration, position and much more.

The multi-dimensional signals are used in video and images.

The signals are often recorded in a time domain and transformed into frequency domains. This is done to analyse the frequency content so the product or machine can act based on the frequencies they receive.

We at Move Innovation are experts in digital signal processing and have worked with many different types of projects where digital signal processing is an essential part of the development. 

We often use signal processing to remove "noise" from measurements and to highlight the essentials. We have worked with ultrasound, video algorithms, measurement of sound and much more.

Data analysis

We at Move Innovation do a lot of data analysis. Most of our developments contain some form of data collection, often via a sensor. This data is being processed, we "clean" the data so it can be used or classified. This provides an overview as well as new insights and with the right technologies, for example machine learning, it is also possible to foresee future trends so that you can make targeted efforts in time.

Data processing

Data processing includes the design, development and construction of hardware and software systems. Data or various types of information are processed, structured and managed so you can make the computer behave intelligently based on the data processing systems.

 

Imaging

At Move Innovation we experience a greater demand for imaging, for both medical treatment, industrial use but also for the general consumer.

If you work with cameras or endoscopes for medical use, there are many specific requirements that must be met - we know all about these requirements.

Example the risk of infection should be considered if it isn't a disposable endoscope or product. If it is a disposable product, we ensure all the devices are uniform and economical, but at the same time comply with the requirements for patient safety.

If you want to monitor something in production, for example machine learning, the camera must be robust, as it often is a harsh environment. We have a lot of experience with this. The considerations here should be: What is essential to monitor? Is it possible to connect the camera with a cable so you don't have to worry about battery life and problems with transfer of the video. 

It is often not possible to use cables in production, but we will work out a solution that meets your needs and requirements.

We can help you with color calibration, video loading, appropriate frame rate, video algorithms, encoding, resolution and machine learning, regardless of whether it is camera solutions for medical treatment, industrial or consumer imaging.

Network software or .NET

Network software allows computers to communicate with each other or allows users to access shared programs. We use it as a framework to create different applications.

Networking software has many benefits, including increasing productivity and reducing workload, as well as providing a more efficient way for users to share information and communicate.

Network software facilitates end-user actions and is a platform that we use to develop IoT.

CI

CI means "Continuous Integration". Continuous Integration (CI) is an efficient and agile working method that we use internally at Move Innovation.

With CI, our software team works with continuous integration of the code. In this way, errors and shortcomings are discovered and corrected on an ongoing basis, rather than solving this at the end and all at once. It takes more resources to fix bugs once the code is finished, rather than earlier in the process.

The integration of the software code is often the complex part, so by integrating it continuously we experience fewer errors. It also means that we can be more productive and at the same time have an extra layer of quality assurance.

A large part of this process is automated, so once our developer has integrated the code, it is automatically tested. Build, unit tests and integration tests are carried out. Testing of the code is as important a part as the development of the code.

This way of working is particularly suitable when we work in teams, as our developers work and code in parallel, merge it into a common code, then distribute it and continue to work. This places great demands on coordination, which is why we have chosen to gather all our software engineers in-house. It ensures the quality of your development processes and at the same time minimises your development costs and time.

TDD - Test Driven Development

Test Driven Development (TDD) is a development method where the requirement is essential. Test cases are prepared based on the requirement, and the software must then be developed to be approved in the test.

We especially use this when the logic is complex, then it is a good idea to determine what the code/device must be able to do before starting on the software development. In such cases it is ideal to work with Test Driven Development.

FPGA systems

Move Innovation has developed a number of products where we combine our knowledge about FPGA systems with our expertise in mathematical tools, including Matlab. These types of products are typically used to move the knowledge from experts close to the machines.

The use of FPGA systems has created major productivity improvements and competitive advantages for our customers.

There are a number of good reasons for using FPGAs:

  • Flexibility in the design, with the option of customized external devices
  • Avoid obsolescence - FPGAs can be updated
  • Support for multiple cores
  • Hardware acceleration
  • Good and well-developed software tools

Development of FPGA systems is an important part of several of the projects we are involved in.