New product
Establish the requirements, architecture, and technical direction from the outset, so early decisions support both the product’s function and its expected lifetime.
Embedded Linux · real-time · product software · lifecycle engineering
Embiox takes technical responsibility for a coherent solution adapted to the product's specific needs and developed through considered decisions, realistic planning, and dependable delivery.
Based in Støvring, approximately 20 km south of Aalborg, Denmark
When an embedded product leaves the development bench, the long part of the work begins. Its software must do more than function at the first release. It must remain understandable, buildable, testable, diagnosable, updatable, and practical to extend – even as hardware, dependencies, legislation, and requirements change.
Embiox therefore considers architecture, the development environment, diagnostics, updates, and maintenance from the beginning. This reduces technical risk and technical debt, while giving the product company greater control throughout the product’s lifetime.
Establish the requirements, architecture, and technical direction from the outset, so early decisions support both the product’s function and its expected lifetime.
Move a working prototype through validation, production, and launch without losing control of the early technical decisions.
Regain an overview of the platform, software, and dependencies so the product can be stabilised, taken over, or developed further without discarding what already works.
Embiox can take responsibility for the complete software delivery, participate as an accountable part of a broader collaboration, or contribute specialised expertise to an existing solution. The scope is adapted to the product and the company’s needs.
Yocto-based Linux platforms, BSP adaptation, and integration of the bootloader, operating system, drivers, hardware, and devices. Embiox can take the platform from board bring-up to a production-ready platform adapted to the product’s hardware, functions, and expected lifetime.
Application software, low-level drivers, APIs, and communication layers for embedded Linux, microcontrollers, and RTOS. The architecture is designed around clear interfaces, predictable behaviour, robustness, performance, and practical debugging.
Versioned Linux- and Docker-based environments, controlled tools, and automated build, test, and release processes. Each delivery should remain identifiable, reproducible, and practical for others to take over without depending on a particular development machine or person.
Secure and traceable firmware and system updates, known dependencies, and mechanisms for handling vulnerabilities. Together, these provide a practical basis for diagnostics, support, and long-term maintenance of products in the field.
Embiox also contributes targeted specialist expertise to a company’s existing development work. This can include complex debugging, code or architecture reviews, reducing technical debt, or providing technical guidance on difficult decisions.
When a field failure or another critical problem requires rapid clarification, Embiox can conduct a focused technical investigation to establish the symptoms, likely causes, and relevant next steps.
Workshops, teaching, and knowledge transfer can be adapted to the company’s products, technical context, and specific needs.
Engineering principles
Good embedded software comes from disciplined simplicity. Embiox favours clear layers, focused components, explicit interfaces, and controlled dependencies. System components are decoupled wherever practical so each part can be understood, tested, diagnosed, and changed without destabilising the rest of the product.
Correctness is prioritised over cleverness. Decisions are grounded in measurements, reproducible evidence, and a clear understanding of the trade-offs. Uncertainty and technical risk are communicated directly—even when the findings are inconvenient.
Embiox does not build every solution from scratch. Proven methods, tools, and technical building blocks from previous work provide a known starting point, allowing the effort to focus on what makes the product unique.
That starting point is adapted to the product’s hardware, functions, requirements, and risk profile, reducing technical unknowns and creating a more predictable path from idea to product without forcing the product into a standard solution.
The Linux platform is organised in clear layers that separate hardware support, the operating system, and product configuration. This provides control from boot and hardware integration through to the finished platform.
Clear boundaries make parts of the platform easier to adapt or replace when the hardware or product requirements change.
General improvements and fixes can flow back into the shared platform foundation, allowing multiple products to benefit from the same learning in a traceable and controlled way – without mixing customer-specific code or responsibilities.
Product software is divided into components with explicit responsibilities, interfaces, and data flows. This makes the system’s behaviour easier to understand, test, and diagnose – even as the product grows or gains new functions.
The architecture is adapted to the task while building on considered principles that keep complexity under control.
Development environments, tools, and dependencies are versioned in controlled, containerised environments. This limits differences between developers and automated builds and makes the delivery less dependent on a particular person or machine.
A previous delivery should remain practical to reproduce, investigate, and continue when it is needed later.
Built for the product lifetime
The product lifetime is considered in the engineering work from the outset rather than treated as a separate compliance layer. The solution should therefore remain practical to understand, change, and maintain as the product, its dependencies, and its requirements change.
This is good product engineering first. It also strengthens the manufacturer’s technical basis for product security, documentation, and obligations such as the EU Cyber Resilience Act (CRA).
We begin with the product and the business need. The product boundary, known and unknown requirements, significant risks, technical constraints, and expected lifetime are translated into the decisions that will shape the delivery.
Typical result: A shared basis for decisions, a clear architectural direction, and a realistic plan for the work ahead.
Embiox adapts the technical starting point and develops the product-specific parts as one coherent solution. Architecture, interfaces, and important decisions are made explicit so the delivery can be understood, verified, and continued.
Typical result: A coherent software delivery adapted to the product and ready for production or the next development stage.
After launch, Embiox can continue to take responsibility for the platform and its technical evolution. New needs, product variants, and changing requirements can be addressed without losing overview or architectural coherence.
Typical result: Continuity, predictable change, and an agreed model for responsibility and support.
Embedded software is Embiox’s primary discipline, but it is developed as part of a complete product, not in isolation. Close collaboration with the customer’s own teams, manufacturers, and other suppliers is therefore a natural part of the work.
Software is often brought in only after the main hardware decisions have been made. Embiox prefers to be involved early, allowing software requirements to inform hardware and platform choices, interfaces, testability, production, updates, security, and the expected product lifetime. This helps avoid unnecessary constraints and expensive changes later in development.
When a project requires expertise in hardware design, RF, mechanics, compliance, or another specialist discipline, Embiox can involve trusted specialists from its network. Where agreed, Embiox can coordinate their contributions and take responsibility for the technical coherence, interfaces between disciplines, and a shared delivery plan. If the customer already has the necessary expertise or preferred suppliers, Embiox readily works as part of that setup.
Embiox’s method is shaped by practical work on embedded products – from new platforms and real-time systems to taking over existing solutions and investigating cases where timing, performance, or reliability does not meet expectations.
Selected experience:
Embiox ApS is an embedded software company based in Støvring near Aalborg, Denmark. The company was founded in 2021 by Daniel Mandrup.
The name Embiox combines emb from embedded with IoX, short for Internet of Everything. It reflects the company’s focus on software close to the hardware and on the interfaces that enable products, devices, and systems to work together.
Embiox was created to provide direct technical responsibility and build close, long-term relationships with product companies. The aim is to understand both the product and the company’s needs, make durable technical decisions, and deliver solutions that can evolve throughout the product lifetime.
Daniel founded Embiox and has day-to-day technical responsibility for the company's deliveries. He holds an M.Sc. in Electrical Engineering – Networks and Distributed Systems from Aalborg University (2016) and has more than ten years of experience developing embedded systems.Customers work directly with Daniel, and his background shapes Embiox’s practical, structured, and long-term approach to product development.
You do not need to have every requirement or technical choice in place. Briefly describe where the product is today and what you want to achieve – then the first conversation can clarify the most important questions and a possible next step.