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.
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.
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.
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
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.
AWS — cloud services for device connection and data handling
Node.js — fast and effective client and server development
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 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.
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.
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.
If you are looking for help with a project or product idea, we'd love to talk.