Embedded and application software design

Our engineers have decades of software experience. Our coding skills have developed over the years to ensure you can benefit from the latest developments, whilst keeping the time for development and prototype processes to a minimum.

Reasons to choose BitBox for electronics software design

  • Extensive software development experience developed over decades
  • At BitBox we choose the most appropriate programming language for your product design
  • Access to the BitBox software code libraries to save you time and money.
  • Ability to provide a reliable Linux platform and code or to enable you to develop your own code.
  • You retain the intellectual property for your software code.
  • Version control and detailed record keeping providing quality assurance and peace of mind.

Programming languages

At BitBox we select the best programming language for the job in hand including:

  • C for embedded systems
  • Assembler for time critical embedded code
  • Lua for larger embedded systems that need scripting
  • C# or C++ for Windows applications
  • We also have good experience of using SQLite with fully embedded databases.

Using high level languages such as C greatly speeds the development and prototype processes and makes the code easy to maintain and more portable onto different platforms.

BitBox’s software code libraries

Our extensive libraries of code which we have written are designed to shorten development time and speed your prototype design and delivery. This will save you time and money in product design.

Our libraries include:

  • C runtime library replacement (to reduce compiled code size)
  • TCP/IP stack (lwIP)
  • Threading (co-operative)
  • Graphical User Interface with touch screen
  • GSM modem interface
  • Serial interfaces using DMA engines - including CAN, I2C, SPI, RS232, SATA ....
  • USB device libraries


We have a long history of prototyping and designing controlled production release code using Linux and running latest release of Debian Linux.

We design and manufacture boards for our customers and bring up reliable and stable versions of Linux to run complex applications. We can either provide a reliable custom platform for you to develop your own code or we can provide the full application.

Our Linux boards are usually fully embedded requiring maximum up-time reliability - often in remote locations. We provide an application and kernel upgrade mechanism to facilitate field upgrades when required

Intellectual Property - your electronics design and software is yours to keep

Once we have completed software development for a project we package and transfer the IP to you. This means you remain in control of your code and can use it how you want.

You may not, however re-sell our library code as your own.

Quality assurance through Version control for embedded electronics design

We take version control of our work very seriously - during the prototype phase as well as during the life-cycle of your embedded electronics product. All files relating to a project are controlled through the BitBox control system. Software releases are tagged and specific versions of binary code are released to production for use during the manufacturing process.

Our manufacturing database records mean we can identify the code used on every board and source code can be recovered if needed.

We are also familiar with the 'git' open sourced version control system and can use this system required.