Firmware / Embedded Engineering

In nine out of ten cases, today's products use µProcessors and/or MCU's that allow a product to function the way it does. These are often very complicated processes that would not be possible without these controllers. We can easily state that with the arrival of these Micro Controllers, even relatively small products have been made possible, with a complexity of actions that was previously impossible.

This brings us to the most crucial part of these systems, namely the software or Firmware, with instructions that determine what the system should do. In general, this is many thousands of instructions per second, action and reaction.

Developing this Firmware is a crucial part of a product development process and is a specialist discipline within Product Development. Firmware / Embedded Engineers translate the course of action by use of these software instruction sets.

The embedded Systems Software Development Lifecycle (SDLC), also known as the Embedded Software Development Process, is the systematic series of steps and activities involved in the design, development, testing, deploying, and maintaining software that is embedded within a hardware system.

This management process is a holistic approach that involves a series of steps and technologies to develop embedded products from inception to production. The SDLC engineering roadmap provides our Developers and System Designers with the necessary tools and resources, to create, upgrade and maintain high-quality embedded systems for our clients.

The - Embedded - Firmware Development Process includes a large number of parameters that are not only limited to the intended functionality itself, but also the external parameters in which the system must operate. This means that the system, which must generate conclusion and action, must be all-encompassing. The following explanation describes the process within which a system is developed.

█  Define System Specifications

The system specification defines the hardware and software requirements of the product. This step outlines system features, functionality, performance requirements, and other specifications required for developing an effective design of the system.

█  Design Hardware Platform

The hardware platform provides hardware components for developing embedded systems such as microcontrollers, memory, interfaces, and other components. It also provides platform designs such as Schematics, PCB layouts, and Bill-of-Materials so we can design a custom-made system based on its specific needs.

█  Develop Software Platform

The included software system is based on operating systems (such as Linux) and middleware, used to develop embedded system applications: i.e. firmware or software applications by using for instance CodeFusion Studio™. During the development we can use commercially available frameworks such as .NET, Android or iOS to develop applications specifically tailored for the intended embedded devices.

█  Design Product

The last step in the Embedded System Development Process involves designing the product's hardware, using a well-defined hardware development document where all aesthetic & mechanical / functional specifications are defined: the Functional Specifications Document (FSD), the Chip Design Documents (CDD), Environmental Specification Document (ESD), Bill-of-Materials (BOM), and so on.

A detailed technical design requirement specification document should be created. Product spec should cover the main things like the purpose of the product, block diagram, main features, environmental conditions, manufacturing requirements, and more.

Once the architecture is done, engineers need to look at each block in the system and select the components and finalize the design (application circuit). Our Developers and Engineers in this stage will decide, for example, a power supply which type of power supply needs to be designed like using a linear regulator or using a DC-DC switching converter or with something else and then which power chip need to used and its application circuit, everything is decided here.

In some situations, engineers discover that their product works well in the lab, but has problems in the field. Field conditions are always different. Engineers must consider what conditions their product will be subjected to in the field so that they can be reproduced and verify the performance of their product even before sending it into the field. Not only the field conditions, but also the local standards are different depending on which continent its used. The developers/engineers must consider how a (possible) layman in the field will interact with the product.

One common issue is if a power supply connection need to be done in the field, it is a good idea to have over-voltage and reverse-polarity protection for the power supply input. Imagine a layman in the field connecting the wrong power supply (higher voltage) or connecting reverse may damage the product. For the same reasons most development agencies provide power supplies along with the product and have a mating connector that can connect in one direction only, so it eliminates the possibility of a wrong power supply or reverse connection. But, not in all products this is possible to achieve.

Another example is, if the product has wireless connectivity (e.g. LTE+/5G), the signal strength or reliability of the connection will depend on the specific coverage area. Many times it is not easy to have this replicated in the lab so a field test is necessary to the performance and how your product is handling all the scenarios. Environmental conditions are another thing that your product will go through in the field. Temperature, Humidity, Vibration, Pressure, etc. can have an impact on product performance.

Ultimately, only after the product is tested in the field, you"ll know for sure exactly how it performs in "real-life".

After field trials are done for several weeks and months, all the improvement needs to be incorporated in the design based on the feedback. If during field trials some issues are found, you will need to also improve the test procedures you follow during the design validation/production testing stage to ensure a flawless product comes out of production.

Before launching the product, several important requirements need to be put in place other than the product itself like:

█  Product Certification

Various product certifications based on features it has and the countries it will be sold in.

█  Product Documentation

Product page on the website, Quick introduction video, Datasheet, a User Manual, setting up the Support Channel, and so on.

More about this?

As you already might understand, it's impossible to explain the exact ins and outs on Firmware / Embedded Engineering on this single page. In case you want to get into the nitty-gritty on this Engineering subject, call or email us for more specific or detailed information.

Phone Icon +31 (0)85 2733 482 Contact Us

Ready to Start?

For Inqueries or already have a project in mind? Please contact us now!

Get a Quote

Skills that make a difference...

By examining the results and their statistics, we can proudly say that 92 percent of the projects were completed within the agreed development time segment. Where necessary, constant improvements are made, which guarantees as a client that your product will be available within the planned date.

COMPLETION WITHIN DEADLINE 92%

SUCCESSFUL CORRECTIVE IMPLEMENTATION 85%

HARDWARE ENGINEERING SPEED 84%