Understanding the complexities of software development projects requires a disciplined approach.  At Gill R&D, we utilise our expertise in developing software for cutting-edge embedded platforms, together with a wealth of knowledge of commercial and open-source technologies to provide rapid cost-effective software solutions in almost any industry sector.

We specialise in delivering embedded micro-controller, DSP and SoC devices, PC and web-based systems, real-time operating systems and applied algorithms for superior performance and quality.

Investing in our software development tools and equipment to maximise skills within our pool of software engineers, allows us to undertake projects of all scales ranging from out-sourced software support to complete software developments. 


Features and Benefits

Static and dynamic testing both on the target hardware and host machines are used to ensure software meets its intended requirements

Advanced algorithm development for maximum performance in adverse environments

Simulation capabilities via MATLAB and code modelling and visualisation

Embedded software design for Micro-controllers such as Microchip DSPIC, ARM, STM 32  

Software lifecycle.  Tailor a software development lifecycle to suit the intended use, from rapid development to full high control software


Software / Firmware


  • C/C++
  • Assembler
  • Java
  • Python
  • R
  • HTML 5
  • XML
  • Ajax
  • CGI
  • PHP / SQL
  • Javascript / JQuery

Operating Systems

  • Embedded Linux
  • Embedded RTOS
  • Microsoft Windows

Development Tools

  • Eclipse
  • Qt
  • Jira, Confluence
  • SVN, Git
  • Keil µVision, Mercuriel
  • IAR Embedded Workbench
  • TI Code Composer Studio
  • MagicDraw UML
  • Embarcadero RAD Studio
  • Matlab

Typical Phases of Development 

Our internal procedures ensure that the project planning and processes are appropriate to the product being developed. Software development will typically involve the following steps:

Requirements capture: we work with the customer to understand the problem and define the software and testing requirements. The project may be broken down into phases; for example, a prototype phase may be necessary to mitigate areas of risk.

Design: we define the software architecture and high level design that will satisfy the requirements. When this is reviewed and agreed, the design is refined to a lower level.

Implementation:  the code is written to implement the design. The developer constantly tests the code at unit and integration level as it is developed. Early releases of the software may be made available for customer feedback.

Testing: the software undergoes independent system testing by the test department and is re-worked until full compliance is achieved.

Maintenance: the software will undergo enhancements and bug-fixes during its life. Our online issue tracker, version control and documentation systems ensure a high level of configuration management is maintained.


Tools used for testing and validation

PC Lint (for static analysis)

Code Reviews

Host and Target Module Testing

Integration Testing

Acceptance Testing

Validation with Model (eg Matlab)


Do you have a new development requirement?

We have extensive experience taking projects through all phases of development, in rapid timeframes.


Tel: +44 (0)1590 613400








Website Terms & Conditions |  Privacy Notice  |  Cookies Policy  |  Sitemap  |  Search  |  Careers

Terms & Conditions for Sales of Goods  |  Terms & Conditions for the Supply of Goods and Services

©2019 Gill Research & Development Limited. All rights reserved. Gill Research & Development Limited, Reg No. 3154453. Registered Office: The Towngate House, 2-8 Parkstone Road, Poole. BH15 2PW

Warning: Unknown: open(/kunden/homepages/9/d315339365/htdocs/gillrd/files/tmp/sess_ba5296a479b295fa01a6d82830a30f1e, O_RDWR) failed: Disk quota exceeded (122) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/kunden/homepages/9/d315339365/htdocs/gillrd/files/tmp) in Unknown on line 0