Device Software Engineering

If you are looking for assistance with device software development, we can help.

 

Embedded, Cloud & Mobile

 

From low-level embedded hardware support right through to high level UI design and cloud infrastructure, we have expertise and experience in every aspect of the software required to power great device products. We can use this to help create products that are fit for market, fit for use and fit for their users.

 

Embedded Software

Looking After the Hard Stuff for All Types of Devices

From tiny bare metal microcontroller systems to high-end PC-like and FPGA utilising products. From Bluetooth LE to Ethernet. We know what’s required to support device products.

Low-Level Hardware Support

We specialize in undertaking the final preparation work required to ensure that the existing vendor and open source hardware platform support meets requirements, performs correctly and is well tuned for the specific device.

This work is generally a combination of specific board support implementation, device driver configuration and additions, as well as configuration and fine-tuning of other critical software components.

Task-Specific Apps

We have strong experience in developing applications for task-specific embedded devices.

The Complete Package

We can cover all areas of device software - from drivers to UI. Whatever area we’re working on, we’ll always keep your end goal and end users in mind.

 

Key Tech

  • ARM processors — microcontrollers, application processors and everything they connect to

  • Linux — from the OS and drivers to applications and their development environment

  • Android OS — porting and customization to support its use on more than just mobile phones

  • Bluetooth — Classic and LE on embedded devices as well as talking to mobile devices

  • USB — both firmware for USB devices and their PC-side support

Cloud Backends

Online Infrastructure to Power Connected Device Products

We can design cloud backends based on AWS services to provide the connecting infrastructure needed to power your product.

The cloud infrastructure needed to support IoT-like products has particular needs relating to connection and scalability. We know what’s required.

 

Key Tech

  • AWS — cloud services for device connection and data handling

  • Node.js — fast and effective client and server development

Mobile Apps

High Quality User Focused Apps

We have award winning experience in developing apps for mobile devices (iOS and Android). We have a particular emphasis on apps that interact with other devices - via Bluetooth LE or the cloud.

We can develop focused, usable and reliable applications with great UI design to meet specific needs.

 

Cross Platform vs Native - Our Approach

While cross platform frameworks like React Native certainly have their place and we can utilize them when it makes sense, we focus on native apps due to the overall quality and functionality that can be achieved.

Systems Improvement

SYSTEMS TO IMPROVE DEVELOPMENT EFFECTIVENESS & CODE QUALITY

We can help you establish a software development process based on modern tools and systems which is suited to the unique aspects of embedded software development. This will encourage effective development and ultimately contribute to a successful project.

We can also offer advice on how to introduce tools and techniques which improve code quality in order to effectively improve the quality of your product. 

 
tech-badges-grey.png
 

How we can help

With us on board you can lower the risks inherent in device software development and help point your project in a successful direction. 

 
 
 

Add Our Skills

If you are planning product development which requires specialized embedded software skills & capabilities which are outside your team’s speciality, we can help your team stay focused on what they do best by undertaking non-core development.

Smooth The Bumps

Product development often requires either varying levels of bandwidth or the presence of certain skills at the right time. We can join seamlessly with your existing team when you need us to help ensure development moves along smoothly.

Resolve Problem Areas

If there is something difficult your team is stuck on that’s threatening to cause delays, we can take a look and inject a new point of view.

 

Start Fast and Stay on Track

Make use of our knowledge and experience to help you lower the risks and achieve a successful end result. Not sure where to start? Let us help you get underway.

Improve Your Systems

If you’re just starting out with embedded software development or feel your development systems need improvement, we can help establish a modern software development process and systems to aid in software code quality. 

 
 

Working Together 

We make sure to stay agile and follow an iterative design process wherever possible, with particular emphasis on:

  • Continuous focus of effort on the end result

  • Short, fast development and feedback cycles

  • Open and regular communication

  • Helping teams make informed decisions

The process is always guided by the desire to keep it simple and to make sure it works for everyone involved. 

 

CONTACT US

If you are looking for help with a project or product idea, we'd love to talk.