Embedded & Firmware

Firmware and embedded engineering for connected products

Indeema is a custom firmware development company for makers of connected devices: we take responsibility for the software inside the device, from board bring-up and drivers to BLE, Wi-Fi and LTE connectivity, field updates and the contract with your cloud and apps. 230+ engineers and 200+ connected-product projects mean you can bring us one component, the whole embedded layer, or the device’s place in the full system.

See what we take responsibility for

Where firmware problems begin

When do teams need outside firmware engineers?

  1. The board exists and no one owns its software.

  2. The firmware works in the lab and is fragile in the field.

  3. The prototype has to become a product you can update.

  4. The device and the cloud disagree about state.

  5. Your team has no RTOS, radio or low-power specialist.

  6. You have to choose the platform before you commit to it.

What Indeema takes responsibility for

What does firmware development cover?

Embedded software fails at its edges as often as in its code, so responsibility covers both. Indeema holds the verbs that fit your product, on the parts you choose.

ArchitectImplementIntegrateEvolve

Inside the device

What runs on the board.

  • Architect the runtime: task structure, RTOS choice, memory and power behavior.
  • Implement board bring-up, drivers and the application logic.
  • Integrate sensor acquisition and signal processing with the code that uses it.
  • Evolve the software as hardware revisions arrive.

At the boundaries

Where the device meets everything else.

  • Integrate the hardware interface: buses, pinout, timing and power.
  • Implement radio and protocol stacks such as BLE and Wi-Fi, and wired industrial links such as RS-485 and Modbus.
  • Architect the contract with cloud and applications: protocol, versioning and failure states.
  • Integrate protected pairing and encrypted communication where the product needs them.

Across product life

What keeps a shipped device working.

  • Architect update and recovery, so a failed update does not leave a unit unusable.
  • Implement over-the-air updates over the networks the device has.
  • Integrate validation on real hardware into the release path.
  • Evolve the firmware through updates and maintenance after release.

Interfaces Indeema owns explicitly

  1. HardwarePinout, timing and power.
  2. Radio and networkProtocols and how they behave when coverage drops.
  3. Cloud and applicationProtocol, versioning and failure states.
  4. FactoryTest and provisioning.
  5. FieldUpdate and rollback.

The work touchesRTOS (FreeRTOS, ThreadX)ESP-IDFBLEWi-FiRS-485 and ModbusMQTT over TLSOver-the-air updatesSPI and UART

A circuit board with the layers of its firmware drawn as stacked glass plates above the processor

Firmware drawn as the layers above the board it runs on.

Scope of responsibility

How much of the device software should Indeema own?

Scopes, not tiers. Embedded firmware development can start at any of them, including modernizing firmware that already ships.

  1. Discipline

    One component, done properly.

    • A driver, a protocol stack, an update mechanism or a port to a new microcontroller
  2. Layer

    The whole embedded software of a device.

    • Runtime, drivers, application logic and updates
  3. Connected layers

    The firmware and its contract with cloud and apps.

    • Device identity, protocol, versioning, failure states and app pairing
  4. Whole product

    The device as one part of the whole product.

    • Electronics, firmware, cloud and applications under one architecture
    IoT Product Engineering

At every scopeArchitectImplementIntegrateEvolve

Scope follows where the problem is, not the size of the engagement.

Method and handover

How does firmware development work from prototype to field updates?

Eight gates, from constraints to the field. Each ends with something your team can read, run or check.

  1. ConstraintsConstraint record
  2. ArchitectureArchitecture record
  3. Bring-upBoards running, with notes
  4. ImplementationReviewed source and build instructions
  1. IntegrationInterface specification
  2. Validation on hardwareTest reports
  3. Release and updateRelease and update plan
  4. Field supportDocumented recovery path

Handover is planned from the first gate, including how over-the-air updates and recovery will work. Contents are agreed for each engagement.

What this has looked like

Four situations, and what Indeema owned in each

Client names and figures are not shown.

  1. LayerRescuing existing firmware

    A telemetry unit had hardware, but only very basic embedded software.

    Indeema owned
    The firmware architecture and an RTOS real-time application: modem start-up, a telemetry queue for coverage gaps, and an update flow designed not to brick the unit.
    What changed
    The basic code was replaced by an application with the features the product needed.
    Vehicle telemetry unit
  2. Connected layersFirmware with field updates

    An elevator-monitoring device had to stay connected and current over LTE or Wi-Fi.

    Indeema owned
    An embedded framework on an RTOS with trip-detection logic, an RS-485 link to an energy meter, and over-the-air updates over either network.
    What changed
    A maintenance plan built around regular firmware updates.
    Elevator monitoring device
  3. LayerPlatform validation to prototype

    A proposed system-on-chip had not been proven for streaming analog camera video.

    Indeema owned
    Display, camera and audio bring-up, video encoding, and a custom streaming component where the vendor’s fell short.
    What changed
    A working prototype showed the platform was suitable, with the architecture laid out for what followed.
    Video intercom prototype
  4. LayerModernizing a shipped device

    A sensor unit’s firmware sat on an older framework and could not be re-flashed once assembled.

    Indeema owned
    USB programming without opening the enclosure, a move from serial Bluetooth to BLE with protected pairing, and migration to the chip vendor’s native framework.
    What changed
    The firmware became updatable, including over the air, and pairing became secure.
    Sensor unit modernization

Reading: Solving drone firmware integrity and connectivity

FAQ

Firmware development questions

  1. What is the process of firmware development?

    Firmware development starts with the system requirements and the hardware, then moves through architecture, implementation, board bring-up, testing and debugging on the target hardware, integration with the rest of the product, and release. After release, firmware needs maintenance and over-the-air updates for as long as devices are in the field.

  2. How long does it take to develop custom firmware?

    It ranges from a few weeks for a bounded change to many months for a new product, depending on the hardware maturity, connectivity, the number of features, the update mechanism and the validation required. We plan in stages, with working firmware on the target early.

  3. What are the benefits of working with an external firmware development team?

    A specialist team brings established processes for architecture, testing on hardware and release, which reduces the risk of errors and delays, and lets your own engineers concentrate on the product. It helps most when the team also understands the hardware, the connectivity and the cloud the firmware works with.

  4. Do you develop firmware with an RTOS?

    Yes. Firmware for connected products is often built on a real-time operating system, with tasks for connectivity, sensing and control, and a defined approach to timing, memory and power. The choice of RTOS follows the microcontroller and the product’s requirements.

  5. Can you take over existing firmware?

    Yes. We start by reviewing the code, the build and the hardware it runs on, then fix, extend or migrate it, for example to a current framework, while keeping devices already in the field updatable.

Ways to work with Indeema

Start with your device

  1. Engineering ownership

    Indeema is accountable for a defined scope, from architecture to evolving what it built. You decide at agreed gates.

  2. Joint product team

    Indeema engineers work inside your product team, on your roadmap and against interfaces you both own.

Also available: specialist team extension. One scarce specialty joins a team you lead.

Bring us

  • The board, or the plan for one
  • What it must do, and where it fails
  • The radio, cloud and app interfaces you have
  • The part you want owned
Discuss your firmware scope

Where the boundary sits

Sector context: Drones & UAV · Smart home · Energy