Prototyping Embedded Systems
The Future of Embedded System Prototyping
Though some industries have experienced the perpetual addition of embedded system complexities year after year, it is unlikely that any industry will escape it in years to come. Several emerging trends contribute to this, mainly the drive toward internet-connected or networked sensors, controllers, and actuators, and the Internet-of-Things (IoT). This shift also moves toward electrifying systems and adding “intelligence” to previously mechanical or analog electrical systems. Hence, there are a growing number of factors to consider for designers and developers as they approach an embedded system design.
These trends are evident in renewable energy, automotive, industrial, and RF/microwave communications industries, where over just a few years traditionally analog embedded electronic control systems have been primarily replaced with Microcontrollers (MCUs), Microprocessors (MPUs), Digital Signal Controllers (DSCs), and a host of digitally-driven peripherals.
The growing complexity and number of embedded systems have created a landscape of opportunities and new markets for organizations agile and skilled enough to rapidly respond to these opportunities as they emerge. However, the task of responding to markets has become a greater challenge, not only due to the generally complex nature of modern embedded systems but also now due to faster shifts in consumer demand, thereby reducing the ideal market window. This has given rise to a debate amongst Original Electronics Manufacturers (OEMs) in virtually every industry. Whether it’s to purchase Commercial-Off-the-Shelf (COTS) solutions, develop a product from scratch, or modify COTS to fit the desired specifications, the number of possible solutions only makes the situation more complex.
Irrespective of the approach, there are several main considerations when choosing an MCU, MPU, or DSC for a new embedded design. This includes the selection of development boards, modules that complement the application and are compatible with the development boards, early development software and resources, differences between prototype/proof-of-concept system security and final product security, and the transition from prototype to production. Microchip designers, acknowledging these challenges, implemented an ecosystem of development hardware, software, and resources to help aid designers and developers with these considerations and transitions.
This article aims to discuss the early design phase considerations associated with choosing an MCU, MPU, or DSC for embedded design and how Microchip’s ecosystem of hardware and software tools enable designers and developers throughout the early design process, and then the transition to production. This article also notes different embedded design considerations for the latest IoT applications.
Development Boards and MCU, MPU and DSC Options
Development boards are a critical resource during proof-of-concept and prototyping stages, enabling a design team to more readily adapt to the learning curve of a new MCU, MPU, or DSC. A good development board typically includes access to all of a device’s pins, peripheral functions, external modules, and an interface that allows for easy programming and debugging. Ideally, several levels of development boards are available for a given family of devices, so depending on a designer’s needs, familiarity, and skill level, there will be a “best fit” option. Another valuable feature for designers unsure of the exact device they will need is a development board capable of swapping devices so that a common platform for comparison and development can be used.
Click to View: Development Boards and MCU, MPU and DSC Options
Microchip offers several lines of development boards designed to make early development much more accessible. Many of the Microchip development board options are often dedicated to a particular processor line or have swappable processor infrastructure, and most include expansions options to add popular functions. The boards come in highly efficient and compact designs and are compatible with Microchip’s extensive ecosystem of software development tools and resources.
Having to design, build, and test the external sensor, actuator, control, communication, and user interface modules is often a feat in-and-of-itself on top of an already expansive task of embedded system prototyping. Development boards with built-in interfaces for external modules that support a variety of features can dramatically reduce development time, enable the evaluation of components installed on the modules, and allow for creative experimentation.
An excellent module system, supported by many Microchip development boards, is the MikroElektronika Click boards. The mikroBUS module system is exceptionally extensible and accessible, with hundreds of modules available supporting a wide range of sensing, control, actuation, communication, and interfacing. Moreover, the Click boards can be swapped in a rather plug-and-play style, which makes switching among Click boards and functions simple. A few examples of Click board modules include displays, motor controllers, storage, human interfaces, sensors, wireless communication hardware, and more.
Other Microchip development boards are also highly extensible with extension kits, such as the Xplained PRO extension kits, and add-on boards. Such extension kits feature radio transceivers, Wi-Fi® controllers, ZigBit modules, CryptoAuthentication™ devices, Ethernet networking, SD card interfaces, touch/graphic displays, and others.
Designing and developing an embedded device is a daunting task for many organizations in an era of exploits and hacking. As there are so many levels of security when it comes to embedded devices (such as sourcing, hardware, firmware, software, memory/storage, connectivity, and cloud networking), it is challenging for designers and developers to handle every aspect of security in-house. Moreover, the infrastructure to test and ensure that each aspect of an embedded device is secure is beyond many organizations.
Microchip has strengthened security from several angles. They offer crypto authentication modules that work with their development boards to make developing secure features quicker and easier, as well as out-of-the-box secure device solutions. For example, Microchip’s Zero-Touch Provisioning (ZTP) CryptoAuthentication devices eliminate the sourcing, hardware, connectivity, and cloud security concerns without the need for an OEM to modify or reprogram a device .
The ZTP system, like the ATECC508AMAHAW device for AWS IoT applications, uses anti-tampering security techniques to secure storage and an integrated Elliptical Curve Crypto (ECC) hardware accelerator. It also leverages the just-in-time-registration function from AWS IoT service with mandatory TLS 1.2/mutual authentication for bulk certificate upload, and Microchip’s secure facilities can handle the provisioning prior to shipping the devices. The pre-configured security/authentication, along with integrated cryptography hardware, allows for developers to confidently source secure hardware without exposing leaks through sourcing issues. Or, if any devices are nefariously acquired and reverse engineered.
As it is often challenging to prototype secure IoT devices, Microchip also offers secure IoT development boards with secure integration with the Google Cloud IoT Core platform. For example, the AVR-IoT WG board (AC164160) and PIC-IoT board (AC16164) both allow a developer to get out-of-the-box cloud connectivity within 60 seconds, providing secure hardware-based private key storage. Also, the IoT development boards feature fully certified Wi-Fi and CryptoAuthentication secure elements for rapidly developing secure wireless solutions. Lastly, the ATECC608A secure element within the AVR-IoT WG board handles authentication for each device and provides ZTP functions.
With the rate of change of embedded system hardware, tools, software, techniques, and methods, even a veteran development team may experience a learning curve when working with a new embedded device. This is especially true with generic integrated development environments that don’t come equipped with tools and resources geared toward particular devices. On the other hand, vendor software can also be a challenge to acclimate, due to unfamiliar aspects of the interface and loading embedded device libraries. Moreover, some vendor software is solely designed for expert users and would prove daunting for entry-level developers, or even experienced developers who are trying to quickly evaluate an embedded device without learning a new platform.
Microchip has professionally developed hardware, software, and resource ecosystems to better facilitate developers at every level of skill and familiarity by offering a variety of IDEs, easily incorporated software libraries, and a wealth of reference designs and accompanying example code.
Furthermore, many of Microchip’s devices are supported with freely available example code, accessible through the IDEs, including tools within the IDEs that help to ease the development of device-specific functions and features.
Transitioning to Production
After, and often during, the proof-of-concept and prototyping stages of development comes the requirement for designers and developers to begin the production and software design. During this transition, many designers and developers have to start from the ground up, as the prototype system they likely chose only loosely represents what can be used in production.
This is not the case with Microchip hardware and IDEs. Since the code written during prototyping can easily be ported from even the entry-level IDEs to the professional-grade tools, they will seamlessly work with the same devices from the development board implemented in production hardware. Therefore, working within the Microchip ecosystem enables developers to write code once, and even reuse code among projects with ease.
Streamlining Prototyping to Production
Modern embedded electronics, be it for the consumer, commercial, or industrial applications, have become increasingly complex, as have the tools used to prototype and design such systems. The learning curve and design resources necessary to develop a proof-of-concept have become proportionally large with the complexity and diversity of the latest electronics.
Fortunately, Microchip has developed an ecosystem of development hardware and software that not only eases the burdens of early design, but also enables a seamless transition to the production of embedded electronics.