Embedded Software Development

 

Spark Product Innovation develops embedded software for demanding industrial and scientific applications. Our UK engineering team combines firmware and electronics expertise to deliver reliable, deterministic and fully integrated embedded systems.

Scroll Down to Learn More >

Embedded software often sits at the point where electronics, physics and real-world machinery come together.

A successful solution requires more than writing code. The software must interact correctly with sensors, actuators, power electronics, communications interfaces and custom hardware, often while meeting tight timing, safety, environmental and reliability constraints.

Our embedded software engineers work closely with our electronics, FPGA, mechanical and test teams to develop complete solutions rather than treating hardware and software as separate activities.

We can support a complete product development or work alongside your existing engineering team on a defined part of the system

How Can Spark Help?

UK Hardware and Software Developed Together

One of Spark’s key strengths is our ability to develop electronics and embedded software within the same UK-based engineering team.

Our software engineers work directly with the engineers designing the circuits, allowing the complete embedded system to be developed, integrated and tested as one. This helps ensure that processor selection, software architecture, interfaces, diagnostics and test features are considered alongside the electronics from the beginning of the project.

Developing the hardware and software together provides several practical advantages:

  • • Faster prototype board bring-up
  • • Earlier identification of hardware and software risks
  • • Easier investigation of timing, interface and signal-integrity issues
  • • Better integration of sensors, actuators and communications
  • • Test and diagnostic features designed into the product
  • • Clear responsibility for the performance of the complete system

Our engineering laboratory at the Bristol & Bath Science Park allows software to be tested against real electronics, sensors, loads and communications interfaces rather than relying solely on simulation.

Depending on the project, our facilities can support:

  • • Prototype board bring-up
  • • Oscilloscope and logic-analyser testing
  • • Precision electrical measurements
  • • Communications analysis
  • • Power-supply and load testing
  • • Motor and actuator testing
  • • Hardware-in-the-loop testing
  • • Automated test development
  • • Environmental and high-temperature testing
  • • Fault investigation and production-test support

This combined hardware, software and laboratory capability is particularly valuable for technically demanding industrial and scientific applications where performance depends on the interaction between the code, electronics and physical system.

Where Science Meets Engineering

Many of our projects involve converting a scientific principle, measurement technique or physical process into a reliable engineered product.

We are particularly well suited to projects where the embedded software must interact with specialist electronics, sensors or machinery and where there is not an off-the-shelf solution.

Typical application areas include:

  • • Scientific instruments
  • • Industrial sensing and monitoring
  • • High-temperature electronics
  • • Subsea and offshore equipment
  • • Test and measurement systems
  • • Non-destructive testing
  • • Precision data acquisition
  • • Motor drives and power electronics
  • • Industrial automation
  • • Environmental monitoring
  • • Radar, lidar and optical sensing
  • • High-speed timing systems
  • • Specialist communications equipment

These projects often require an understanding of the underlying physics as well as the electronics and software needed to implement it.

Bare-Metal Firmware

For systems requiring close control of hardware, low overheads and predictable execution, we develop bare-metal firmware directly around the target microcontroller.

Typical work includes:

  • • Peripheral configuration and low-level drivers
  • • Interrupt-driven software
  • • State-machine development
  • • Startup and boot code
  • • Timing-critical control
  • • Low-power operation
  • • Fault handling and diagnostics
  • • Hardware abstraction layers
  • • Board support software

Real-Time Operating Systems

For more complex embedded systems, we develop software using real-time operating systems to manage multiple tasks, communications channels and control functions.

Our RTOS development experience includes:

  • • Real-time software architecture
  • • Task and priority design
  • • Inter-task communications
  • • Interrupt handling
  • • Resource and memory management
  • • Watchdogs and fault recovery
  • • Timing and latency analysis
  • • Deterministic system behaviour
  • • Driver and middleware integration

We take care to ensure that the use of an RTOS improves the structure and maintainability of the system without compromising its real-time performance.

Deterministic and Real-Time Control

Embedded software often sits at the point where electronics, physics and real-world machinery come together.

Many industrial and scientific systems depend on events occurring within clearly defined time limits.

We develop deterministic embedded software for applications involving:

  • • Precision timing
  • • High-speed measurement
  • • Closed-loop control
  • • Sensor acquisition
  • • Industrial machinery
  • • Power conversion
  • • Motor drives
  • • Synchronised communications
  • • Automated test equipment

Our combined hardware and software capability allows timing performance to be assessed across the complete system, including processor loading, interrupts, peripherals, communications and external electronics.

Motor-Control Firmware

Spark develops embedded software for brushed DC, brushless DC and other electrically driven systems.

Our motor-control capabilities include:

  • • BLDC commutation
  • • PWM generation
  • • Current and voltage measurement
  • • Hall-effect and encoder feedback
  • • Speed and position control
  • • PID control loops
  • • Motor protection
  • • Startup and shutdown sequencing
  • • Power-stage monitoring
  • • Fault detection and recovery
  • • Communications and diagnostics

Because our team also designs motor-drive electronics and power-conversion systems, we can develop and commission the complete control system rather than the firmware in isolation.

 

Microcontroller Platforms

We have experience developing embedded software for a broad range of 32-bit microcontrollers and digital signal controllers.

We also support other processor families where they offer the best technical or commercial solution for the product.

Processor selection is based on the complete system requirement, including:

  • • Processing performance
  • • Deterministic timing
  • • Peripheral availability
  • • Analogue capability
  • • Power consumption
  • • Safety features
  • • Environmental rating
  • • Component lifecycle
  • • Development tools
  • • Cost and availability

STMicroelectronics

  • • STM32 microcontrollers
  • • ARM Cortex-M platforms
  • • STM32Cube development tools
  • • Bare-metal and RTOS applications
  • • Communications, control and data-acquisition systems

Microchip

  • • PIC and dsPIC devices
  • • SAM ARM microcontrollers
  • • Motor-control and power-conversion applications
  • • Real-time control
  • • Communications and mixed-signal systems

Texas Instruments

  • • C2000 real-time microcontrollers
  • • MSP430 and ARM-based devices
  • • Motor control
  • • Digital power
  • • Precision measurement
  • • Industrial control systems

Discuss Your Embedded Software Requirements

Whether you require complete embedded-system development, specialist firmware expertise or help solving a difficult hardware/software problem, our engineers can review your requirements and advise on a practical development approach.

Speak to an Embedded Software Engineer

Contact

Embedded Software Development

Spark Product Innovation develops embedded software and firmware for industrial, high-reliability and technology-driven products, working closely with the electronics hardware to deliver complete embedded systems.

Our experience covers microcontrollers, embedded processors, FPGA-based platforms, motor control, connected devices and embedded graphical interfaces. Because our software and electronics engineers work together, hardware, firmware and system architecture can be developed as one integrated solution.

Embedded software development and firmware debugging

Industrial & High-Reliability Embedded Software

Embedded software used in industrial and high-reliability products needs to do more than simply function. The architecture, implementation, verification and documentation all need to support predictable operation throughout the life of the product.

Spark can support embedded software development for projects operating within controlled engineering and safety-related environments, including projects with requirements derived from standards such as DO-178B/C and IEC 61508.

  • Structured embedded software architecture.
  • Deterministic and real-time control.
  • Defensive programming and fault handling.
  • Hardware monitoring and diagnostics.
  • Watchdogs, recovery and safe-state behaviour.
  • Requirements-driven development and verification.
  • Software documentation and configuration control.
  • Long-term maintenance and technology refresh.
High reliability embedded software development and verification
AMD Xilinx Zynq FPGA development platform

FPGA Development

FPGA devices provide deterministic parallel processing for applications where conventional microcontrollers or processors cannot meet the required timing, interface or data-processing performance.

Spark has experience developing FPGA-based systems using AMD Xilinx device families including Zynq, Artix and Spartan, with the FPGA, embedded processing and surrounding electronics considered as part of the complete system architecture.

  • AMD Xilinx Zynq SoC development.
  • Artix and Spartan FPGA platforms.
  • MicroBlaze embedded processor integration.
  • High-speed digital interfaces.
  • Real-time control and timing applications.
  • Digital signal processing and parallel data processing.
  • FPGA-to-processor and peripheral interfaces.
  • Existing FPGA design maintenance and technology refresh.

Technology Refresh & Obsolescence Management

Successful products can remain in production for many years, often long enough for processors, FPGAs, electronic components, operating systems or development tools to become obsolete.

Obsolescence rarely affects software or hardware in isolation. Replacing one component can trigger changes to drivers, interfaces, firmware, processor architecture, PCB design and product verification.

Spark has experience across both embedded software and electronics hardware, allowing us to assess the product as a complete system and identify the most practical and cost-effective route forward.

  • Processor and FPGA migration.
  • Legacy firmware assessment.
  • Hardware and software impact analysis.
  • Replacement component selection.
  • Driver and peripheral migration.
  • Product re-verification and regression testing.
  • Long-term obsolescence roadmaps.
Electronic component obsolescence and technology refresh PCB dual footprint design for component obsolescence management
Motor control power electronics and embedded control system

Embedded Motor Control Software

Motor control brings together real-time embedded software, sensing, power electronics and control algorithms. Spark develops embedded control software for BLDC and other motor-drive applications alongside the associated electronics and inverter hardware.

Systems can be developed for both sensored and sensorless operation, with feedback and commutation strategies selected around the required speed range, torque performance, efficiency and application.

  • Sensored and sensorless BLDC control.
  • Resolver feedback.
  • Encoder feedback.
  • Rotor position and speed measurement.
  • Space Vector Modulation (SVM).
  • Real-time control loops.
  • Fault detection and protection.
  • Integration with motor-drive power electronics.
View Motor Drive Capabilities

Embedded Graphical User Interfaces

A modern embedded product may require more than buttons and status LEDs. Spark can develop graphical user interfaces that provide clear, responsive interaction directly on the embedded product.

Touchscreen interfaces can combine product configuration, live data, diagnostics and control within a user experience designed around the hardware and the application.

  • Embedded touchscreen interfaces.
  • Product configuration and setup screens.
  • Live data and status display.
  • Diagnostics and service interfaces.
  • Responsive controls and smooth screen transitions.
  • Integration with embedded hardware and application firmware.
LVGL embedded graphical user interface development
Microcontroller and embedded firmware development hardware

Microcontroller & Embedded Firmware Development

Many embedded products are built around microcontrollers rather than large processing platforms. Spark develops firmware alongside the electronics, allowing processor selection, peripheral architecture and software design to be considered together from the beginning of the project.

  • STM32 and ARM Cortex-M firmware development.
  • ESP32 firmware for Wi-Fi and Bluetooth products.
  • Real-time control and peripheral management.
  • ADC, DAC and sensor integration.
  • UART, SPI, I²C and CAN communications.
  • Bootloaders and firmware update systems.
  • Low-power and battery-operated systems.
  • Hardware bring-up and embedded debugging.

Microcontroller Platforms & Development Ecosystems

Spark has experience developing embedded software for a broad range of 32-bit microcontrollers and digital signal controllers. We work across established embedded platforms and also support other processor families where they provide the best technical or commercial solution for the product.

Processor selection is based on the complete system requirement rather than preference for a particular manufacturer. We consider the processing, timing, peripheral, power and environmental requirements alongside component lifecycle, development tools, cost and availability.

  • Processing performance.
  • Deterministic timing.
  • Peripheral availability.
  • Analogue capability.
  • Power consumption.
  • Safety features.
  • Environmental rating.
  • Component lifecycle.
  • Development tools.
  • Cost and availability.

STMicroelectronics

  • STM32 microcontrollers.
  • ARM Cortex-M platforms.
  • STM32Cube development tools.
  • Bare-metal and RTOS applications.
  • Communications, control and data-acquisition systems.

Microchip

  • PIC and dsPIC devices.
  • SAM ARM microcontrollers.
  • Motor-control and power-conversion applications.
  • Real-time control.
  • Communications and mixed-signal systems.

Texas Instruments

  • C2000 real-time microcontrollers.
  • MSP430 and ARM-based devices.
  • Motor control.
  • Digital power.
  • Precision measurement.
  • Industrial control systems.

Connected & Low-Power Embedded Systems

Alongside our core industrial, FPGA and control-system work, Spark also develops connected and low-power embedded products.

Low-Power Systems

Hardware and firmware strategies for battery-powered products where sleep states, wake behaviour and careful peripheral management are critical to achieving long operating life.

IoT & Wireless Systems

Embedded connectivity for remote monitoring, telemetry and control, including platforms using LoRaWAN, cellular, NB-IoT and LTE Cat-M1.

Bluetooth

Bluetooth and Bluetooth Low Energy integration for configuration, product communication, sensor interfaces and low-power connected devices.

Embedded Software Maintenance & Existing Products

Not every project starts with a clean sheet. Spark can take on existing embedded products where software needs to be maintained, extended or modified to support new hardware.

We can review the existing codebase and hardware, define the required changes and establish a practical development and verification plan. Software updates can then be managed through a structured ticket-based workflow with clear priorities and progress tracking.

Engagement can be structured around a defined project or as a flexible block of engineering time for ongoing software maintenance and support.

Embedded Software Development Services

Explore our specialist embedded software capabilities in more detail.

Embedded Software Development FAQs

Common questions about embedded software, firmware, FPGA development, motor control and existing product support.

Which embedded processors and platforms can Spark develop for?

Our experience includes STM32 and other ARM-based microcontrollers, ESP32 connected devices, Microchip PIC, dsPIC and SAM devices, Texas Instruments microcontrollers and AMD Xilinx FPGA platforms including Zynq, Artix and Spartan. The platform is selected around the processing, interface, power, cost and lifecycle requirements of the product.

Can you develop software for high-reliability applications?

Yes. Spark can support embedded software projects requiring structured, traceable development and verification processes, including projects operating with requirements derived from standards such as DO-178B/C and IEC 61508.

Can you update a product affected by obsolete hardware or software?

Yes. Because Spark works across both electronics and embedded software, we can assess the impact of obsolete processors, FPGAs, peripherals or software platforms and plan a practical migration without treating the hardware and software as separate problems.

Can you develop embedded motor control software?

Yes. Our motor-control capability includes BLDC systems using sensored and sensorless control, resolver and encoder feedback, real-time control loops and techniques such as Space Vector Modulation.

Can you take over an existing firmware codebase?

Yes. We can review an existing product and codebase, identify the required changes and provide ongoing maintenance, debugging, feature development or hardware-migration support.

Do you develop the electronics hardware as well as the embedded software?

Yes. Spark develops both electronics and embedded software, allowing processor selection, interfaces, PCB design, firmware and verification to be considered together as part of the complete product architecture.

Discuss Your Embedded Software Project

Whether you need firmware for a new product, FPGA development, motor control, technology refresh or support for an existing codebase, Spark Product Innovation can combine software and electronics expertise to develop the complete embedded solution.

Contact Spark Product Innovation