Contents
Top
Instruction Set Architectures (RISC-V, x86, and ARM)
RISC-V
x86
ARM
Evaluation board vs Development board vs System on Module
Evaluation Board
Development Board
System on Module (SoM)
Expansion Boards
Where to find expansion boards
Real-time operating system (RTOS)
Zephyr Real-Time Operating System
Zephyr RTOS:
FreeRTOS:
Embedded Security
Hardware Features
Attack Vectors
Regulations and the European Cyber Resilience Act (CRA)
Embedded Attributes
Core Size
Memory
Clock Source
Timers
General Purpose Input and Output (GPIO)
Analog-to-digital converter (ADC)
Microprocessor
Microcontroller (MCU)
STM32 Family of Microcontrollers from ST Microelectronics
MSP430 Family of Microcontrollers from Texas Instruments
ATMEGA328 Family of Microcontrollers from Microchip Technology
Digital Signal Processor (DSP) / Digital Signal Controller (DSC)
Field Programmable Gate Array (FPGA)
Single Board Computer (SBC)
SBC Downsides
Products
Embedded and Microcontrollers
Embedded systems are often the orchestrating pieces of the electronic system that receives, interprets, and sends signals. The power of the Embedded system comes from the combination of hardware and software. For those new to Embedded Systems the C programming language can be a good starting point for software development.
The diagram below represents how information in this page is organized, starting with the overarching topics (like Instruction Set Architectures), and finishing with a few of the larger product categories (like Microcontrollers).
Instruction Set Architectures (RISC-V, x86, and ARM)
What is an Instruction Set Architecture? View Answer
Instruction set architecture (ISA), also called computer architecture, is the definition of how code instructions, data types and supported hardware come together to form a Microprocessor Unit (MPU). There are a few different types of ISA, such as ARM, RISC-V, X86 and MIPS.
Can ISAs be used interchangeably? View Answer
Normally ISAs are not cross compatible, systems designed for one type of ISA will not work on another. For example, x86 systems and software will not work on ARM based chips as the two are different in how they handle code instructions and data sets.
Note: There are a few different workarounds for this problem on the market: 1.) software that mimics operating conditions of a different ISA, or 2.) by combining different ISAs into a single package. ARM has created a hybrid architecture called ARM big.LITTLE which is a Heterogeneous multi-processing architecture, by combining high power and low power processing cores into one system, high-power processes can be prioritized and handled separately from lower power and lower priority requests, allowing for greater flexibility and more precise power management.
What is the difference between a Reduced Instruction Set Computer (RISC) and a Complex Instruction Set Computer (CISC) processor? View Answer
RISC is a type of computer architecture that has been designed to use simple sets of instructions to perform single step actions during the computing process. More generally it can be thought of that each code instruction can do one action for the computer system. The simpler actions allow for a faster completion speed and reduced power consumption, making them popular in portable devices or other places where power efficiency is a driving factor.
CISC is a type of computer architecture that allows for multiple instructions and code actions to happen at each step of the computing process. More generally, it can be thought of as everything that is not RISC, as the term was developed in response to the development of RISC based chips and systems. While there is no official definition of CISC, they typically can be thought of as having a more complex designed system (which typically requires more power to operate).
RISC-V
RISC-V is an open standard ISA based on RISC. Unlike other chip designs, RISC-V is completely Open Source and has Open Architecture, which means that anyone, anywhere can make RISC-V chips and never pay any licensing fees to do so. However, while the core of the RISC-V is open source there may be other add on and expansions which are not considered public domain.
Beagleboard.org's BeagleV-Fire® features 2 GB RAM, 16 GB eMMC, 1 Gb Ethernet connection, and one M.2 E-Key PCIe connector for a wide range of applications.
Titanium Ti375C529 Development Kit
Efinix's Titanium Ti375C529 kit is ideal for developing and prototyping designs for the Ti375 FPGA with fast time to market, high performance, and low power.
M5STAMP-C3 ESP32 Miniature Module
M5Stack's M5STAMP-C3 ESP32 miniature module features ESPRESSIF ESP32-C3 RISC-V MCU with Wi-Fi and Bluetooth® 5 (LE) connectivity for IoT edge devices.
x86
One of the oldest family of instruction set architectures for CISC processors. Started in the late 1970's as an expansion of Intel 8-Bit microprocessors, the family of x86 processors have continually adapted and improved to become one of the most common types of computer processors sold today. Typically found in laptops, desktops, workstations, and supercomputers, these chips have been made for peak performance.
3.5" Compact Single Board Computers
Advantech’s 3.5" compact single board computers have low-power Intel Atom™ processors and wide temperature support for harsh applications.
SolidRun’s CN9132 COM is based on the COM Express Type 7 form factor designed to provide a flexible, scalable, and robust networking computing module.
ARM
Originally known as Advanced RISC Machines but today better known as just ARM are a family of RISC processors developed and licensed by Arm LTD. Due to the lower power consumption and low heat generation ARM based chips can be found worldwide in mobile and portable devices today such as cell phones, tablets, some laptops, and other low power devices.
STM32H573 Discovery Kit Based on the STM32H5 MCU
STMicroelectronics' STM32H573I-DK Discovery kit is a complete demonstration and development platform for the STM32H573IIK3Q microcontroller.
Microchip's PIC32CZ CA family of high-performance Cortex®-M7 MCUs have 8 MB Flash, 1 MB SRAM, and HSM with secure storage.

eBook: Academic Component Reference Guide RISC-V
Gain knowledge of RISC-V software and hardware with this guide from DigiKey.

RVfpga: Understanding RISC-V Architecture and Implementation on an FPGA
Join Digi-Key for a close look at the inner workings of the RISC-V processor core and ways to implement a soft RISC-V processor core in a target (Xilinx) FPGA device.

Introduction to RISC-V
A quick introduction to, and overview of the open-source RISC-V architecture.

How to Get Started with RISC-V Based Microcontrollers
Use RISC-V to customize the instruction set and hardware for the optimum energy profile for an embedded system.
Evaluation board vs Development board vs System on Module
Development of any new product will lead one to think through stages of prototyping, refining, and designing for production. To help in this design process, there are a range of circuit boards for experimentation, development, and production ready use.
DigiKey product classification as well as most manufacturers would classify Evaluation boards and Development boards as the same thing. It remains a handy method to sort and categorize boards by function and role in the development process from prototype to productionized product.
Evaluation Board

For those first prototypes or experiments, there is the evaluation board. The board focuses on the Integrated Circuit (IC) in question. It has a minimum number of components to form a viable circuit.
Power is typically supplied off board with an external power supply and interface. Communication lines are very basic, no more then just a test point interface to allow a test probe to connect to a circuit path.
These boards are focused on one aspect of the ICs performance or function to the exclusion of everything else. While simple, they are larger in area to provide space to break out every line of the IC or chip, allowing the designer to pick and choose exactly what circuits are enabled or interfaced with.
Development Board

The Integrated circuit being experimented with would usually have all external communication lines broken out for ease of access to human useable interfaces and programming options, such as a USB port, header sockets, or other pluggable connectors. The power supply is controlled on board with a voltage regulator or other power devices, allowing the developer to focus on experimenting with core chip functions, rather than supporting circuitry.
The most popular lines of Development boards usually have some cross compatibly between manufacturers or product lines so that one expansion board could be reused across multiple devices. Examples of this are the Arduino line, whose arrangement of header sockets has found a place on other manufacturing circuit boards.
Typically, these are not suitable for direct interface to the end application circuit board due to their comparatively large circuit board size and awkward interface port arrangement.
System on Module (SoM)

The final step from taking your project from the workbench to the production line. System on Modules (SOMs) are the most essential parts of the circuit board condensed and compacted into the smallest possible space for direct integration onto the application circuit board.
Usually, SoMs have a very small footprint, the largest are typically only a few square inches in total area and made with surface mount components. SoMs typically do not have any human useable connection ports for cables or other interface methods. In fact, most SoMs have a development platform with the SoM placed directly on a breakout board for human scale usage and experimentation.
These can either be directly soldered onto the circuit board, with an edge connector interface like a RAM stick or by stacked mezzanine connector.

The OSM Standard for System on Modules Explained
Open Standard Module, the latest industry standard for system on modules, is replacing credit card-sized modules with postage stamp-sized ones.

Using Microcontroller Development Boards as Single Board Computers
Microcontroller development boards can be used in industrial applications if proper selection and QA testing are done in advance.

Arduino Uno R4 Minima - Jayy's Odd Picks
Watch the "Jayy's Odd Picks" YouTube short covering the Arduino Uno R4 Minima
Expansion Boards
What if I want to do more with my development board? View Answer
While Development boards are a powerful tool in developing applications from the initial idea stage to real world applications, they are still unable to do everything a developer can imagine right out of the box. For many applications, a development board will need other components beyond the main IC either to interface with the outside world, connect with other components and boards or simply just to expand the range of input it is able to receive.
In most cases to easily integrate sensors, displays, motor drivers, or other ICs most manufactures have already placed external ICs and required components on compatible plug and play boards, called expansion boards. The expansion boards can simply fit on top of the development board with software libraries for the development environment ready to be downloaded.
Typically, these expansion boards have names or themes that tie them to the main board, here is just a small list of some of the most popular development board series and the expansion boards.







Where to find expansion boards
Expansion boards are listed in different locations depending on function. You may typically find these boards listed in Accessories (Dev Boards, Kits, Programmers), as well as Eval Boards- Expansion Boards, Daughter Cards. Expansion boards with wireless communication functions can also be found in the RF Evaluation and Dev Kits, Boards page.

Expansion boards / Daughter boards
Many development and prototyping board platforms have specifically defined form factors that allow for quick expansion of capabilities, and often times these form factors are given names.
Real-time operating system (RTOS)

Real-time operating systems (RTOS) are small and lightweight operating systems, typically designed to run on small embedded systems where computing resources are limited and run multi-threaded program applications with time critical needs.
In most circumstances, when terms like Operating Systems (OS) are used, people are referring to software found on computers like the Windows, macOS or Linux. Those are common types of General-Purpose Operating Systems (GPOS). A GPOS usually runs a Graphical User Interface (GUI) and is expected to run multiple applications at the same time.
While GPOSs have many of the same features of RTOSs there are several critical differences, the most significant being how much time is taken for code to be executed. In a GPOS, software is non-deterministic, which means that instructions written in code can flex the execution timing of those instructions, which can make it very difficult to estimate how much time is needed for tasks to complete.
In contrast, RTOS are designed to run on small, less powerful systems like microcontrollers or other embedded systems where operation speed and reliability outweigh features like user interface. RTOS ability to run concurrent or multithreaded applications (or appear to run concurrently if a single core) and meet strict timing deadlines make them significantly more reliable in applications where strict timing is necessary such medical, aerospace or safety critical environments.
In less demanding environments RTOS can still be a very popular choice for developers, with the ability to run multiple tasks concurrently on your microcontroller platform such balancing sensor readings and sending wireless communication to a central hub.
RTOSs such as FreeRTOS and Zephyr can be found on embedded microcontroller systems that need multi-threading support, they can also be found in applications that need to run modular code, allowing for portions of code to be executed in isolated sections, improving both security and shortening development time.
Both software projects are completely open-source projects, FreeRTOS under the MIT open-source license, and Zephyr under the Apache 2.0 license.
Zephyr Real-Time Operating System

The Zephyr RTOS is a free and open source, real-time operating system designed for connected, embedded systems with minimum processing resources, like internet of thing devices and systems.
Designed as a small and lightweight operating system kernel and supporting services for embedded devices, the Zephyr RTOS require less than 8KB of flash-based storage and 5KB of RAM as minimum hardware requirements, Zephyr is scalable and expandable from small sensor-based nodes to complex multicore systems, able to fit in where other operating systems are too large or complex to fit.
Zephyr RTOS can operate on a wide range of microcontrollers and microprocessors with very disparate architecture ranging from the 32-bit STM32 and ARM lines of Cortex microcontrollers, RISC-V based microcontrollers to full featured 64-bit x86 processors and still run the same compiled software. By integrating drivers and libraries into the hardware abstraction layer (HAL) and written to be hardware agnostic allows for application code to be reused across different hardware platforms.
One of the most popular features of Zephyr RTOS is the flexibility and ability for customization to suit a range of end applications and needs. With the connection and networking abilities such as Bluetooth 5.3 and a native IP stack built into the native kernel concepts allows for Zephyr RTOS to connect with nearly any sensor or network hub.
Supported by some of the largest software and hardware developers such as Analog Devices, Google, Nordic Semiconductor, NEXP and Meta. The Zephyr RTOS project is one of the most popular open source RTOS projects.
Fully supported on Windows, macOS and Linux operating systems with long term support versions for over 2 years.
Zephyr RTOS:
SparkFun's Thing Plus Matter – MGM240P enables fast prototyping and development of Matter-based IoT devices.
Nordic Thingy:53 IoT Prototyping Platform
Nordic Semiconductor's Nordic Thingy:53 leverages integrated motion, sound, light, and environmental sensors to help build proofs of concept and prototypes.
The Raspberry Pi PicoBoard is a low-cost, yet flexible development board for the RP2040 microcontroller chip that Raspberry Pi has developed in-house.
Full listing of Zephyr RTOS compatible boards: https://docs.zephyrproject.org/latest/boards/index.html
FreeRTOS:
Microchip offers a wide range of PIC32 development tools, for Bluetooth, CAN bus, and audio codecs.
32-Bit STM32 F7 Series MCU with ARM® Cortex®-M7 Core
STMicroelectronics' STM32 F7 MCU series operates at frequencies up to 200 MHz and uses a 6-stage super-scalar pipeline and floating point unit (FPU) to produce up to 1000 CoreMarks.
AURIX™ TriCore™ 32-bit Microcontroller with Unified RISC Core
Infineon Technologies AURIX™ TriCore™ unified, single-core, 32-bit microcontroller DSP architecture is optimized for real-time embedded systems.
ESP32 Development Board - FireBeetle Series
The DFRobot FireBeetle development boards are based on the ESP32 module, including the ESP32, ESP32-S, and ESP32-C series.
Full listing of FreeRTOS compatible families: https://www.freertos.org/RTOS_ports.html

How to run the same C code on chips from multiple vendors
Golioth makes it easy to connect micrcontroller-based IoT devices to the cloud, making the data available on the cloud-side, and facilitating remote device management.

What is a Real-Time Operating System (RTOS)?
A real-time operating system (RTOS) is an operating system (OS) (often a lightweight OS) that runs multi-threaded applications and can meet real-time deadlines.

Real-Time Operating Systems (RTOS) and Their Applications
The term “real-time” in Real-Time Operating System (RTOS) indicates predictability/determinism in execution time rather than raw speed.
Embedded Security
Disclaimer: The below is a general / educational statement on embedded security, this information is not intended to replace actual security reviews or approvals needed for meeting security regulations.
Embedded systems are handling more sensitive data and are in control of more parts of our daily lives, with this, it increases the need for safe and secure devices. Embedded Security must be built into designs at the earliest stages as it no longer an option but a requirement for both consumer and marketplace protection.
As threats to embedded systems grow, a balanced approach to protect them is needed, with best practice software development and innovative hardware designs to keep threats at a distance and minimizing attack area.
Hardware Features
There are several hardware features that embedded systems can be designed with to offer increased security that are quickly becoming standard features:
- Root of Trust (RoT) - Including Hardware Security Module (HSM) or Trusted Platform Module (TPM) which are the foundation for secure operations. They do this by managing the 'keys', encrypting / decrypting (based on those keys), and validating the system integrity. These ensure secure boot process, which authenticates the firmware / software when the system is being powered on.
- Secure Data Storage - Includes tamper responsive storage (which will erase keys when intrusion is detected), or physically secure memory technologies that are resistant to common key retrieval attacks.
-
Hardware-Based Isolation - Trusted Execution Environments (TEEs) isolate processes (like authentication) within specified zones of the processor. Microkernel architectures can limit kernel-space operation, though they require hardware that can partition memory and isolate processes.
- Cryptographic Acceleration - Dedicated hardware for encryption / decryption, this frees the primary instruction pipeline in the processor to focus on the instructions unique to it.
- Sourcing / Key Provisioning - Secure provisioning (which injects keys within the manufacturing process to avoid exposure), and component traceability (which can be obtained by purchasing parts through authorized resellers, can ensure the parts have not been tampered with).
- Secure Boot - Uses cryptographic functions to confirm and verify that both application code and metadata are correct and untampered with, typically reading from a Read only memory or flash-based memory with a level of write protection this used to ensure authenticated firmware/software.
- Random Number Generation - Secure hardware-based entropy sources for cryptographic operations. Random Number Generator are used to create unpredictable keys and other variables used in cryptographic functions. These can either be classified as a true random using a physical source of entropy such as temperature sensor or voltage monitor, or pseudo random which uses a seed to generate a determinative set of values.
As the image below represents, security is a multi layer protection with Hardware controls of keys at the center, Firmware and Secure Boot, Operating System and finally Application Software each providing a layer of security built on top of the other layers.

Renesas’ RA6M5 32-bit high-performance 200 MHz Arm® Cortex®-M33 core microcontrollers with TrustZone®, security enhancements, and CAN FD.
Embedded Security Solutions with dsPIC33 DSCs and PIC24 MCUs
Microchip's embedded security solutions combine dsPIC33 DSCs and PIC24 MCUs with CryptoAuthentication™ and CryptoAutomotive™ ICs to provide robust security.
STMicroelectronics' STM32H7R7/S7 scalable and secure bootflash microcontroller is designed for industrial, medical, and consumer applications.
ECC204 Secure Authentication IC
Microchip's ECC204 secure authentication ICs are targeted for disposable and ecosystem control applications.
Security Products for Medical Disposables
Analog Devices' crypto-strong, cost-effective portfolio of DeepCover® secure authenticators and 1-Wire® memory devices protect medical disposables.

Why to use a Standalone RNG
Can you recognize the need for a standalone Random Number Generator in your design? What are the benefits and drawbacks?
Attack Vectors
Each application will have its own threat profile or attack surface. For example, devices out in the public domain have additional concerns around individuals being within the physical proximity of the device (this could lead to concerns around side channel attacks). The amount of focus given to the different attack vectors (listed below) will be based on the application of the system.
- Malware – Computer virus that can be introduced by fake updates, drivers, or patches. Malware can be used for attackers to gain unauthorized access to a system.
- Brute Force – By guessing all possible combinations of weak or common passwords to break into systems.
- Man in the Middle (MitM) – Intercepting (or altering) communications between devices on the same network.
- Denial of Service (DoS) – Sending an overwhelming flood of fake requests or data to a system to overwhelm it and disable from processing useful requests.
- Side Channel – Attacking and compromising cryptographic keys inferred by power, timing, or electromagnetic analysis of the actual physical circuit components.
- Counterfeit Parts – Fake parts can contain malicious code and firmware backdoors for others to access your system without your authorization.
What security hygiene can embedded developers employ? View Answer
- Do not use default passwords
- Only buy certified parts from certified distributors
- Only download certified software
Regulations and the European Cyber Resilience Act (CRA)
As cybersecurity becomes an important feature for both protection of personal and business data, a few government regulations have been created to provide a framework for future development.
The European Cyber Resilience Act (CRA) raises the standards for Embedded Security. These are standards that are mandated for all digital products (which include embedded systems) sold within the European Union (EU).
-
Security designed in early in product life cycle and maintained throughout the lifecycle – Security features (like secure boot, access controls, and encryption) needs to be included from the initial phase, and not security as an after-thought.
- Justification of security choices – Mandatory comprehensive risk assessment to identify vulnerabilities. Designers then must justify security choices made, balancing the feasibility and risk impact.
- Component verification – Hardware and software needs to be verified to prevent introduction of vulnerabilities.
US Cyber Trust Mark was launched by the United States Federal Communications commission as a voluntary program that manufactures of wireless IOT devices (such as cameras, smart speakers, and wearable devices) have security guidelines allowing the Cyber Trust mark to be printed on the packaging with scannable QR code.
IEC 62443 is series of standards that define security for industrial automation control systems, launched in the early 2000’s and is updated by both the International Electrotechnical Commission (IEC) and International Society of Automation (ISA).

Webinar: Cybersecurity rules are changing. Here's how to stay ahead!
Cyber threats are becoming increasingly sophisticated, and businesses must adapt to the latest security requirements to protect sensitive data and maintain trust. This webinar will delve into the changing landscape of security regulations, including the recently introduced Cyber Resilience Act (CRA).
Embedded Attributes
DigiKey has parametric filters to help you find right sizing on these attributes. Most of these parametric data features are common with Microcontrollers, some other embedded systems like FPGAs may not have the same nomenclature.
Core Size
Core Size refers to the width of the data bus within a system. The size of the core determines the amount of data able to be processed during a clock cycle.
Most embedded systems are 8-bit, 16-bit, or 32-bit architectures, however microprocessors for computers currently run 64-bit.
Memory
Most modern microcontrollers have some amount of memory and storage built into the integrated circuit package. Each type of memory has a unique purpose.
-
Flash memory - used for the program memory, this is a location to store the code that runs the system. It is a type of non-volatile storage (meaning it will not get erased if the microcontroller is reset or powered down).
- EEPROM – used for the data memory, and often saves configuration settings. It is a type of non-volatile memory (meaning it will not get erased if the microcontroller is reset or powered down).
- SRAM – used for data memory. It is a type of volatile memory (meaning it will get erased if the microcontroller is reset or powered down).
Clock Source
Microcontrollers may contain internal Resistor-Capacitor circuit oscillators (RC oscillators) or depend on some type of external frequency source to keep time and cycles consistent.
- RC Oscillators - temperature dependent, and the clock signals can vary 1-5%. They do work in some slower frequency timing needs (for example, low frequency analog-to-digital conversion).
- Crystals - common for external oscillators circuits. Excellent stability and precision with the clock signal. Crystal oscillators generally measure their variation in parts per million (PPM) instead of percentage (like RC Oscillators do).
- Ceramic resonators has a tolerance in the range of a tenth of a percent.
- Passive RC Oscillators - while temperature variation can be better controlled once off the microcontroller, there's still variation caused by changes in the power supply level and electrical interference to take into consideration, which is a higher order impact and makes this the least accurate of the external oscillators.
Timers
Timers can either be counting to a limit or counting down to zero. There can be multiple timers on a microcontroller, including general purpose timers, and watchdog timers. Timers are generally connected to the Main CPU Clock (often labeled HCLK in the data sheet) and divided by a prescaler.
General Purpose Input and Output (GPIO)
General Purpose Input and Output (GPIO) pins allow you to connect with the real world and interface with external components. These are typically programmable ports on the outside of the IC package and can be used to either acts as inputs or outputs for the system.
- Inputs – Buttons, actuators, and sensors
- Outputs – LED lights, buzzers, relays, and displays
Analog-to-digital converter (ADC)
In order to more easily interface with external analog circuits that embedded systems have, most microcontrollers have some basic Analog-to-digital converter (ADC) circuity build into the package. Although Nyquist theorem says in order to accurately reproduce a pure sine wave, the sampling frequency must be double the rate of the incoming signal. A safer practice is taking the max frequency that you want to capture from the source and multiplying by 10 for the frequency to sample at.
Note: the voltage on the ADC can run at a different voltage than the other IOs (consult the data sheet for more info). It's good to be aware of this to avoid burning out the IOs.

Basics of Oscillators
Timing is critical in nearly every electronic application in the world. Oscillators are used in various applications including controlling the timing in microprocessors, MCUs, SoCs, and many other things.

Understand Crystal Oscillator Parameters to Optimize Component Selection
The crystal oscillator is the timing pulse of most circuits; its performance is characterized by parameters and perspectives matched to the application.

Getting Started with STM32 - Timers and Timer Interrupts
How to configure a timer using STM32CubeIDE, use it to measure execution time, and set up non-blocking code.
Microprocessor
A Microprocessor Unit (MPU) is often thought of as the brains of the system. It is an Integrated Circuit (IC) that contains the logic where code runs, data is retrieved / sent to memory, and math is applied on the data.
Microprocessor can typically be found in servers, workstations desktops, and laptop computers. To get the most out of microprocessor-based designs, a General-Purpose Operating System will typically be included as well, further driving up memory and storage requirements.
Although MPUs are very performant, and have high clock cycles, the price is also much higher than a microcontroller.
When working with a Microprocessor, one usually looks to the socket type and finds compatible boards, which have communication and memory management chips built in.
When designing with a Microprocessor, it is also important to know the Instruction Set Architectures (RISC-V, x86, and ARM).
Where do Microprocessors get used? View Answer
- Servers
- Computers, including laptops
- Mobile devices
- Video game counsel

Becky Stern Blog & Video on Arduino vs. Raspberry Pi
Today we’re learning the difference between microcontrollers and single-board computers or SBCs. It’s common for beginners to ask, “Which processor type is right for a particular DIY electronics project, Arduino or Raspberry Pi?”

Microprocessor vs. Microcontroller: Unveiling Distinctions
Microprocessors and microcontrollers represent distinct components in the realm of digital computing, each tailored to specific applications and use cases.

Use a Multicore Processor to Build Low-Power Media-Rich Smart Products
Use the NXP i.MX 8M Mini family with its 14 nm FinFET process for high performance applications and real-time embedded processing for smart products.
Microcontroller (MCU)
While a microcontroller is lower performance than a microprocessor, it does have more of the system integrated within it, and it comes at a reduced price point.
Microcontrollers typically contain the processing circuitry, some amount of flash-based storage and Random Access Memory (RAM) for processing. The design is compact and efficient, it contains a range of peripheral interface circuity as well (like GPIOs and ADCs).
Whereas standalone Microprocessors generally run GPOS, a Microcontroller will run an RTOS: Real-time operating system (RTOS)
Where do Microcontrollers get used? View Answer
- Vending machines
- Medical devices
- Home appliances
- Robots
STM32 Family of Microcontrollers from ST Microelectronics
The STM32 Family of Microcontrollers from ST Microelectronics is one of the most popular microcontroller families. It combines ARM processing cores, Flash memory, static RAM along with a wide selection of peripheral in one package allows nearly any version of the STM32 to be a flexible component in many applications. The first generation of STM32 was release in 2007 and has gone under several design revisions since then. With Clock speed ranging from 48 MHZ to over 400 MHZ in the newest edition there is a part in the family for nearly every application.
Here are some reference specifications for a first generation STM32 microcontroller:
- Core: 32-Bit Single-Core ARM® Cortex®-M3 operating at 72 MHz.
- Connectivity: CANbus, I²C, IrDA, LINbus, SPI, UART/USART, USB
- Data converters: Analog to Digital - 10 Channels (at 12-bit resolution)
- Program Memory Size: 64KB (64K x 8) of Flash Memory
- RAM Size: 20K x 8
MSP430 Family of Microcontrollers from Texas Instruments
The MSP430 Family of Microcontrollers from Texas Instruments is a line of low power and low cost 16-bit microcontrollers. First introduced in 1992, the MSP430 line has continually been updated and improved to incorporate the latest technologies from Texas instruments such as FRAM (Ferromagnetic memory) and other peripheral devices. Optimize for a more industrial environment, the MSP430 may not have every modern feature but their low power consumption and stability make it very popular for the right applications.
Here are some reference specifications for a third-generation low power variant:
- Core: 16-Bit MSP430 CPU16 operating at 16 MHz.
- Connectivity: Channels for I²C, SPI, USI
- Data converters: Analog to Digital - 8 Channels (at 10-bit resolution)
- Program Memory Size: 8KB (8K x 8) of Flash memory
- RAM Size: 256 x 8
ATMEGA328 Family of Microcontrollers from Microchip Technology
The ATMEGA328 Family of Microcontrollers from Microchip remain an extremely popular line of 8-bit microcontrollers where simple, low power consumption and low cost is needed more than raw computational power. With a Clock speed of 20 MHz, 32 KB of flash memory and 2 KB of Static RAM.
The ATMEGA328 line has found success in applications that require a simple 8-bit microcontroller without the complexity or cost of more advanced models. This has led it to be the heart of the Arduino development boards for over 20 years.
Here are some representative specifications of a first generation ATMEGA328 microcontroller:
- Core: 8-Bit AVR operating at 20 MHz.
- Connectivity: I²C, SPI, UART/USART
- Data converters: Analog to Digital - 6 Channels (at 10-bit resolution)
- Program Memory Size: 32KB (16K x 16) of Flash Memory
- RAM Size: 2K x 8

Arduino Basics - Electronics with Becky Stern
Learn the very basics of Arduino – what is it, how to get started building circuits, and coding for electronics. Becky Stern shows you how to wire up a simple breadboard circuit and blink an LED with Arduino code.

Accelerated Optical Heart Rate Sensing With the MCX N94 Microcontroller
The MCX N94 MCU from NXP, however, has an integrated DSP accelerator which allows this algorithm to execute quickly and affords greater flexibility to the embedded designer.

Audio Processing with STM32
STMicroelectronics STM32H735 has just been released. It is a new entry in their high-performance ARM Cortex-M7 line.

Getting Started with the Raspberry Pi Pico Multicore Microcontroller Board Using C
Using the Raspberry Pi Pico development board for the RP2040 MCU, developers can quickly get applications up and running.

The 8-bit Microcontroller Is Still a Great Option for Low-Power and Ease of Use
8-bit microcontrollers are still around because they are low-power, rugged, easy to use and have fast development times.

Securing Embedded Systems using the PSoC 64
Security for embedded systems is complex, but it doesn’t have to be difficult to implement; a look at the PSoC 64 microcontroller and its tools shows why.
Digital Signal Processor (DSP) / Digital Signal Controller (DSC)

Digital Signal Processors (DSP) are embedded microprocessors that are designed for applications that require high speed digital signal processing, such as audio, video, or real time positioning processing. Typically, DSP chips have high resolution Analog Digital Converter (ADC) and Digital Analog Converter (DAC) along with the ability for digital filtering capabilities which can be programmed by the developer to suit the application.

Digital Signal Controllers (DSC) can be considered as a specialized mix between digital signal processors (DSP) and microcontrollers.
DSCs will often include features found in microcontrollers, such as Watchdog timers, pulse width modulation channels and the ability to be programed in a low-level language such as C programming language or native hardware assembly language.
Digital Signal Controllers will also include the core architecture and features of DSPs such as powerful Analog Digital Converters channels, data shift matrixes, and implementations of Finite Impulse Response filters, not commonly found in most MCU features.

DSP (Digital Signal Processors)
This Product Selection Guide contains information to help select products in the DSP (Digital Signal Processors) category on DigiKey.com

How to Improve Personal Sound Amplification Product (PSAP) Performance and Efficiency
The performance of PSAPs can be improved by mitigating the comb effect using anti-noise signals generated by advanced codecs such as the MAX98050.

How to Use a Drop-In Solution to Speed Development of Sophisticated Occupancy Monitoring Designs
Designers can quickly implement occupancy monitoring using a drop-in kit based on a proprietary algorithm running on a low-power digital signal processor.
Field Programmable Gate Array (FPGA)

Field Programmable Gate Arrays (FPGAs) are semiconductor devices that are based around a collection of Configurable Logic Blocks (CLBs) connected with user programable interconnects. These CLB and connections between them make them able to be reprogrammed to fit applications and add functionality after leaving the factory.
FPGA's rugged construction and rapid computational speed make them very attractive in harsh environments or where more Applications Specific Integrated Circuits (ASICs) would be too expensive to set up.
While most FPGAs can be reprogramed many times due to Static Random Access Memory (SRAM) based memory, One Time Programmable (OTP) options do exist.
FPGAs typically have a higher price per unit compared to other embedded options. Also, development boards sometimes require specialized software.
Where do FPGAs get used? View Answer
- Networking equipment
- Signal processing for cell tower
- Vision systems in cars
- Defense guidance systems
What are soft-core and hard-core FPGAs? View Answer
A hard-core FPGA has a fixed / static microprocessor unit (MPU) included. This results in a faster, more performant processor. The hard-core processor cannot be reconfigured (as it's a predefined piece of silicon).
A soft-core FPGA has a processor implemented using the FPGA fabric. It generally runs slower, consumes more power, and is larger in size than a hard-core FPGA. It is however reconfigurable and can be suitable for more customized needs.
Spartan™ 7 SP701 FPGA Evaluation Kit
AMD's Spartan™ 7 SP701 FPGA evaluation kit is built for designs requiring sensor fusion such as industrial networking, embedded vision, and auto applications.
Altera Agilex™ 5 FPGA E-Series 065B modular development kits deliver a complete prototyping and reference platform design environment.
Titanium Ti180 M484 FPGA Development Kit
Efinix's Titanium Ti180 M484 development kit is ideal for capturing video, aggregating sensor data, or designing for mobile or IoT applications.

FPGAs 101: A Beginner’s Guide
A brief introduction of Field Programmable Gate Arrays (FPGAs) and how to use them in an application.

Add a Dash of FPGA to Arduino and Raspberry Pi Dev Board Mix
You really need to design, fabricate, and solder up a prototype pc board, and who has time for that if there are better (faster and lower cost) alternatives?

Implement Low-Power, High-Performance Edge Computing Using Efinix’s Quantum-Enabled FPGAs
Designers are looking beyond traditional microcontrollers (MCUs) or application processors (APs) and considering field-programmable gate arrays (FPGAs) with their parallel processing capabilities.
Single Board Computer (SBC)

Single Board Computers (SBC) offer both computational power and processing speed in a compact form factor. Like the name suggests SBCs are a complete microprocessor-based computer that has been shrunk down and compacted onto a single circuit board, typically only a few inches to a side.
Along With a common ARM or x86 based microprocessor core, these boards typically run a full General-Purpose Operating System (GPOS) most often a Linux distribution but there are other boards that can run the Android mobile device operating system or Windows 10 /11 Operating system.
With their small size they typically can't compete with modern desktop computers or workstations some newer boards are still capable of reaching up to 1 GHz of clock speed with up to 8 GB of Ram memory
SBC low price point and computational power has made them very attractive for a range of applications, from educational and maker spaces to industrial and aerospace applications. In a range of board sizes and interfacing options there is bound to be an SBC in some form factor that would be suitable for your application.
SBC Downsides
While these are powerful and flexible boards, there are several drawbacks that need to be considered before dropping an SBC into your project.
The first of which is that most SBC are not a simple plug and play platform and do require a setup process that often requires an external computer to fully set up and install operating system software from an external source.
There are also several peripherals that would need to be considered as well, a monitor, keyboard, external storage devices, adequate power supply and cabling often need to be purchased separately.

Improve Factory Safety and Productivity by Quickly Adding Machine Vision to Industrial Systems
Machine vision with object depth sensing can be easily added to industrial systems, improving safety, productivity, and efficiency.

How to Use the New Raspberry PI Network Installation Feature
Initiate the flashing process over your home network using a beta bootloader, simply connect your Pi to your network and click a button in the imager app.

Install Home Assistant and Set Up a Cost-Effective Smart Home Hub
Let’s take a look at the installation and setup process of Home Assistant OS on a cost and power-effective x86 single-board computer.

Getting Started with the Raspberry Pi Zero 2 W
The Zero 2 W is an impressive single-board computer perfect for IoT and robotics projects. Follow this guide to get your board up and running quickly and easily.

Single Board Computer - Resource Center
Single Board Computers (SBC) provide the connectivity needed for your IoT application from ethernet to Wi-Fi & more. Browse DigiKey’s large selection of SBCs today!
Products
Development Boards, Kits, Programmers
Analog to Digital Converters (ADCs) Evaluation Boards 1646 Items
Audio Amplifier Evaluation Boards 718 Items
DC/DC & AC/DC (Off-Line) SMPS Evaluation Boards 7272 Items
Digital to Analog Converters (DACs) Evaluation Boards 711 Items
Embedded Complex Logic (FPGA, CPLD) Evaluation Boards 707 Items
Embedded MCU, DSP Evaluation Boards 4521 Items
Evaluation and Demonstration Boards and Kits 14318 Items
Expansion Boards, Daughter Cards 7310 Items
LED Driver Evaluation Boards 1498 Items
Linear Voltage Regulator Evaluation Boards 930 Items
Op Amp Evaluation Boards 1050 Items
Programmers, Emulators, and Debuggers 1060 Items
Application Specific Microcontrollers 1527 Items
CPLDs (Complex Programmable Logic Devices) 3333 Items
DSP (Digital Signal Processors) 2661 Items
FPGAs (Field Programmable Gate Array) 16185 Items
FPGAs (Field Programmable Gate Array) with Microcontrollers 39 Items
Microcontrollers, Microprocessor, FPGA Modules 1142 Items