Embedded programming

We have about 7 years of embedded programming experience, mostly with large microcontrollers and middle-sized DSP (Digital Signal Processor) chips.

Main areas of expertise include:

  • Image processing
  • High speed Data transfer
  • Data encryption and Security
  • Video and Audio encoding/decoding
  • Hardware Control and Data acquisition

Most of the projects were written in C language, sometimes using Assembly language because of the speed considerations.

Also, we have some experience of digital PCB design and production, so we can easily develop a hardware solution and software solution at the same time.

Image processing

We can develop the software specially tailored for contemporary DSP chips to allow them to perform various calculations on the captured video data or computer generated images — FFT, matrix filtering, smoothing and sharpening. Also, more sophisticated systems like motion detection or image recognition can be designed for partucular purpose.

High speed Data transfer

Probably not as efficient as specialized CPLD/FPGA solutions, embedded microcontrollers are widely used for high speed data exchange with the complicated data conversion on the way. Microcontrollers and DSPs give additional flexibility and the important ability to change the data conversion patterns very quick and in a very convenient way.

Data encryption and Security

Embedded solutions are wide used for data encryption and data security using error correction codes. We have experience in data stream analysis and data recovery in case of noisy communication channels.

Video and Audio encoding/decoding

Dedicated embedded circuitry can be programmed to perform some specialized tasks on the video or audio streams — extract some parts of the stream, reencode, remultiplex, change frame rate or sampling frequency.

Hardware Control and Data acquisition

We can develop the combined data acquisition and control system, which accepts the data streams from several different sources, makes some decisions and changes in the controlled environment. Examples include temperature monitoring, safety devices, automatic proximity warnings and others.