Some projects require a robust development platform for testing out ideas, but what types of platform are there, and how can they propel your product development?
What is a Development Platform?
Development platforms are hardware, software, or firmware tools that aid you in developing your product’s functionality without having to fully complete the design. These tools should allow you to quickly iterate on ideas to test out features. They also need to be easy enough to use that the cost of creating them is outweighed by the time savings during development.
Types of Development Platform
There are ready-to-go development platforms out there and these are certainly worth a look, we are big advocates of encouraging people to get into prototyping! When you are ready to move towards custom hardware Embedism can support you in creating the perfect development platform for your project.
First, let’s take a look at existing off the shelf options before moving onto the more powerful and flexible custom solutions.
Existing Hardware Platforms
There are countless hardware development platforms available ranging from Arduino-compatible boards to development kits from individual vendors such as the Nordic DKs and TI LaunchPad. These typically need to be used with particular development environments in order to write code and applications.
Key Benefits | Main Downsides |
pre-verified hardware | often physically very large |
online support forums | limited in functionality without expansion boards |
low-cost |
|
Existing Firmware Platforms
Some hardware development platforms are compatible with firmware tools such as Microsoft Makecode or other drag-n-drop interfaces.
Whilst the functionality of these tools is limited they can really help to speed up product development for simple products.
Key Benefits | Main Downsides |
quick and easy to make simple applications | very limited in functionality |
free | relies on using supported hardware |
Custom Software Platforms
Developing code on embedded devices can be slow due to long compile times, limited debugging ability and the general inconvenience of being tethered to your desk and programming tools.
Embedism adopts an innovative approach that allows the enormous power of modern computers to be put to work for embedded development. We can create platforms and emulators for core aspects of your product that allow tweaks and performance enhancements to be made orders of magnitude faster than can be achieved by writing embedded code alone.
This works since we develop as much application code as possible to be platform independent, creating our own platform layer between the hardware and vendor HAL and your unique application code. To get your application running on the desktop this platform layer is recreated for the PC and the application ported over.
Key Benefits | Main Downsides |
utilise computers to speed up development | requires specialist knowledge when writing and porting code |
ideas can be tested extremely fast | upfront cost |
allow for more flexible working methods |
|
don’t have to deal with hardware issues |
|
Custom Hardware and Firmware Platforms
The ultimate development platform is one that represents your product’s hardware, functionality, and also allows for testing in the target environment. This is very difficult to achieve using existing platforms and a computer-based emulator of your product can’t be used in the target environment - especially if it’s a wearable!
We can develop a custom hardware platform alongside the necessary software and firmware tools you need to test out your ideas. In the past we have created: drag-n-drop interfaces for controlling kitchen appliances, command line interfaces for wearables, rules engines for sensing devices, and dual-build code bases for emulating GUIs on both a PC and the target hardware.
You will have more control over your product’s development and as a result will reduce lengthy design iterations and get to market quicker!
Key Benefits | Main Downsides |
utilise custom tools to speed up development | initial upfront cost and time |
hardware can be tested in target environment | cost of change if target hardware needs to change significantly |
lower overall project cost and time |
|
identify project risks and hurdles earlier |
|
something to show potential investors and backers |
|