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 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 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.
ALL AREAS COVERED
We can cover all areas of device software - from device drivers to UI design and implementation. 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 PowerING Connected DeviceS
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 connectivity 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 solid experience in developing apps for mobile devices - both iOS and Android. We have a strong emphasis on apps that interact with other devices - via Bluetooth LE or the cloud.
We develop focused, usable and reliable applications with elegant UI design to meet specific user needs.
Cross Platform vs Native
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.
IMPROVing DEVELOPMENT EFFECTIVENESS & CODE QUALITY
We can help you establish software development processes based on modern tools and systems best suited to the unique aspects of your embedded software development. Improved systems and processes encourage effective development and ultimately contribute to more successful projects.
We can also help to introduce tools and techniques to 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 need specialized embedded software skills & capabilities outside of 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.
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 flexible and fast moving while following an iterative design process wherever possible, with a strong emphasis on:
Continuous focus of effort on the end result and end user
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.