Connected systems built to work in the real world

Embedded software and IoT systems engineered for reliable performance, seamless connectivity and long-term operation.

The complete connected product

A connected product combines software on the device, cloud services and the applications used to manage it. We develop the firmware, connections and data flows that allow those parts to work together as one system.

Device identity, secure updates, monitoring and fleet management are built into the system from the start. This gives operators a clear view of the product in the field and a reliable foundation for long-term operation.

Areas of expertise

  • Firmware & embedded software

    Developing software for connected devices, including operating-system and hardware integration and efficient use of processing, memory and power.

  • Device connectivity

    Connecting devices with each other, gateways, cloud services and other systems through reliable wired and wireless communication.

  • Edge processing & control

    Enabling local processing, automation and machine learning for real-time response and continued operation without a constant connection.

  • Cloud services & applications

    Building cloud services, data pipelines, integrations and applications that support connected products.

  • Device lifecycle & fleet management

    Provisioning and configuring devices, monitoring fleet health, delivering secure updates and supporting products throughout their operational life.

  • Security & validation

    Protecting devices, data and communications, validating behaviour on real hardware and documenting evidence for certification or regulated environments.

How we work

  • Engineering decisions based on device constraints

    Processing power, memory, energy use and timing requirements guide decisions about firmware, edge processing and connected services. Measurements on target hardware confirm the assumptions that affect the design.

  • Interfaces defined across the complete system

    Data formats, commands and versioning are defined across devices, gateways, cloud services and applications. Clear interfaces allow each part to develop independently while preserving compatibility across the product.

  • Behaviour tested under realistic conditions

    The complete system is tested with the connectivity, power conditions, timing and interruptions it is expected to handle. Recovery and offline behaviour are checked alongside normal device operation.

  • Security considered across the device lifecycle

    Device identity, access, data protection and communication are designed around the product’s risks and operating environment. Provisioning and configuration establish trusted devices and restrict access to authorised systems.

  • Monitoring and updates planned together

    Software versions, device state and connection health are made visible in operation. Updates are monitored, recoverable and compatible with hardware, configuration and service versions already in use.

Tools and technologies

A selection of tools we use, chosen to fit the work and existing systems.

Firmware

  • C
  • C++
  • Rust
  • ESP32
  • STM32
  • FreeRTOS
  • Zephyr

Connectivity

  • Bluetooth Low Energy
  • MQTT
  • Cellular
  • Modbus
  • CAN

Edge

  • Embedded Linux
  • Yocto
  • Python
  • TensorFlow Lite

Updates & fleet

  • AWS IoT
  • Azure IoT
  • Mender
  • InfluxDB
  • Grafana

Questions, answered

  • Our service covers embedded software, connectivity and the services and applications around connected devices. Where electronics design is needed, we work with the hardware team or partner and define the interfaces and constraints together.

  • Yes. We assess the hardware, firmware, interfaces and update options before recommending changes. Some improvements may be possible in software; others depend on the capabilities and access available on devices already in use.

  • That depends on what the device must continue doing. We define which functions run locally, how data is stored, and how the device recovers and synchronises after a connection returns.

  • Yes. We can take responsibility for a defined part of the system or work across the connected product. Interfaces, data formats and ownership are agreed with the teams responsible for the other parts.

  • Security and updates are designed around the device’s capabilities and operating environment. We address device identity, access, protected communication, software versions and a practical way to deliver and verify updates across the fleet.

A few engagements we’re proud of. Shipped, scaled, and still in production.

  • The EnergijaSOL dashboard showing live grid and battery power, state of charge, and the charge schedule

    EnergijaSOL

    Battery control and solar energy management software

  • FlowMeter App on two phones: live flow, pressure and temperature readings under a measurement chart, next to the list of connected instruments

    IMT Analytics

    Mobile software connecting medical test instruments

  • The Hyperice app open on a phone, beside a Hyperice massage gun

    Hyperice

    Backend rewrite for the HyperSmart app, four weeks before launch

Tell us what you’re building.

The complex, the critical, the bold. We’ll tell you how we’d ship it.