Our experience covers the complete software development life cycle. We can do the whole job for you or just help with a specific part, for example:
- Requirements capture.
- Software design.
- Coding, testing, and debugging.
- Customer support.
Our software development process makes use of Use Cases and UML models and is loosely based on the Rational Unified Process (RUP). We are happy to work to your own software development process if required.
Our areas of expertise include the following:
- Custom communications protocols over serial and ethernet
- Digital filters e.g. simple moving average, FIR, IIR
- Embedded file systems
- Mainstream industrial protocols such as Modbus
- Microprocessors and microcontrollers (8-bit up to 32-bit)
- Remote system access using GSM modems
- Round-robin scheduling using state machines
- RS232, RS422, RS485
- Software development process
- TCP/IP, UDP, PPP
Our programming language of choice is C/C++ and we strongly recommend following the MISRA guidelines when using these languages. We also have experience with Python, Visual Basic, and assembler.