We use technology as a powerful tugboat to get you where you want to be. Whether you need to manoeuvre the large ship of your business or rescue a lost swimmer and bring them safely to the shore of success, we get the job done.
We use technology as a powerful tugboat to get you where you want to be. Whether you need to manoeuvre the large ship of your business or rescue a lost swimmer and bring them safely to the shore of success, we get the job done.
Our core experience is in C / C++ (STL, Boost, Qt), Python, and Java. We continuously expand our skills with additional languages such as Rust and Nim, and we maintain working knowledge of Perl, Lua, PHP, Object Pascal, JavaScript, Tcl, Ruby, R, and a wide range of shell and scripting environments.
When required, we are not hesitant to learn new languages, frameworks, or toolchains to deliver the solution. We have strong expertise in optimisation, performance-critical systems, offline machine learning (so-called AI), and embedded development on Yocto-based Linux systems and other environments.
Software and hardware testing
We follow test-driven development practices where applicable and apply thorough unit testing at module level. We design and implement regression and integration testing using maintainable, behaviour-driven test scripts.
When necessary, we also design and build custom test tools, fixtures, and hardware test rigs.
Operating systems
We primarily work with Linux on x86_64 and ARM architectures. We support nearly all Linux distributions, including custom embedded systems built from scratch using Yocto and OpenEmbedded, and we have extensive hands-on experience designing, maintaining, and optimising Yocto-based Linux platforms. We have a preference for Red Hat and Debian / Ubuntu–based distributions.
We are also experienced with Windows 32/64, including Windows 11 LT(SB/SC) IoT Embedded on ARM and Intel/AMD platforms.
Bare-metal development, FreeRTOS (primarily on ARM, but also on RISC, MIPS, and DSP architectures such as the Blackfin series), and other RTOS environments are among our core specialities.
Safety, Security and Reliability
We design and develop systems with safety, security, and reliability as fundamental requirements, particularly for industrial, embedded, and medical applications where failures have real-world consequences.
Our work aligns with common industry and medical-domain expectations, including:
Secure system architecture and structured threat modelling
Cryptography and encryption, including secure key management and storage
Secure boot, firmware signing, and controlled update mechanisms
System hardening for Linux-, RTOS-, and bare-metal-based platforms
Network and protocol security, including industrial and fieldbus environments
Authentication, authorisation, and access control
Data integrity, traceability, and auditability, supporting regulated workflows
Safety-critical design practices, including defensive programming, fault detection, and graceful degradation
We have particular experience with offline and embedded systems, where security and safety must be designed in from the outset and cannot rely on continuous connectivity or external services.
Our approach supports development in environments subject to regulatory, quality, and compliance expectations, without compromising performance or maintainability.
Innovation and product development consultancy
We provide innovation and product development consultancy and have references and hands-on experience in the following fields:
Network architecture and devices
Medical devices
Image processing
Deep-sea measurement systems
Customised HMI development
Position-tracking systems
Tomography
Ultrasonic detection
X-ray devices
Flow control systems
Rapid prototyping
Laser interferometry
Load balancing
Wireless power transfer
Industrial printing technologies
Machine learning (AI)–powered robotics systems
We work comfortably with anything from minimal text editors to full-featured IDEs. Our experience includes Eclipse, Visual Studio, NetBeans, Lazarus, and Xcode, with a preference for Visual Studio Code and JetBrains tools such as IntelliJ IDEA, CLion, and PyCharm.
Version Control
We primarily use Git, hosted on GitHub, Bitbucket, and custom on-premise or cloud servers. Subversion (SVN) is supported when required. We also have experience with Darcs, Mercurial, CVS, and IBM Jazz / RTC.
Software Production Management and CI
Atlassian Jira and its ecosystem (Confluence, Crucible, Fisheye) form the backbone of our development workflow. We are also familiar with Oracle Agile PLM (including API development) and IBM RTC.
For continuous integration, we mainly use Jenkins (Pipelines, Blue Ocean), while remaining flexible toward alternative CI solutions. We also have prior experience with Trac, Mantis, and Redmine.
We provide ongoing support and maintenance services, including development resource management and long-term system care.
Development Management Methodologies
Agile (preferred), including Scrum Mastering
Unmanaged systems and Waterfall projects — with a strong preference for guiding and supporting migration toward managed, agile-based processes
Databases
We work with modern relational databases such as MySQL / MariaDB, PostgreSQL, Oracle, and Microsoft SQL Server, as well as lightweight embedded solutions like SQLite.
We also have experience with NoSQL and distributed data stores, including MongoDB and CouchDB, and are comfortable selecting data-storage technologies based on consistency, performance, scalability, and deployment constraints.
For embedded, edge, and offline systems, we design data layers with a focus on reliability, durability, efficient storage, and long-term maintainability, rather than relying on cloud-only assumptions.
Protocols
Industrial protocols are a primary focus of our work. We have in-depth knowledge of fieldbus and industrial communication protocols, including CAN bus, RS-485, and modern industrial Ethernet technologies such as EtherNet/IP and OPC UA.
We also have strong expertise in networking protocols ranging from low-level Ethernet through IP-layer protocols (TCP, UDP) to more complex systems such as BGP and transport-specific technologies like DOCSIS.
We have extensive experience in security and encryption, and we design, implement, and maintain industry-specific protocol stacks and modules, including medical protocols such as DICOM and HL7.
Virtualisation and cloud
We primarily use Docker and KVM as our preferred technologies for containerisation and virtualisation, both in development and production environments.
For local and system-level virtualisation, we also work with VMware, VirtualBox, Parallels, and QEMU, selecting tools based on performance, isolation, and platform constraints.
In cloud environments, we have solid hands-on experience with AWS, Microsoft Azure, and DigitalOcean, including hybrid and self-hosted setups where cloud services integrate with on-premise or embedded systems.
Our approach prioritises reliability, reproducibility, and control over the execution environment, with a strong focus on security, performance, and long-term maintainability.
We design virtualised and containerised systems that support CI/CD pipelines, automated testing, and scalable deployment, while remaining suitable for offline, edge, and industrial environments where cloud dependencies may be limited or undesirable.
We have a scalable, fully agile team base that can easily adapt to projects ranging from early-stage ideas and small developments to large, enterprise-level systems.
To discuss your requirements or request a quotation, please contact us at info@innoex.co.uk.