Development of Embedded Systems in Prototype Laboratories.

When we refer to embedded systems, we are talking about a computational system designed and deployed to achieve a set of specific functions that, as a general rule, respond to a set of previously known functional requirements or use cases. Having prior knowledge of the functions and limitations of a given product is precisely what justifies the need for embedded systems development to achieve such objectives.

Examples of products that require embedded systems:

Smartwatch: A Smartwatch can be classified under the need for embedded system development. Referring to the definition of an embedded system, we find ourselves in a development scenario where the functions of the future prototype are previously known, as well as its purpose and limitations. It is very true that the most modern smartwatches have significantly expanded their functional capabilities and have reached highly versatile operating systems that allow the development of multiple functions. However, most of the custom smartwatch development projects we undertake at Let’s Prototype on behalf of our clients are smart wristbands designed for very specific functions in highly specialized industries, which undoubtedly require the involvement of our embedded systems development experts.

Smart Thermostat: A well-known example of a product with an embedded system is the smart thermostat. As you may know, its fundamental objective is to monitor and adjust the temperature of an environment based on the settings provided by the user versus the actual conditions of the space. This product has a very specific function with strong interactions in the physical world (sensing environmental variables). These factors suggest that we are dealing with an embedded system.

Industrial Motor Controller: The dimensions of the products do not define the presence of embedded systems. Staying true to the concept of embedded systems, it is exclusively the limitation and specific knowledge of the computing needs and, usually, the aforementioned direct interactions with the physical world through sensors and actuators, that indicate their presence. In this particular case, we consider a motor within an industrial plant whose performance must self-configure based on a set of parameters obtained from very specific sensors, which are parts of the prototype. In this case, although it is a system requiring a high level of specialization, it still falls within the scope of the definition of an embedded system.

Types of Embedded Systems:

Staying true to the definition of embedded systems, as computing systems designed to execute very specific, predefined purposes with the involvement of hardware elements in a specific environment, we must understand that there are two types of embedded systems. These embedded system classifications are determined by the composition of the systems:

Purely hardware embedded systems:

These are embedded systems that lack a software layer. They are composed solely of hardware elements, usually designed for specific, predefined functions. The development of this type of embedded system requires the design and development of electronic components that perform specific functions, such as signal processing, handling computer vision systems, or stabilizing aircraft.

Hybrid embedded systems (hardware and software)

The hybrid embedded systems, as an essential characteristic, rely on the use of hardware elements, usually commercial, as well as software that plays a fundamental role in controlling and integrating such elements. In hybrid embedded systems, microcontrollers play a key role, allowing low-level developers (close to electronics) to program the necessary behaviors and objectives through software. The use of hybrid embedded systems is widely applied in the design and development of functional prototypes. It is also part of many products, even after they have reached industrialization and commercial phases. Hybrid embedded systems offer a more adaptable approach with great economic balance. However, it is important to recognize that products and prototypes developed with hybrid embedded systems also have certain limitations that must be properly addressed. Addressing these limitations is precisely what differentiates professionals who improvise embedded system solutions from companies like ours, which have a specialized development team in hybrid embedded systems.

Purely Hardware Embedded Systems vs. Hybrid Embedded Systems

Embedded Hardware Systems

Hybrid Embedded Systems

They require hardware components, usually custom-developed, to meet the predefined functions.

They require hardware components, usually commercial, to control their behavior and integration with other elements; a software development layer is needed. The use of microcontrollers is key.

Highly optimized in terms of processing speed and power consumption, precisely because unnecessary latencies are avoided.

The use of microcontrollers in embedded systems allows for great flexibility and the opportunity for adjustments in an agile and cost-effective manner, precisely because behaviors are configured through a software layer. 

It requires the development of specific hardware. This process is complex and also demands a level of investment that few companies can afford. 

The use of microcontrollers requires a balance between processing capacity and energy consumption that is difficult to alter. This characteristic presents a disadvantage compared to purely hardware embedded systems.  

Advantages and disadvantages of using commercial microcontrollers for embedded systems development. 

As we have seen so far, only large companies with significant investment capacity for product development can afford the development of custom hardware components to achieve a specific function with the highest level of efficiency in terms of speed and energy optimization required to achieve results. On the other hand, most companies and inventors considering the design and development of prototypes for their inventions rely on the development of hybrid embedded systems, which require the integration of microcontrollers and software development to facilitate the interaction between sensors in order to achieve these functions.

As you might expect, the main limitation of hybrid embedded systems lies in the selection of the appropriate microcontroller based on the specific requirements of each project. This is a topic we will explore further with some tips that all embedded systems developers and expert electronic engineers in innovative product development should take into consideration.

To explain the advantages and disadvantages of using commercial microcontrollers in embedded systems development, we can rely on the following prototype example:

Temperature Control System with ESP32 Microcontroller, allowing adjustments to its operation through code in languages such as C or C++.

Advantages of Choosing the ESP32 Microcontroller

Controlled Investment: The use of the ESP32 microcontroller allows for demonstrating the technical feasibility of an invention or idea quickly, without requiring investments that are unattainable for most inventors and/or innovation companies.

Flexibility and Agility: Making a mistake in the product development process where the embedded system relies on an ESP32 microcontroller does not necessarily pose a major issue. With code corrections, any detail in the functionality can be customized and fixed very quickly.

Component Availability: Commercial microcontrollers, such as the ESP32, are fully accessible and can be purchased through conventional channels like Amazon. In just a few hours, you can obtain an ESP32 at very affordable prices.

Community Effect: The community of ESP32 microcontroller experts is vast and well-organized in forums. These forums, along with the sheer size of the community, make it possible to access solutions to common problems, validated libraries, and valuable discussions that accelerate the learning process for developing embedded systems with ESP32.

Disadvantages of Choosing the ESP32 Microcontroller

Technological Limitations: Using a commercial microcontroller, such as the ESP32, which is also one of the most commonly used in the prototype development industry, means that as a developer, you will be bound by the capabilities and limitations of the technology used to design the microcontroller. There are three parameters that form the critical balance when choosing a commercial microcontroller for developing a prototype: Power consumption – Memory capacity – Processing speed.

Optimization and Detail Limitation: If we objectively compare a hybrid embedded system based on a commercial microcontroller, the efficiency levels, specifically related to the previously mentioned balance, will be substantially lower than those achieved with a purely hardware embedded system. However, the investment barriers and the required development time often make the latter approach less suitable.

2 Tips for Beginners in Embedded Systems Development:

After understanding the definition of an embedded system and having identified the types of embedded systems that, due to their composition, are frequently used in design processes and product development, we share with you two tips that are not taken from any book, but rather from daily experience, facing common embedded system challenges necessary to demonstrate the technical feasibility of ideas that reach our design laboratory and prototype development. Properly Measuring the Scope: One of the most common mistakes when planning the development of a prototype based on an embedded system is the selection of components, scope measurement, and coordination of compatibility between the parts. Typically, due to a lack of communication with commercial teams, the inventor's lack of knowledge, or insufficient experience in embedded system development, failing to measure the scope correctly often becomes a major obstacle in these projects. To mitigate this frequent issue, at Let’s Prototype we have developed a process integration method, internal communication, and invention analysis, which consists of: gathering functional requirements expressed by inventors, converting functional requirements into a basic engineering project where the main challenges of the prototype are identified and addressed, defining the embedded system architecture detailing components and conducting partial laboratory tests to validate the technical feasibility of the prototype in question. Finally, the process moves to electronic design and firmware development as needed. Although this cycle may seem tedious and slow, we have proven that it saves significant time and money by structuring steps that prevent embedded systems development from the common mistakes that usually stem from inefficient communication or an accumulation of challenges during the embedded systems manufacturing stage.

Hypothesis Validation and Error Management Method: The development of functional prototypes or manufacturing of innovative inventions using embedded systems presents a significant number of challenges that must be addressed individually. Attempting to develop and validate the operation of an embedded system as a whole is a very common mistake among professionals with little experience in the design and development of electronic prototypes with embedded systems. In our custom electronic product manufacturing company, both development steps and problem-solving are carried out by isolating hypotheses. It is important, before starting, to have a Plan A and a Plan B for necessary validations in sequence, on which different processes involved in the use cases of a prototype depend. Therefore, you should not get frustrated by common errors in embedded systems, nor will you complete the project faster by accumulating hypotheses during the development process.

5/5 - (5 votes)
Bryan López
Latest posts by Bryan López (see all)